chore: refactor with spa boilerplate
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..b09cd78
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,201 @@
+Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/README.md b/README.md
index 5129295..1b5ae79 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,3 @@
-# Vue 3 + Typescript + Vite
+# Apache ECharts Bar-racing Charts Generator
 
-This template should help get you started developing with Vue 3 and Typescript in Vite.
-
-## Recommended IDE Setup
-
-[VSCode](https://code.visualstudio.com/) + [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur). Make sure to enable `vetur.experimental.templateInterpolationService` in settings!
-
-### If Using `<script setup>`
-
-[`<script setup>`](https://github.com/vuejs/rfcs/pull/227) is a feature that is currently in RFC stage. To get proper IDE support for the syntax, use [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar) instead of Vetur (and disable Vetur).
-
-## Type Support For `.vue` Imports in TS
-
-Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can use the following:
-
-### If Using Volar
-
-Run `Volar: Switch TS Plugin on/off` from VSCode command palette.
-
-### If Using Vetur
-
-1. Install and add `@vuedx/typescript-plugin-vue` to the [plugins section](https://www.typescriptlang.org/tsconfig#plugins) in `tsconfig.json`
-2. Delete `src/shims-vue.d.ts` as it is no longer needed to provide module info to Typescript
-3. Open `src/main.ts` in VSCode
-4. Open the VSCode command palette 5. Search and run "Select TypeScript version" -> "Use workspace version"
+This is a tool to generate bar-racing charts with Apache ECharts.
diff --git a/_body.html b/_body.html
new file mode 100644
index 0000000..fddd0ab
--- /dev/null
+++ b/_body.html
@@ -0,0 +1,3 @@
+<!-- Body HTML that will be final deployed -->
+<div id="echarts-spa-app"></div>
+<script type="module" src="./src/main.ts"></script>
diff --git a/config/common.js b/config/common.js
new file mode 100644
index 0000000..e180b24
--- /dev/null
+++ b/config/common.js
@@ -0,0 +1,2 @@
+module.exports = {
+};
\ No newline at end of file
diff --git a/config/env.asf.js b/config/env.asf.js
index f434a9d..fc57095 100644
--- a/config/env.asf.js
+++ b/config/env.asf.js
@@ -1,6 +1,6 @@
 const path = require('path');
+const common = require('./common');
 
 module.exports = {
-    releaseDestDir: path.resolve(__dirname, '../../echarts-website'),
-    ecWWWGeneratedDir: path.resolve(__dirname, '../../echarts-www/_generated')
+    ...common
 };
diff --git a/config/env.dev.js b/config/env.dev.js
new file mode 100644
index 0000000..80f9adf
--- /dev/null
+++ b/config/env.dev.js
@@ -0,0 +1,6 @@
+const path = require('path');
+const common = require('./common');
+
+module.exports = {
+    ...common
+};
\ No newline at end of file
diff --git a/config/env.localsite.js b/config/env.localsite.js
new file mode 100644
index 0000000..80f9adf
--- /dev/null
+++ b/config/env.localsite.js
@@ -0,0 +1,6 @@
+const path = require('path');
+const common = require('./common');
+
+module.exports = {
+    ...common
+};
\ No newline at end of file
diff --git a/index.html b/index.html
index 11603f8..40144b3 100644
--- a/index.html
+++ b/index.html
@@ -1,13 +1,68 @@
 <!DOCTYPE html>
 <html lang="en">
-  <head>
-    <meta charset="UTF-8" />
-    <link rel="icon" href="/favicon.ico" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Vite App</title>
-  </head>
-  <body>
-    <div id="app"></div>
-    <script type="module" src="/src/main.ts"></script>
-  </body>
+    <head>
+        <meta charset="UTF-8" />
+        <link rel="icon" href="/favicon.ico" />
+        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+        <title>ECharts WWW SPA Boilerplate</title>
+        <style>
+            body {
+                padding: 0;
+                margin: 0;
+            }
+            #header {
+                position: relative;
+                background-color: #fff;
+                z-index: 10000;
+                height: 50px;
+                box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
+            }
+            #header .logo {
+                height: 35px;
+                margin-top: 7px;
+                margin-left: 20px;;
+            }
+            #header .lang {
+                float: right;
+                margin-right: 20px;
+                line-height: 50px;
+            }
+            #page-main {
+                position: absolute;
+                top: 50px;
+                left: 0;
+                right: 0;
+                bottom: 0;
+            }
+        </style>
+    </head>
+    <body>
+        <div id="header">
+            <img src="https://cdn.jsdelivr.net/gh/apache/echarts-website@asf-site/zh/images/logo.png?_v_=20200710_1" class="logo" />
+            <a class="lang" href="./">EN</a>
+        </div>
+        <div id="page-main">
+            <div id="echarts-spa-app"></div>
+        </div>
+        <script>
+            (function () {
+                var search = window.location.search.substr(1);
+                var parts = search.split('&');
+                var params = {};
+                parts.forEach(function (part) {
+                    var kv = part.split('=');
+                    params[kv[0]] = kv[1];
+                });
+
+                var locale = params.locale || navigator.language || navigator.userLanguage || 'en';
+                // zh / en
+                window.ECHARTS_WEBSITE_LANGUAGE = locale;
+
+                var otherLocale = locale === 'en' ? 'zh' : 'en';
+                document.querySelector('#header .lang').innerHTML = otherLocale.toUpperCase();
+                document.querySelector('#header .lang').href = 'index.html?locale=' + otherLocale;
+            })();
+        </script>
+        <script type="module" src="./src/main.ts"></script>
+    </body>
 </html>
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..f47f098
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,4265 @@
+{
+    "name": "echarts-www-spa-boilerplate",
+    "version": "0.0.1",
+    "lockfileVersion": 1,
+    "requires": true,
+    "dependencies": {
+        "@babel/helper-validator-identifier": {
+            "version": "7.14.0",
+            "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.0.tgz?cache=0&sync_timestamp=1619727412592&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.0.tgz",
+            "integrity": "sha1-0mytikfGUoaxXfFUcxml0Lzycog="
+        },
+        "@babel/parser": {
+            "version": "7.14.3",
+            "resolved": "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.14.3.tgz?cache=0&sync_timestamp=1621284389691&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.14.3.tgz",
+            "integrity": "sha1-m1MO7LBx/QyTUZ3yXF/58UdZ8pg="
+        },
+        "@babel/types": {
+            "version": "7.14.2",
+            "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.2.tgz",
+            "integrity": "sha1-QgiuADEH74oFfqgzPlbrZNL2osM=",
+            "requires": {
+                "@babel/helper-validator-identifier": "^7.14.0",
+                "to-fast-properties": "^2.0.0"
+            }
+        },
+        "@emmetio/abbreviation": {
+            "version": "2.2.2",
+            "resolved": "https://registry.npm.taobao.org/@emmetio/abbreviation/download/@emmetio/abbreviation-2.2.2.tgz",
+            "integrity": "sha1-dGdi/Z56jC6mBPWAxi48/iUOaYk=",
+            "dev": true,
+            "requires": {
+                "@emmetio/scanner": "^1.0.0"
+            }
+        },
+        "@emmetio/css-abbreviation": {
+            "version": "2.1.4",
+            "resolved": "https://registry.npm.taobao.org/@emmetio/css-abbreviation/download/@emmetio/css-abbreviation-2.1.4.tgz",
+            "integrity": "sha1-kDYuihEizjt29sMVeQfTAYL1P1Q=",
+            "dev": true,
+            "requires": {
+                "@emmetio/scanner": "^1.0.0"
+            }
+        },
+        "@emmetio/scanner": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/@emmetio/scanner/download/@emmetio/scanner-1.0.0.tgz",
+            "integrity": "sha1-Blsq9iM/50dNRII+PeuJckr0K18=",
+            "dev": true
+        },
+        "@intlify/core-base": {
+            "version": "9.1.6",
+            "resolved": "https://registry.npm.taobao.org/@intlify/core-base/download/@intlify/core-base-9.1.6.tgz",
+            "integrity": "sha1-iH++r+N9lVusUDGPMKxYmDnw2fs=",
+            "requires": {
+                "@intlify/devtools-if": "9.1.6",
+                "@intlify/message-compiler": "9.1.6",
+                "@intlify/message-resolver": "9.1.6",
+                "@intlify/runtime": "9.1.6",
+                "@intlify/shared": "9.1.6",
+                "@intlify/vue-devtools": "9.1.6"
+            }
+        },
+        "@intlify/devtools-if": {
+            "version": "9.1.6",
+            "resolved": "https://registry.npm.taobao.org/@intlify/devtools-if/download/@intlify/devtools-if-9.1.6.tgz",
+            "integrity": "sha1-c5sZXkMOJPv4+GTsilHiQ+M0c4U=",
+            "requires": {
+                "@intlify/shared": "9.1.6"
+            }
+        },
+        "@intlify/message-compiler": {
+            "version": "9.1.6",
+            "resolved": "https://registry.npm.taobao.org/@intlify/message-compiler/download/@intlify/message-compiler-9.1.6.tgz",
+            "integrity": "sha1-4+mRZcHm7MSWIRAXeZrlnhWwWhg=",
+            "requires": {
+                "@intlify/message-resolver": "9.1.6",
+                "@intlify/shared": "9.1.6",
+                "source-map": "0.6.1"
+            }
+        },
+        "@intlify/message-resolver": {
+            "version": "9.1.6",
+            "resolved": "https://registry.npm.taobao.org/@intlify/message-resolver/download/@intlify/message-resolver-9.1.6.tgz",
+            "integrity": "sha1-10k8nzJtX+sM2FOKZzW2SKkdjy8="
+        },
+        "@intlify/runtime": {
+            "version": "9.1.6",
+            "resolved": "https://registry.npm.taobao.org/@intlify/runtime/download/@intlify/runtime-9.1.6.tgz",
+            "integrity": "sha1-vxVI2QNMgO75KwayQMs0fv+0H3E=",
+            "requires": {
+                "@intlify/message-compiler": "9.1.6",
+                "@intlify/message-resolver": "9.1.6",
+                "@intlify/shared": "9.1.6"
+            }
+        },
+        "@intlify/shared": {
+            "version": "9.1.6",
+            "resolved": "https://registry.npm.taobao.org/@intlify/shared/download/@intlify/shared-9.1.6.tgz",
+            "integrity": "sha1-0DyTAYmNbd/+KlTAPnZkF0+839k="
+        },
+        "@intlify/vue-devtools": {
+            "version": "9.1.6",
+            "resolved": "https://registry.npm.taobao.org/@intlify/vue-devtools/download/@intlify/vue-devtools-9.1.6.tgz",
+            "integrity": "sha1-iPqt8gOVGioQEHRA+pm1j0Y31A0=",
+            "requires": {
+                "@intlify/message-resolver": "9.1.6",
+                "@intlify/runtime": "9.1.6",
+                "@intlify/shared": "9.1.6"
+            }
+        },
+        "@nodelib/fs.scandir": {
+            "version": "2.1.4",
+            "resolved": "https://registry.npm.taobao.org/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.4.tgz?cache=0&sync_timestamp=1609074524347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.scandir%2Fdownload%2F%40nodelib%2Ffs.scandir-2.1.4.tgz",
+            "integrity": "sha1-1LNUml213iaD4MEHGrTxQJBLv2k=",
+            "dev": true,
+            "requires": {
+                "@nodelib/fs.stat": "2.0.4",
+                "run-parallel": "^1.1.9"
+            }
+        },
+        "@nodelib/fs.stat": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.4.tgz?cache=0&sync_timestamp=1609074523193&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-2.0.4.tgz",
+            "integrity": "sha1-o/LdYbq0O424+hCKEhz//kxnZlU=",
+            "dev": true
+        },
+        "@nodelib/fs.walk": {
+            "version": "1.2.6",
+            "resolved": "https://registry.npm.taobao.org/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.6.tgz",
+            "integrity": "sha1-zOk5azCqWv6eN1Zgj1gxrctT0GM=",
+            "dev": true,
+            "requires": {
+                "@nodelib/fs.scandir": "2.1.4",
+                "fastq": "^1.6.0"
+            }
+        },
+        "@popperjs/core": {
+            "version": "2.9.2",
+            "resolved": "https://registry.npm.taobao.org/@popperjs/core/download/@popperjs/core-2.9.2.tgz?cache=0&sync_timestamp=1617290324040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40popperjs%2Fcore%2Fdownload%2F%40popperjs%2Fcore-2.9.2.tgz",
+            "integrity": "sha1-rep7aVPLs0ZRdmsFSEaOdDxqI1M="
+        },
+        "@sindresorhus/is": {
+            "version": "0.14.0",
+            "resolved": "https://registry.nlark.com/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz",
+            "integrity": "sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o=",
+            "dev": true
+        },
+        "@starptech/expression-parser": {
+            "version": "0.10.0",
+            "resolved": "https://registry.nlark.com/@starptech/expression-parser/download/@starptech/expression-parser-0.10.0.tgz",
+            "integrity": "sha1-X6TS/Qs2zRSh9Kw9yxdtEj+dnjc=",
+            "dev": true
+        },
+        "@starptech/hast-util-from-webparser": {
+            "version": "0.10.0",
+            "resolved": "https://registry.nlark.com/@starptech/hast-util-from-webparser/download/@starptech/hast-util-from-webparser-0.10.0.tgz",
+            "integrity": "sha1-w61j6u+43Qe1vfYv9ZcYk+hlt1o=",
+            "dev": true,
+            "requires": {
+                "@starptech/prettyhtml-hastscript": "^0.10.0",
+                "@starptech/webparser": "^0.10.0",
+                "property-information": "^5.1.0"
+            }
+        },
+        "@starptech/prettyhtml": {
+            "version": "0.10.0",
+            "resolved": "https://registry.nlark.com/@starptech/prettyhtml/download/@starptech/prettyhtml-0.10.0.tgz",
+            "integrity": "sha1-h4FLKR8QSlNJr/W5NHazDGqba84=",
+            "dev": true,
+            "requires": {
+                "@starptech/prettyhtml-formatter": "^0.10.0",
+                "@starptech/prettyhtml-sort-attributes": "^0.10.0",
+                "@starptech/rehype-webparser": "^0.10.0",
+                "@starptech/webparser": "^0.10.0",
+                "meow": "^5.0.0",
+                "prettier": "^1.18.2",
+                "rehype-sort-attribute-values": "^2.0.1",
+                "unified": "^7.1.0",
+                "unified-engine": "^6.0.1",
+                "update-notifier": "^3.0.0",
+                "vfile": "^4.0.1",
+                "vfile-reporter": "^6.0.0"
+            }
+        },
+        "@starptech/prettyhtml-formatter": {
+            "version": "0.10.0",
+            "resolved": "https://registry.nlark.com/@starptech/prettyhtml-formatter/download/@starptech/prettyhtml-formatter-0.10.0.tgz",
+            "integrity": "sha1-WwZOSN9FdDF53O3Sfgm6asLd6yA=",
+            "dev": true,
+            "requires": {
+                "@starptech/expression-parser": "^0.10.0",
+                "@starptech/prettyhtml-hast-to-html": "^0.10.0",
+                "@starptech/rehype-minify-whitespace": "^0.10.0",
+                "@starptech/rehype-webparser": "^0.10.0",
+                "@starptech/webparser": "^0.10.0",
+                "hast-util-is-element": "^1.0.3",
+                "hast-util-to-string": "^1.0.2",
+                "html-void-elements": "^1.0.4",
+                "html-whitespace-sensitive-tag-names": "^1.0.1",
+                "is-hidden": "^1.1.2",
+                "prettier": "^1.18.2",
+                "repeat-string": "^1.6.1",
+                "to-vfile": "^6.0.0",
+                "unified": "^7.1.0",
+                "unist-util-find": "^1.0.1",
+                "unist-util-is": "^2.1.3",
+                "unist-util-visit-parents": "^2.1.2",
+                "xtend": "^4.0.1"
+            }
+        },
+        "@starptech/prettyhtml-hast-to-html": {
+            "version": "0.10.0",
+            "resolved": "https://registry.nlark.com/@starptech/prettyhtml-hast-to-html/download/@starptech/prettyhtml-hast-to-html-0.10.0.tgz",
+            "integrity": "sha1-gjl83XUac3+saNZtoj8rOmOAAEA=",
+            "dev": true,
+            "requires": {
+                "ccount": "^1.0.4",
+                "comma-separated-tokens": "^1.0.7",
+                "hast-util-is-element": "^1.0.3",
+                "hast-util-whitespace": "^1.0.3",
+                "html-void-elements": "^1.0.4",
+                "html-whitespace-sensitive-tag-names": "^1.0.1",
+                "property-information": "^5.1.0",
+                "repeat-string": "^1.6.1",
+                "space-separated-tokens": "^1.1.4",
+                "stringify-entities": "^2.0.0",
+                "unist-util-is": "^2.1.3",
+                "xtend": "^4.0.1"
+            }
+        },
+        "@starptech/prettyhtml-hastscript": {
+            "version": "0.10.0",
+            "resolved": "https://registry.nlark.com/@starptech/prettyhtml-hastscript/download/@starptech/prettyhtml-hastscript-0.10.0.tgz",
+            "integrity": "sha1-E1riMobgC3JfQDmMXE1clWujT8Y=",
+            "dev": true,
+            "requires": {
+                "comma-separated-tokens": "^1.0.7",
+                "hast-util-parse-selector": "^2.2.2",
+                "property-information": "^5.1.0",
+                "space-separated-tokens": "^1.1.4"
+            }
+        },
+        "@starptech/prettyhtml-sort-attributes": {
+            "version": "0.10.0",
+            "resolved": "https://registry.nlark.com/@starptech/prettyhtml-sort-attributes/download/@starptech/prettyhtml-sort-attributes-0.10.0.tgz",
+            "integrity": "sha1-e4yQGm0fNkaAgihPKZa08aK06iE=",
+            "dev": true,
+            "requires": {
+                "hast-util-has-property": "^1.0.3",
+                "unist-util-visit": "^1.4.1"
+            }
+        },
+        "@starptech/rehype-minify-whitespace": {
+            "version": "0.10.0",
+            "resolved": "https://registry.nlark.com/@starptech/rehype-minify-whitespace/download/@starptech/rehype-minify-whitespace-0.10.0.tgz",
+            "integrity": "sha1-SLFQCdncxFOeGgPjuFVbpbAgiUc=",
+            "dev": true,
+            "requires": {
+                "collapse-white-space": "^1.0.5",
+                "hast-util-embedded": "^1.0.4",
+                "hast-util-has-property": "^1.0.3",
+                "hast-util-is-body-ok-link": "^1.0.2",
+                "hast-util-is-element": "^1.0.3",
+                "html-whitespace-sensitive-tag-names": "^1.0.1",
+                "unist-util-is": "^2.1.3",
+                "unist-util-modify-children": "^1.1.4"
+            }
+        },
+        "@starptech/rehype-webparser": {
+            "version": "0.10.0",
+            "resolved": "https://registry.nlark.com/@starptech/rehype-webparser/download/@starptech/rehype-webparser-0.10.0.tgz",
+            "integrity": "sha1-oj0YgS+8o9QWsBDDBUFi394+01g=",
+            "dev": true,
+            "requires": {
+                "@starptech/hast-util-from-webparser": "^0.10.0",
+                "@starptech/webparser": "^0.10.0"
+            }
+        },
+        "@starptech/webparser": {
+            "version": "0.10.0",
+            "resolved": "https://registry.nlark.com/@starptech/webparser/download/@starptech/webparser-0.10.0.tgz",
+            "integrity": "sha1-yxJphlCG4qcXhJL6mt1E1Gj719k=",
+            "dev": true
+        },
+        "@szmarczak/http-timer": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz",
+            "integrity": "sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE=",
+            "dev": true,
+            "requires": {
+                "defer-to-connect": "^1.0.1"
+            }
+        },
+        "@types/glob": {
+            "version": "7.1.3",
+            "resolved": "https://registry.nlark.com/@types/glob/download/@types/glob-7.1.3.tgz",
+            "integrity": "sha1-5rqA82t9qtLGhazZJmOC5omFwYM=",
+            "dev": true,
+            "requires": {
+                "@types/minimatch": "*",
+                "@types/node": "*"
+            }
+        },
+        "@types/lodash": {
+            "version": "4.14.169",
+            "resolved": "https://registry.nlark.com/@types/lodash/download/@types/lodash-4.14.169.tgz",
+            "integrity": "sha1-g8IXaI8HpNnvjyij69HTGPb/TLs="
+        },
+        "@types/minimatch": {
+            "version": "3.0.4",
+            "resolved": "https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.4.tgz",
+            "integrity": "sha1-8Owl2/Lw5LGGRzE6wDETTKWySyE=",
+            "dev": true
+        },
+        "@types/node": {
+            "version": "15.3.1",
+            "resolved": "https://registry.nlark.com/@types/node/download/@types/node-15.3.1.tgz?cache=0&sync_timestamp=1621463621315&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-15.3.1.tgz",
+            "integrity": "sha1-I6Brh+7bUkAWYW6IaxFrj9yxgK8=",
+            "dev": true
+        },
+        "@types/unist": {
+            "version": "2.0.3",
+            "resolved": "https://registry.nlark.com/@types/unist/download/@types/unist-2.0.3.tgz?cache=0&sync_timestamp=1621243829208&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Funist%2Fdownload%2F%40types%2Funist-2.0.3.tgz",
+            "integrity": "sha1-nAiGeYdvN061mD8VDUeHqm+zLX4=",
+            "dev": true
+        },
+        "@types/vfile": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npm.taobao.org/@types/vfile/download/@types/vfile-3.0.2.tgz",
+            "integrity": "sha1-GcGM0jLfEc5vpq2AJZvIbDZrCbk=",
+            "dev": true,
+            "requires": {
+                "@types/node": "*",
+                "@types/unist": "*",
+                "@types/vfile-message": "*"
+            }
+        },
+        "@types/vfile-message": {
+            "version": "2.0.0",
+            "resolved": "https://registry.nlark.com/@types/vfile-message/download/@types/vfile-message-2.0.0.tgz",
+            "integrity": "sha1-aQ5Grw/fwfn6rgDNBJzIiJV5J9U=",
+            "dev": true,
+            "requires": {
+                "vfile-message": "*"
+            }
+        },
+        "@vitejs/plugin-vue": {
+            "version": "1.2.2",
+            "resolved": "https://registry.nlark.com/@vitejs/plugin-vue/download/@vitejs/plugin-vue-1.2.2.tgz",
+            "integrity": "sha1-sAOPwRuQmfTNAfy/DuQZrdpBe1I=",
+            "dev": true
+        },
+        "@volar/code-gen": {
+            "version": "0.25.4",
+            "resolved": "https://registry.nlark.com/@volar/code-gen/download/@volar/code-gen-0.25.4.tgz",
+            "integrity": "sha1-9r8qoobmUMjb4RAGaE71y9bixao=",
+            "dev": true,
+            "requires": {
+                "@volar/shared": "^0.25.4",
+                "@volar/source-map": "^0.25.4"
+            }
+        },
+        "@volar/html2pug": {
+            "version": "0.25.4",
+            "resolved": "https://registry.nlark.com/@volar/html2pug/download/@volar/html2pug-0.25.4.tgz",
+            "integrity": "sha1-cer9drJwFlx5nCmY/MQCnGTMdlI=",
+            "dev": true,
+            "requires": {
+                "domelementtype": "^2.2.0",
+                "domhandler": "^4.2.0",
+                "htmlparser2": "^6.1.0",
+                "pug": "^3.0.2"
+            }
+        },
+        "@volar/shared": {
+            "version": "0.25.4",
+            "resolved": "https://registry.nlark.com/@volar/shared/download/@volar/shared-0.25.4.tgz",
+            "integrity": "sha1-PUyCClVObeENfP4dwPwes3gvQxM=",
+            "dev": true,
+            "requires": {
+                "upath": "^2.0.1",
+                "vscode-languageserver": "^7.1.0-next.4"
+            }
+        },
+        "@volar/source-map": {
+            "version": "0.25.4",
+            "resolved": "https://registry.nlark.com/@volar/source-map/download/@volar/source-map-0.25.4.tgz",
+            "integrity": "sha1-bvcd2kUci6vE5bbJPTmRB5E8I2Q=",
+            "dev": true,
+            "requires": {
+                "@volar/shared": "^0.25.4"
+            }
+        },
+        "@volar/transforms": {
+            "version": "0.25.4",
+            "resolved": "https://registry.nlark.com/@volar/transforms/download/@volar/transforms-0.25.4.tgz",
+            "integrity": "sha1-ZQReXs8aFP51Dzp9jQaRZqoWm6U=",
+            "dev": true,
+            "requires": {
+                "@volar/shared": "^0.25.4"
+            }
+        },
+        "@vue/compiler-core": {
+            "version": "3.0.11",
+            "resolved": "https://registry.nlark.com/@vue/compiler-core/download/@vue/compiler-core-3.0.11.tgz",
+            "integrity": "sha1-XvV55G17M2uHNSKHWNHCxQWq5po=",
+            "requires": {
+                "@babel/parser": "^7.12.0",
+                "@babel/types": "^7.12.0",
+                "@vue/shared": "3.0.11",
+                "estree-walker": "^2.0.1",
+                "source-map": "^0.6.1"
+            }
+        },
+        "@vue/compiler-dom": {
+            "version": "3.0.11",
+            "resolved": "https://registry.nlark.com/@vue/compiler-dom/download/@vue/compiler-dom-3.0.11.tgz",
+            "integrity": "sha1-sV/ByQk3H9ZxdGAgulW12rSnMO4=",
+            "requires": {
+                "@vue/compiler-core": "3.0.11",
+                "@vue/shared": "3.0.11"
+            }
+        },
+        "@vue/compiler-sfc": {
+            "version": "3.0.11",
+            "resolved": "https://registry.nlark.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.0.11.tgz?cache=0&sync_timestamp=1620855599471&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcompiler-sfc%2Fdownload%2F%40vue%2Fcompiler-sfc-3.0.11.tgz",
+            "integrity": "sha1-zYyiFUuIlntSH1rTsQ9fi2tmVnk=",
+            "dev": true,
+            "requires": {
+                "@babel/parser": "^7.13.9",
+                "@babel/types": "^7.13.0",
+                "@vue/compiler-core": "3.0.11",
+                "@vue/compiler-dom": "3.0.11",
+                "@vue/compiler-ssr": "3.0.11",
+                "@vue/shared": "3.0.11",
+                "consolidate": "^0.16.0",
+                "estree-walker": "^2.0.1",
+                "hash-sum": "^2.0.0",
+                "lru-cache": "^5.1.1",
+                "magic-string": "^0.25.7",
+                "merge-source-map": "^1.1.0",
+                "postcss": "^8.1.10",
+                "postcss-modules": "^4.0.0",
+                "postcss-selector-parser": "^6.0.4",
+                "source-map": "^0.6.1"
+            }
+        },
+        "@vue/compiler-ssr": {
+            "version": "3.0.11",
+            "resolved": "https://registry.nlark.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.0.11.tgz",
+            "integrity": "sha1-rFoF/RJXQS+mYHnII9ggO2qImhM=",
+            "dev": true,
+            "requires": {
+                "@vue/compiler-dom": "3.0.11",
+                "@vue/shared": "3.0.11"
+            }
+        },
+        "@vue/devtools-api": {
+            "version": "6.0.0-beta.10",
+            "resolved": "https://registry.nlark.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.10.tgz",
+            "integrity": "sha1-852nYYzuKS45xydCJ8NBY+MOs8o="
+        },
+        "@vue/reactivity": {
+            "version": "3.0.11",
+            "resolved": "https://registry.nlark.com/@vue/reactivity/download/@vue/reactivity-3.0.11.tgz",
+            "integrity": "sha1-B7WINJ/QViaxfzUAy+99S9tNvQs=",
+            "requires": {
+                "@vue/shared": "3.0.11"
+            }
+        },
+        "@vue/runtime-core": {
+            "version": "3.0.11",
+            "resolved": "https://registry.nlark.com/@vue/runtime-core/download/@vue/runtime-core-3.0.11.tgz",
+            "integrity": "sha1-xS38as8yFUk2I1UsHCkZCAxWLkQ=",
+            "requires": {
+                "@vue/reactivity": "3.0.11",
+                "@vue/shared": "3.0.11"
+            }
+        },
+        "@vue/runtime-dom": {
+            "version": "3.0.11",
+            "resolved": "https://registry.nlark.com/@vue/runtime-dom/download/@vue/runtime-dom-3.0.11.tgz",
+            "integrity": "sha1-elUt8hkHlCch/raWHEGOIippkzc=",
+            "requires": {
+                "@vue/runtime-core": "3.0.11",
+                "@vue/shared": "3.0.11",
+                "csstype": "^2.6.8"
+            }
+        },
+        "@vue/shared": {
+            "version": "3.0.11",
+            "resolved": "https://registry.nlark.com/@vue/shared/download/@vue/shared-3.0.11.tgz",
+            "integrity": "sha1-INIt0Np9NYuyHBf5vehigVJkLHc="
+        },
+        "acorn": {
+            "version": "7.4.1",
+            "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1620134156200&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz",
+            "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
+            "dev": true
+        },
+        "ansi-align": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/ansi-align/download/ansi-align-3.0.0.tgz",
+            "integrity": "sha1-tTazcc9ofKrvI2wY0+If43l0Z8s=",
+            "dev": true,
+            "requires": {
+                "string-width": "^3.0.0"
+            },
+            "dependencies": {
+                "ansi-regex": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+                    "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+                    "dev": true
+                },
+                "string-width": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz",
+                    "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
+                    "dev": true,
+                    "requires": {
+                        "emoji-regex": "^7.0.1",
+                        "is-fullwidth-code-point": "^2.0.0",
+                        "strip-ansi": "^5.1.0"
+                    }
+                },
+                "strip-ansi": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
+                    "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^4.1.0"
+                    }
+                }
+            }
+        },
+        "ansi-regex": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+            "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+            "dev": true
+        },
+        "ansi-styles": {
+            "version": "4.3.0",
+            "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
+            "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
+            "dev": true,
+            "requires": {
+                "color-convert": "^2.0.1"
+            }
+        },
+        "anymatch": {
+            "version": "3.1.2",
+            "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz",
+            "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=",
+            "dev": true,
+            "requires": {
+                "normalize-path": "^3.0.0",
+                "picomatch": "^2.0.4"
+            }
+        },
+        "argparse": {
+            "version": "1.0.10",
+            "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz",
+            "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
+            "dev": true,
+            "requires": {
+                "sprintf-js": "~1.0.2"
+            }
+        },
+        "array-find-index": {
+            "version": "1.0.2",
+            "resolved": "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz",
+            "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+            "dev": true
+        },
+        "array-iterate": {
+            "version": "1.1.4",
+            "resolved": "https://registry.npm.taobao.org/array-iterate/download/array-iterate-1.1.4.tgz",
+            "integrity": "sha1-rdFSLp3ZdJu0EVLQi4Rb0I1q+Lc=",
+            "dev": true
+        },
+        "array-union": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz?cache=0&sync_timestamp=1614624302839&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-2.1.0.tgz",
+            "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=",
+            "dev": true
+        },
+        "arrify": {
+            "version": "1.0.1",
+            "resolved": "https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz",
+            "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+            "dev": true
+        },
+        "asap": {
+            "version": "2.0.6",
+            "resolved": "http://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz",
+            "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+            "dev": true
+        },
+        "assert-never": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npm.taobao.org/assert-never/download/assert-never-1.2.1.tgz",
+            "integrity": "sha1-EfDjY78UYgX7CBk7XHuQ9NHPRP4=",
+            "dev": true
+        },
+        "async-validator": {
+            "version": "3.5.2",
+            "resolved": "https://registry.nlark.com/async-validator/download/async-validator-3.5.2.tgz",
+            "integrity": "sha1-aOhmqWgk6LJpT/eoMcGiXETV5QA="
+        },
+        "babel-walk": {
+            "version": "3.0.0-canary-5",
+            "resolved": "https://registry.npm.taobao.org/babel-walk/download/babel-walk-3.0.0-canary-5.tgz",
+            "integrity": "sha1-9m7Ncpg1eu5ElV8jWm71QhkQSxE=",
+            "dev": true,
+            "requires": {
+                "@babel/types": "^7.9.6"
+            }
+        },
+        "bail": {
+            "version": "1.0.5",
+            "resolved": "https://registry.nlark.com/bail/download/bail-1.0.5.tgz?cache=0&sync_timestamp=1621397637411&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbail%2Fdownload%2Fbail-1.0.5.tgz",
+            "integrity": "sha1-tvoTNASjksvB+MS/Y/WVM1Hnp3Y=",
+            "dev": true
+        },
+        "balanced-match": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz?cache=0&sync_timestamp=1617714233441&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-1.0.2.tgz",
+            "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=",
+            "dev": true
+        },
+        "big.js": {
+            "version": "5.2.2",
+            "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz",
+            "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=",
+            "dev": true
+        },
+        "binary-extensions": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299293319&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz",
+            "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=",
+            "dev": true
+        },
+        "bluebird": {
+            "version": "3.7.2",
+            "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz",
+            "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=",
+            "dev": true
+        },
+        "boxen": {
+            "version": "3.2.0",
+            "resolved": "https://registry.npm.taobao.org/boxen/download/boxen-3.2.0.tgz?cache=0&sync_timestamp=1617702513509&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fboxen%2Fdownload%2Fboxen-3.2.0.tgz",
+            "integrity": "sha1-+9/w3pNjarRFCIa2/0W5LQmPRes=",
+            "dev": true,
+            "requires": {
+                "ansi-align": "^3.0.0",
+                "camelcase": "^5.3.1",
+                "chalk": "^2.4.2",
+                "cli-boxes": "^2.2.0",
+                "string-width": "^3.0.0",
+                "term-size": "^1.2.0",
+                "type-fest": "^0.3.0",
+                "widest-line": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-regex": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+                    "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+                    "dev": true
+                },
+                "ansi-styles": {
+                    "version": "3.2.1",
+                    "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+                    "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+                    "dev": true,
+                    "requires": {
+                        "color-convert": "^1.9.0"
+                    }
+                },
+                "camelcase": {
+                    "version": "5.3.1",
+                    "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz",
+                    "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "2.4.2",
+                    "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
+                    "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^3.2.1",
+                        "escape-string-regexp": "^1.0.5",
+                        "supports-color": "^5.3.0"
+                    }
+                },
+                "color-convert": {
+                    "version": "1.9.3",
+                    "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz",
+                    "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=",
+                    "dev": true,
+                    "requires": {
+                        "color-name": "1.1.3"
+                    }
+                },
+                "color-name": {
+                    "version": "1.1.3",
+                    "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
+                    "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+                    "dev": true
+                },
+                "has-flag": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
+                    "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+                    "dev": true
+                },
+                "string-width": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz",
+                    "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
+                    "dev": true,
+                    "requires": {
+                        "emoji-regex": "^7.0.1",
+                        "is-fullwidth-code-point": "^2.0.0",
+                        "strip-ansi": "^5.1.0"
+                    }
+                },
+                "strip-ansi": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
+                    "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^4.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "5.5.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+                    "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "brace-expansion": {
+            "version": "1.1.11",
+            "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
+            "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
+            "dev": true,
+            "requires": {
+                "balanced-match": "^1.0.0",
+                "concat-map": "0.0.1"
+            }
+        },
+        "braces": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
+            "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
+            "dev": true,
+            "requires": {
+                "fill-range": "^7.0.1"
+            }
+        },
+        "buffer-from": {
+            "version": "1.1.1",
+            "resolved": "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz",
+            "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=",
+            "dev": true
+        },
+        "cacheable-request": {
+            "version": "6.1.0",
+            "resolved": "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-6.1.0.tgz",
+            "integrity": "sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI=",
+            "dev": true,
+            "requires": {
+                "clone-response": "^1.0.2",
+                "get-stream": "^5.1.0",
+                "http-cache-semantics": "^4.0.0",
+                "keyv": "^3.0.0",
+                "lowercase-keys": "^2.0.0",
+                "normalize-url": "^4.1.0",
+                "responselike": "^1.0.2"
+            },
+            "dependencies": {
+                "get-stream": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-5.2.0.tgz",
+                    "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=",
+                    "dev": true,
+                    "requires": {
+                        "pump": "^3.0.0"
+                    }
+                },
+                "lowercase-keys": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-2.0.0.tgz",
+                    "integrity": "sha1-JgPni3tLAAbLyi+8yKMgJVislHk=",
+                    "dev": true
+                }
+            }
+        },
+        "call-bind": {
+            "version": "1.0.2",
+            "resolved": "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz",
+            "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=",
+            "dev": true,
+            "requires": {
+                "function-bind": "^1.1.1",
+                "get-intrinsic": "^1.0.2"
+            }
+        },
+        "camelcase": {
+            "version": "4.1.0",
+            "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-4.1.0.tgz",
+            "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+            "dev": true
+        },
+        "camelcase-keys": {
+            "version": "4.2.0",
+            "resolved": "https://registry.nlark.com/camelcase-keys/download/camelcase-keys-4.2.0.tgz",
+            "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+            "dev": true,
+            "requires": {
+                "camelcase": "^4.1.0",
+                "map-obj": "^2.0.0",
+                "quick-lru": "^1.0.0"
+            }
+        },
+        "ccount": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/ccount/download/ccount-1.1.0.tgz",
+            "integrity": "sha1-JGaH3rtgFHNRMb6KurLZOJj40EM=",
+            "dev": true
+        },
+        "chalk": {
+            "version": "3.0.0",
+            "resolved": "https://registry.nlark.com/chalk/download/chalk-3.0.0.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-3.0.0.tgz",
+            "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=",
+            "dev": true,
+            "requires": {
+                "ansi-styles": "^4.1.0",
+                "supports-color": "^7.1.0"
+            }
+        },
+        "character-entities-html4": {
+            "version": "1.1.4",
+            "resolved": "https://registry.npm.taobao.org/character-entities-html4/download/character-entities-html4-1.1.4.tgz",
+            "integrity": "sha1-DmSwo3U92/H9wETF/QHQGZoC4SU=",
+            "dev": true
+        },
+        "character-entities-legacy": {
+            "version": "1.1.4",
+            "resolved": "https://registry.npm.taobao.org/character-entities-legacy/download/character-entities-legacy-1.1.4.tgz?cache=0&sync_timestamp=1615373299115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcharacter-entities-legacy%2Fdownload%2Fcharacter-entities-legacy-1.1.4.tgz",
+            "integrity": "sha1-lLwYRdznClu50uzHSHJWYSk9j8E=",
+            "dev": true
+        },
+        "character-parser": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npm.taobao.org/character-parser/download/character-parser-2.2.0.tgz",
+            "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=",
+            "dev": true,
+            "requires": {
+                "is-regex": "^1.0.3"
+            }
+        },
+        "chokidar": {
+            "version": "3.5.1",
+            "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.5.1.tgz?cache=0&sync_timestamp=1610719440699&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.5.1.tgz",
+            "integrity": "sha1-7pznu+vSt59J8wR5nVRo4x4U5oo=",
+            "dev": true,
+            "requires": {
+                "anymatch": "~3.1.1",
+                "braces": "~3.0.2",
+                "fsevents": "~2.3.1",
+                "glob-parent": "~5.1.0",
+                "is-binary-path": "~2.1.0",
+                "is-glob": "~4.0.1",
+                "normalize-path": "~3.0.0",
+                "readdirp": "~3.5.0"
+            }
+        },
+        "ci-info": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz",
+            "integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=",
+            "dev": true
+        },
+        "cli-boxes": {
+            "version": "2.2.1",
+            "resolved": "https://registry.npm.taobao.org/cli-boxes/download/cli-boxes-2.2.1.tgz?cache=0&sync_timestamp=1610824817904&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-boxes%2Fdownload%2Fcli-boxes-2.2.1.tgz",
+            "integrity": "sha1-3dUDXSUJT84iDpyrQKRYQKRAMY8=",
+            "dev": true
+        },
+        "cliui": {
+            "version": "3.2.0",
+            "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz",
+            "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+            "dev": true,
+            "requires": {
+                "string-width": "^1.0.1",
+                "strip-ansi": "^3.0.1",
+                "wrap-ansi": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-regex": {
+                    "version": "2.1.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+                    "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+                    "dev": true
+                },
+                "is-fullwidth-code-point": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+                    "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+                    "dev": true,
+                    "requires": {
+                        "number-is-nan": "^1.0.0"
+                    }
+                },
+                "string-width": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz",
+                    "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+                    "dev": true,
+                    "requires": {
+                        "code-point-at": "^1.0.0",
+                        "is-fullwidth-code-point": "^1.0.0",
+                        "strip-ansi": "^3.0.0"
+                    }
+                },
+                "strip-ansi": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
+                    "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^2.0.0"
+                    }
+                }
+            }
+        },
+        "clone-response": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz",
+            "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+            "dev": true,
+            "requires": {
+                "mimic-response": "^1.0.0"
+            }
+        },
+        "code-point-at": {
+            "version": "1.1.0",
+            "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
+            "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+            "dev": true
+        },
+        "collapse-white-space": {
+            "version": "1.0.6",
+            "resolved": "https://registry.npm.taobao.org/collapse-white-space/download/collapse-white-space-1.0.6.tgz?cache=0&sync_timestamp=1615196661688&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcollapse-white-space%2Fdownload%2Fcollapse-white-space-1.0.6.tgz",
+            "integrity": "sha1-5jYpwAFmZXkgYNu+t5xCI50sUoc=",
+            "dev": true
+        },
+        "color-convert": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
+            "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
+            "dev": true,
+            "requires": {
+                "color-name": "~1.1.4"
+            }
+        },
+        "color-name": {
+            "version": "1.1.4",
+            "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
+            "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
+            "dev": true
+        },
+        "colorette": {
+            "version": "1.2.2",
+            "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1614259647923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz",
+            "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=",
+            "dev": true
+        },
+        "colors": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.4.0.tgz",
+            "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=",
+            "dev": true
+        },
+        "comma-separated-tokens": {
+            "version": "1.0.8",
+            "resolved": "https://registry.nlark.com/comma-separated-tokens/download/comma-separated-tokens-1.0.8.tgz",
+            "integrity": "sha1-YyuAthF4Z6FY8QgK1Jiy++fj9eo=",
+            "dev": true
+        },
+        "concat-map": {
+            "version": "0.0.1",
+            "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
+            "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+            "dev": true
+        },
+        "concat-stream": {
+            "version": "1.6.2",
+            "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz",
+            "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=",
+            "dev": true,
+            "requires": {
+                "buffer-from": "^1.0.0",
+                "inherits": "^2.0.3",
+                "readable-stream": "^2.2.2",
+                "typedarray": "^0.0.6"
+            }
+        },
+        "configstore": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/configstore/download/configstore-4.0.0.tgz?cache=0&sync_timestamp=1617612169109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconfigstore%2Fdownload%2Fconfigstore-4.0.0.tgz",
+            "integrity": "sha1-WTMxHpXTaH77WSxSi5ItkmLSJ+c=",
+            "dev": true,
+            "requires": {
+                "dot-prop": "^4.1.0",
+                "graceful-fs": "^4.1.2",
+                "make-dir": "^1.0.0",
+                "unique-string": "^1.0.0",
+                "write-file-atomic": "^2.0.0",
+                "xdg-basedir": "^3.0.0"
+            }
+        },
+        "consolidate": {
+            "version": "0.16.0",
+            "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.16.0.tgz",
+            "integrity": "sha1-oRhkdokw8vGUMWYKZZBmaPX73BY=",
+            "dev": true,
+            "requires": {
+                "bluebird": "^3.7.2"
+            }
+        },
+        "constantinople": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/constantinople/download/constantinople-4.0.1.tgz",
+            "integrity": "sha1-De8RP6Dk3I3oMzGlz3nIsyUhMVE=",
+            "dev": true,
+            "requires": {
+                "@babel/parser": "^7.6.0",
+                "@babel/types": "^7.6.1"
+            }
+        },
+        "core-util-is": {
+            "version": "1.0.2",
+            "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
+            "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+            "dev": true
+        },
+        "cross-spawn": {
+            "version": "5.1.0",
+            "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz",
+            "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+            "dev": true,
+            "requires": {
+                "lru-cache": "^4.0.1",
+                "shebang-command": "^1.2.0",
+                "which": "^1.2.9"
+            },
+            "dependencies": {
+                "lru-cache": {
+                    "version": "4.1.5",
+                    "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz",
+                    "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
+                    "dev": true,
+                    "requires": {
+                        "pseudomap": "^1.0.2",
+                        "yallist": "^2.1.2"
+                    }
+                },
+                "yallist": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
+                    "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+                    "dev": true
+                }
+            }
+        },
+        "crypto-random-string": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-1.0.0.tgz?cache=0&sync_timestamp=1617610357273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcrypto-random-string%2Fdownload%2Fcrypto-random-string-1.0.0.tgz",
+            "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+            "dev": true
+        },
+        "cssesc": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz",
+            "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=",
+            "dev": true
+        },
+        "csstype": {
+            "version": "2.6.17",
+            "resolved": "https://registry.nlark.com/csstype/download/csstype-2.6.17.tgz?cache=0&sync_timestamp=1618818466657&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.17.tgz",
+            "integrity": "sha1-TPMOuH4dGgBdi2UQ+VKSQT9qHA4="
+        },
+        "currently-unhandled": {
+            "version": "0.4.1",
+            "resolved": "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz",
+            "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+            "dev": true,
+            "requires": {
+                "array-find-index": "^1.0.1"
+            }
+        },
+        "dayjs": {
+            "version": "1.10.4",
+            "resolved": "https://registry.nlark.com/dayjs/download/dayjs-1.10.4.tgz",
+            "integrity": "sha1-jlRKm4aD9heD9XCYCoqA6vVKseI="
+        },
+        "debug": {
+            "version": "3.2.7",
+            "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566580543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz",
+            "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=",
+            "dev": true,
+            "requires": {
+                "ms": "^2.1.1"
+            }
+        },
+        "decamelize": {
+            "version": "1.2.0",
+            "resolved": "https://registry.nlark.com/decamelize/download/decamelize-1.2.0.tgz",
+            "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+            "dev": true
+        },
+        "decamelize-keys": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/decamelize-keys/download/decamelize-keys-1.1.0.tgz",
+            "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+            "dev": true,
+            "requires": {
+                "decamelize": "^1.1.0",
+                "map-obj": "^1.0.0"
+            },
+            "dependencies": {
+                "map-obj": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz",
+                    "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+                    "dev": true
+                }
+            }
+        },
+        "decompress-response": {
+            "version": "3.3.0",
+            "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz?cache=0&sync_timestamp=1613125479486&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecompress-response%2Fdownload%2Fdecompress-response-3.3.0.tgz",
+            "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+            "dev": true,
+            "requires": {
+                "mimic-response": "^1.0.0"
+            }
+        },
+        "deep-extend": {
+            "version": "0.6.0",
+            "resolved": "https://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz",
+            "integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=",
+            "dev": true
+        },
+        "defer-to-connect": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npm.taobao.org/defer-to-connect/download/defer-to-connect-1.1.3.tgz?cache=0&sync_timestamp=1614211480566&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefer-to-connect%2Fdownload%2Fdefer-to-connect-1.1.3.tgz",
+            "integrity": "sha1-MxrgUMCNz3ifjIOnuB8O2U9KxZE=",
+            "dev": true
+        },
+        "dir-glob": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz",
+            "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=",
+            "dev": true,
+            "requires": {
+                "path-type": "^4.0.0"
+            }
+        },
+        "doctypes": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/doctypes/download/doctypes-1.1.0.tgz",
+            "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=",
+            "dev": true
+        },
+        "dom-serializer": {
+            "version": "1.3.2",
+            "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz?cache=0&sync_timestamp=1621256918158&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-1.3.2.tgz",
+            "integrity": "sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=",
+            "dev": true,
+            "requires": {
+                "domelementtype": "^2.0.1",
+                "domhandler": "^4.2.0",
+                "entities": "^2.0.0"
+            }
+        },
+        "domelementtype": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&sync_timestamp=1617298554829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz",
+            "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=",
+            "dev": true
+        },
+        "domhandler": {
+            "version": "4.2.0",
+            "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-4.2.0.tgz?cache=0&sync_timestamp=1618564036965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-4.2.0.tgz",
+            "integrity": "sha1-+XaKXwNL5gqJonwuTQ9066DYsFk=",
+            "dev": true,
+            "requires": {
+                "domelementtype": "^2.2.0"
+            }
+        },
+        "domutils": {
+            "version": "2.6.0",
+            "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-2.6.0.tgz",
+            "integrity": "sha1-LhXAQYXUP7Fq5wV8t2Qzxu25OLc=",
+            "dev": true,
+            "requires": {
+                "dom-serializer": "^1.0.1",
+                "domelementtype": "^2.2.0",
+                "domhandler": "^4.2.0"
+            }
+        },
+        "dot-prop": {
+            "version": "4.2.1",
+            "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-4.2.1.tgz?cache=0&sync_timestamp=1605778226941&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-4.2.1.tgz",
+            "integrity": "sha1-RYhBlKcfws2nHLtLzrOk3S9DO6Q=",
+            "dev": true,
+            "requires": {
+                "is-obj": "^1.0.0"
+            }
+        },
+        "duplexer3": {
+            "version": "0.1.4",
+            "resolved": "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz",
+            "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+            "dev": true
+        },
+        "element-plus": {
+            "version": "1.0.2-beta.44",
+            "resolved": "https://registry.nlark.com/element-plus/download/element-plus-1.0.2-beta.44.tgz",
+            "integrity": "sha1-ev8SLmGBCIIjAnrbZaSoMh4e9Ok=",
+            "requires": {
+                "@popperjs/core": "^2.4.4",
+                "@types/lodash": "^4.14.161",
+                "async-validator": "^3.4.0",
+                "dayjs": "1.x",
+                "lodash": "^4.17.20",
+                "mitt": "^2.1.0",
+                "normalize-wheel": "^1.0.1",
+                "resize-observer-polyfill": "^1.5.1"
+            }
+        },
+        "emmet": {
+            "version": "2.3.4",
+            "resolved": "https://registry.npm.taobao.org/emmet/download/emmet-2.3.4.tgz",
+            "integrity": "sha1-W6DXpVaaaMdpffqJDHcuTzF50SM=",
+            "dev": true,
+            "requires": {
+                "@emmetio/abbreviation": "^2.2.2",
+                "@emmetio/css-abbreviation": "^2.1.4"
+            }
+        },
+        "emoji-regex": {
+            "version": "7.0.3",
+            "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1614682725186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz",
+            "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
+            "dev": true
+        },
+        "emojis-list": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz",
+            "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=",
+            "dev": true
+        },
+        "end-of-stream": {
+            "version": "1.4.4",
+            "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz",
+            "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=",
+            "dev": true,
+            "requires": {
+                "once": "^1.4.0"
+            }
+        },
+        "entities": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.2.0.tgz",
+            "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=",
+            "dev": true
+        },
+        "error-ex": {
+            "version": "1.3.2",
+            "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz",
+            "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=",
+            "dev": true,
+            "requires": {
+                "is-arrayish": "^0.2.1"
+            }
+        },
+        "esbuild": {
+            "version": "0.11.23",
+            "resolved": "https://registry.nlark.com/esbuild/download/esbuild-0.11.23.tgz?cache=0&sync_timestamp=1621409434179&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fesbuild%2Fdownload%2Fesbuild-0.11.23.tgz",
+            "integrity": "sha1-xCU09jLhZRIGcdZNtniDY0MztLg=",
+            "dev": true
+        },
+        "escape-string-regexp": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz",
+            "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+            "dev": true
+        },
+        "esprima": {
+            "version": "4.0.1",
+            "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz",
+            "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=",
+            "dev": true
+        },
+        "estree-walker": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-2.0.2.tgz",
+            "integrity": "sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw="
+        },
+        "execa": {
+            "version": "0.7.0",
+            "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.7.0.tgz?cache=0&sync_timestamp=1606970975645&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.7.0.tgz",
+            "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+            "dev": true,
+            "requires": {
+                "cross-spawn": "^5.0.1",
+                "get-stream": "^3.0.0",
+                "is-stream": "^1.1.0",
+                "npm-run-path": "^2.0.0",
+                "p-finally": "^1.0.0",
+                "signal-exit": "^3.0.0",
+                "strip-eof": "^1.0.0"
+            }
+        },
+        "extend": {
+            "version": "3.0.2",
+            "resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
+            "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=",
+            "dev": true
+        },
+        "fast-glob": {
+            "version": "3.2.5",
+            "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.2.5.tgz?cache=0&sync_timestamp=1610876505711&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.5.tgz",
+            "integrity": "sha1-eTmvKmVt55pPGQGQPuityqfLlmE=",
+            "dev": true,
+            "requires": {
+                "@nodelib/fs.stat": "^2.0.2",
+                "@nodelib/fs.walk": "^1.2.3",
+                "glob-parent": "^5.1.0",
+                "merge2": "^1.3.0",
+                "micromatch": "^4.0.2",
+                "picomatch": "^2.2.1"
+            }
+        },
+        "fastq": {
+            "version": "1.11.0",
+            "resolved": "https://registry.npm.taobao.org/fastq/download/fastq-1.11.0.tgz?cache=0&sync_timestamp=1614183592501&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffastq%2Fdownload%2Ffastq-1.11.0.tgz",
+            "integrity": "sha1-u5+5VaBxMKkY62PB9RYcwypdCFg=",
+            "dev": true,
+            "requires": {
+                "reusify": "^1.0.4"
+            }
+        },
+        "fault": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/fault/download/fault-1.0.4.tgz",
+            "integrity": "sha1-6vz8Cm0hT8lGAeFw3ymVSk+ELxM=",
+            "dev": true,
+            "requires": {
+                "format": "^0.2.0"
+            }
+        },
+        "fill-range": {
+            "version": "7.0.1",
+            "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
+            "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
+            "dev": true,
+            "requires": {
+                "to-regex-range": "^5.0.1"
+            }
+        },
+        "find-up": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz",
+            "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+            "dev": true,
+            "requires": {
+                "locate-path": "^2.0.0"
+            }
+        },
+        "fn-name": {
+            "version": "2.0.1",
+            "resolved": "https://registry.nlark.com/fn-name/download/fn-name-2.0.1.tgz?cache=0&sync_timestamp=1618847009012&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffn-name%2Fdownload%2Ffn-name-2.0.1.tgz",
+            "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=",
+            "dev": true
+        },
+        "format": {
+            "version": "0.2.2",
+            "resolved": "https://registry.npm.taobao.org/format/download/format-0.2.2.tgz",
+            "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=",
+            "dev": true
+        },
+        "fs-extra": {
+            "version": "8.1.0",
+            "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz",
+            "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.2.0",
+                "jsonfile": "^4.0.0",
+                "universalify": "^0.1.0"
+            }
+        },
+        "fs.realpath": {
+            "version": "1.0.0",
+            "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
+            "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+            "dev": true
+        },
+        "fsevents": {
+            "version": "2.3.2",
+            "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612537044236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz",
+            "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=",
+            "dev": true,
+            "optional": true
+        },
+        "function-bind": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
+            "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
+            "dev": true
+        },
+        "generic-names": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/generic-names/download/generic-names-2.0.1.tgz?cache=0&sync_timestamp=1603542537830&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgeneric-names%2Fdownload%2Fgeneric-names-2.0.1.tgz",
+            "integrity": "sha1-+KN46tLMqno08DF7BVVIMq5BuHI=",
+            "dev": true,
+            "requires": {
+                "loader-utils": "^1.1.0"
+            }
+        },
+        "get-caller-file": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz",
+            "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=",
+            "dev": true
+        },
+        "get-intrinsic": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz?cache=0&sync_timestamp=1612364352840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.1.1.tgz",
+            "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=",
+            "dev": true,
+            "requires": {
+                "function-bind": "^1.1.1",
+                "has": "^1.0.3",
+                "has-symbols": "^1.0.1"
+            }
+        },
+        "get-stream": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-3.0.0.tgz",
+            "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+            "dev": true
+        },
+        "glob": {
+            "version": "7.1.7",
+            "resolved": "https://registry.nlark.com/glob/download/glob-7.1.7.tgz?cache=0&sync_timestamp=1620337382269&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob%2Fdownload%2Fglob-7.1.7.tgz",
+            "integrity": "sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=",
+            "dev": true,
+            "requires": {
+                "fs.realpath": "^1.0.0",
+                "inflight": "^1.0.4",
+                "inherits": "2",
+                "minimatch": "^3.0.4",
+                "once": "^1.3.0",
+                "path-is-absolute": "^1.0.0"
+            }
+        },
+        "glob-parent": {
+            "version": "5.1.2",
+            "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1620073321855&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz",
+            "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=",
+            "dev": true,
+            "requires": {
+                "is-glob": "^4.0.1"
+            }
+        },
+        "global-dirs": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npm.taobao.org/global-dirs/download/global-dirs-0.1.1.tgz?cache=0&sync_timestamp=1610454711494&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobal-dirs%2Fdownload%2Fglobal-dirs-0.1.1.tgz",
+            "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
+            "dev": true,
+            "requires": {
+                "ini": "^1.3.4"
+            }
+        },
+        "globby": {
+            "version": "10.0.2",
+            "resolved": "https://registry.npm.taobao.org/globby/download/globby-10.0.2.tgz?cache=0&sync_timestamp=1616407139482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-10.0.2.tgz",
+            "integrity": "sha1-J3WT50WsqkZGw6tBEonsR6A5JUM=",
+            "dev": true,
+            "requires": {
+                "@types/glob": "^7.1.1",
+                "array-union": "^2.1.0",
+                "dir-glob": "^3.0.1",
+                "fast-glob": "^3.0.3",
+                "glob": "^7.1.3",
+                "ignore": "^5.1.1",
+                "merge2": "^1.2.3",
+                "slash": "^3.0.0"
+            }
+        },
+        "got": {
+            "version": "9.6.0",
+            "resolved": "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz",
+            "integrity": "sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU=",
+            "dev": true,
+            "requires": {
+                "@sindresorhus/is": "^0.14.0",
+                "@szmarczak/http-timer": "^1.1.2",
+                "cacheable-request": "^6.0.0",
+                "decompress-response": "^3.3.0",
+                "duplexer3": "^0.1.4",
+                "get-stream": "^4.1.0",
+                "lowercase-keys": "^1.0.1",
+                "mimic-response": "^1.0.1",
+                "p-cancelable": "^1.0.0",
+                "to-readable-stream": "^1.0.0",
+                "url-parse-lax": "^3.0.0"
+            },
+            "dependencies": {
+                "get-stream": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-4.1.0.tgz",
+                    "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=",
+                    "dev": true,
+                    "requires": {
+                        "pump": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "graceful-fs": {
+            "version": "4.2.6",
+            "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz",
+            "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=",
+            "dev": true
+        },
+        "has": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
+            "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
+            "dev": true,
+            "requires": {
+                "function-bind": "^1.1.1"
+            }
+        },
+        "has-flag": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
+            "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
+            "dev": true
+        },
+        "has-symbols": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz",
+            "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=",
+            "dev": true
+        },
+        "has-yarn": {
+            "version": "2.1.0",
+            "resolved": "https://registry.nlark.com/has-yarn/download/has-yarn-2.1.0.tgz",
+            "integrity": "sha1-E34RNUp7W/EapctknPDG8/8rLnc=",
+            "dev": true
+        },
+        "hash-sum": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz",
+            "integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=",
+            "dev": true
+        },
+        "hast-util-embedded": {
+            "version": "1.0.6",
+            "resolved": "https://registry.nlark.com/hast-util-embedded/download/hast-util-embedded-1.0.6.tgz",
+            "integrity": "sha1-6nAHMjNRzEPhnh1iVrfN5mrRqgM=",
+            "dev": true,
+            "requires": {
+                "hast-util-is-element": "^1.1.0"
+            }
+        },
+        "hast-util-has-property": {
+            "version": "1.0.4",
+            "resolved": "https://registry.nlark.com/hast-util-has-property/download/hast-util-has-property-1.0.4.tgz",
+            "integrity": "sha1-nxN1ZfrWCCUks4LB59fTPKUFnzY=",
+            "dev": true
+        },
+        "hast-util-is-body-ok-link": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/hast-util-is-body-ok-link/download/hast-util-is-body-ok-link-1.0.4.tgz",
+            "integrity": "sha1-SasvrVLvBP5wrcvJXJ/DpjWMMr4=",
+            "dev": true,
+            "requires": {
+                "hast-util-has-property": "^1.0.0",
+                "hast-util-is-element": "^1.0.0"
+            }
+        },
+        "hast-util-is-element": {
+            "version": "1.1.0",
+            "resolved": "https://registry.nlark.com/hast-util-is-element/download/hast-util-is-element-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhast-util-is-element%2Fdownload%2Fhast-util-is-element-1.1.0.tgz",
+            "integrity": "sha1-Oz7VFZonB8YTe0hjf7/gaOF1pCU=",
+            "dev": true
+        },
+        "hast-util-parse-selector": {
+            "version": "2.2.5",
+            "resolved": "https://registry.nlark.com/hast-util-parse-selector/download/hast-util-parse-selector-2.2.5.tgz",
+            "integrity": "sha1-1Xwj9NoWrjxjs7bKRhZoMxNJnDo=",
+            "dev": true
+        },
+        "hast-util-to-string": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/hast-util-to-string/download/hast-util-to-string-1.0.4.tgz",
+            "integrity": "sha1-myTBFIZr25R4kn1+nDakhaxyg3g=",
+            "dev": true
+        },
+        "hast-util-whitespace": {
+            "version": "1.0.4",
+            "resolved": "https://registry.nlark.com/hast-util-whitespace/download/hast-util-whitespace-1.0.4.tgz",
+            "integrity": "sha1-5P53xKmuHLLmwl4C3wBD0BZPbkE=",
+            "dev": true
+        },
+        "hosted-git-info": {
+            "version": "2.8.9",
+            "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz?cache=0&sync_timestamp=1617826545071&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.9.tgz",
+            "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=",
+            "dev": true
+        },
+        "html-void-elements": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npm.taobao.org/html-void-elements/download/html-void-elements-1.0.5.tgz",
+            "integrity": "sha1-zpFZSU6G2V5FeVsWbCAhws/KRIM=",
+            "dev": true
+        },
+        "html-whitespace-sensitive-tag-names": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/html-whitespace-sensitive-tag-names/download/html-whitespace-sensitive-tag-names-1.0.3.tgz",
+            "integrity": "sha1-YDJcW9MxBI0Uzta6xBnInXbMndg=",
+            "dev": true
+        },
+        "htmlparser2": {
+            "version": "6.1.0",
+            "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-6.1.0.tgz?cache=0&sync_timestamp=1617914918585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-6.1.0.tgz",
+            "integrity": "sha1-xNditsM3GgXb5l6UrkOp+EX7j7c=",
+            "dev": true,
+            "requires": {
+                "domelementtype": "^2.0.1",
+                "domhandler": "^4.0.0",
+                "domutils": "^2.5.2",
+                "entities": "^2.0.0"
+            }
+        },
+        "http-cache-semantics": {
+            "version": "4.1.0",
+            "resolved": "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-4.1.0.tgz",
+            "integrity": "sha1-SekcXL82yblLz81xwj1SSex045A=",
+            "dev": true
+        },
+        "icss-replace-symbols": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz",
+            "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+            "dev": true
+        },
+        "icss-utils": {
+            "version": "5.1.0",
+            "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-5.1.0.tgz?cache=0&sync_timestamp=1605801267950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-5.1.0.tgz",
+            "integrity": "sha1-xr5oWKvQE9do6YNmrkfiXViHsa4=",
+            "dev": true
+        },
+        "ignore": {
+            "version": "5.1.8",
+            "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz",
+            "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=",
+            "dev": true
+        },
+        "import-lazy": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/import-lazy/download/import-lazy-2.1.0.tgz",
+            "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+            "dev": true
+        },
+        "imurmurhash": {
+            "version": "0.1.4",
+            "resolved": "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
+            "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+            "dev": true
+        },
+        "indent-string": {
+            "version": "3.2.0",
+            "resolved": "https://registry.nlark.com/indent-string/download/indent-string-3.2.0.tgz",
+            "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+            "dev": true
+        },
+        "inflight": {
+            "version": "1.0.6",
+            "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
+            "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+            "dev": true,
+            "requires": {
+                "once": "^1.3.0",
+                "wrappy": "1"
+            }
+        },
+        "inherits": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz",
+            "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=",
+            "dev": true
+        },
+        "ini": {
+            "version": "1.3.8",
+            "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.8.tgz?cache=0&sync_timestamp=1607907842483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fini%2Fdownload%2Fini-1.3.8.tgz",
+            "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=",
+            "dev": true
+        },
+        "invert-kv": {
+            "version": "1.0.0",
+            "resolved": "https://registry.nlark.com/invert-kv/download/invert-kv-1.0.0.tgz",
+            "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+            "dev": true
+        },
+        "is-alphabetical": {
+            "version": "1.0.4",
+            "resolved": "https://registry.nlark.com/is-alphabetical/download/is-alphabetical-1.0.4.tgz",
+            "integrity": "sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0=",
+            "dev": true
+        },
+        "is-alphanumerical": {
+            "version": "1.0.4",
+            "resolved": "https://registry.nlark.com/is-alphanumerical/download/is-alphanumerical-1.0.4.tgz",
+            "integrity": "sha1-frmiQx+FX2se8aeOMm31FWlsTb8=",
+            "dev": true,
+            "requires": {
+                "is-alphabetical": "^1.0.0",
+                "is-decimal": "^1.0.0"
+            }
+        },
+        "is-arrayish": {
+            "version": "0.2.1",
+            "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
+            "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+            "dev": true
+        },
+        "is-binary-path": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz",
+            "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
+            "dev": true,
+            "requires": {
+                "binary-extensions": "^2.0.0"
+            }
+        },
+        "is-buffer": {
+            "version": "2.0.5",
+            "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.5.tgz?cache=0&sync_timestamp=1604429452232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-2.0.5.tgz",
+            "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=",
+            "dev": true
+        },
+        "is-ci": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/is-ci/download/is-ci-2.0.0.tgz",
+            "integrity": "sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw=",
+            "dev": true,
+            "requires": {
+                "ci-info": "^2.0.0"
+            }
+        },
+        "is-core-module": {
+            "version": "2.4.0",
+            "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.4.0.tgz",
+            "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=",
+            "dev": true,
+            "requires": {
+                "has": "^1.0.3"
+            }
+        },
+        "is-decimal": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/is-decimal/download/is-decimal-1.0.4.tgz",
+            "integrity": "sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U=",
+            "dev": true
+        },
+        "is-docker": {
+            "version": "2.2.1",
+            "resolved": "https://registry.npm.taobao.org/is-docker/download/is-docker-2.2.1.tgz?cache=0&sync_timestamp=1617958843085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-docker%2Fdownload%2Fis-docker-2.2.1.tgz",
+            "integrity": "sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao=",
+            "dev": true
+        },
+        "is-empty": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/is-empty/download/is-empty-1.2.0.tgz",
+            "integrity": "sha1-3pu1snhzigWgsJpX4ftNSjQan2s=",
+            "dev": true
+        },
+        "is-expression": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/is-expression/download/is-expression-4.0.0.tgz",
+            "integrity": "sha1-wzFVliq/IdCv0lUlFNZ9LsFv0qs=",
+            "dev": true,
+            "requires": {
+                "acorn": "^7.1.1",
+                "object-assign": "^4.1.1"
+            }
+        },
+        "is-extglob": {
+            "version": "2.1.1",
+            "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
+            "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+            "dev": true
+        },
+        "is-fullwidth-code-point": {
+            "version": "2.0.0",
+            "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+            "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+            "dev": true
+        },
+        "is-glob": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
+            "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
+            "dev": true,
+            "requires": {
+                "is-extglob": "^2.1.1"
+            }
+        },
+        "is-hexadecimal": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/is-hexadecimal/download/is-hexadecimal-1.0.4.tgz?cache=0&sync_timestamp=1615464641587&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-hexadecimal%2Fdownload%2Fis-hexadecimal-1.0.4.tgz",
+            "integrity": "sha1-zDXJdYjaS9Saju3WvECC1E3LI6c=",
+            "dev": true
+        },
+        "is-hidden": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npm.taobao.org/is-hidden/download/is-hidden-1.1.3.tgz",
+            "integrity": "sha1-guhMx9v/+uQkJNcgN/gEF/O14QM=",
+            "dev": true
+        },
+        "is-installed-globally": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-installed-globally/download/is-installed-globally-0.1.0.tgz?cache=0&sync_timestamp=1610875271474&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-installed-globally%2Fdownload%2Fis-installed-globally-0.1.0.tgz",
+            "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
+            "dev": true,
+            "requires": {
+                "global-dirs": "^0.1.0",
+                "is-path-inside": "^1.0.0"
+            }
+        },
+        "is-npm": {
+            "version": "3.0.0",
+            "resolved": "https://registry.nlark.com/is-npm/download/is-npm-3.0.0.tgz",
+            "integrity": "sha1-7JFHv7YpxD9JTPZ5Nqlh7ex+gFM=",
+            "dev": true
+        },
+        "is-number": {
+            "version": "7.0.0",
+            "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
+            "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
+            "dev": true
+        },
+        "is-obj": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz?cache=0&sync_timestamp=1618600378936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-obj%2Fdownload%2Fis-obj-1.0.1.tgz",
+            "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+            "dev": true
+        },
+        "is-object": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/is-object/download/is-object-1.0.2.tgz?cache=0&sync_timestamp=1606927705512&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-object%2Fdownload%2Fis-object-1.0.2.tgz",
+            "integrity": "sha1-pWVS4cZlyelQtKAlRh2ofnL4b88=",
+            "dev": true
+        },
+        "is-path-inside": {
+            "version": "1.0.1",
+            "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-1.0.1.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-1.0.1.tgz",
+            "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+            "dev": true,
+            "requires": {
+                "path-is-inside": "^1.0.1"
+            }
+        },
+        "is-plain-obj": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz?cache=0&sync_timestamp=1618600535482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-1.1.0.tgz",
+            "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+            "dev": true
+        },
+        "is-promise": {
+            "version": "2.2.2",
+            "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.2.2.tgz",
+            "integrity": "sha1-OauVnMv5p3TPB597QMeib3YxNfE=",
+            "dev": true
+        },
+        "is-regex": {
+            "version": "1.1.3",
+            "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.3.tgz?cache=0&sync_timestamp=1620452285370&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.3.tgz",
+            "integrity": "sha1-0Cn5r/ZEi5Prvj8z2scVEf3L758=",
+            "dev": true,
+            "requires": {
+                "call-bind": "^1.0.2",
+                "has-symbols": "^1.0.2"
+            }
+        },
+        "is-stream": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz",
+            "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+            "dev": true
+        },
+        "is-utf8": {
+            "version": "0.2.1",
+            "resolved": "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
+            "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+            "dev": true
+        },
+        "is-wsl": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz",
+            "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=",
+            "dev": true,
+            "requires": {
+                "is-docker": "^2.0.0"
+            }
+        },
+        "is-yarn-global": {
+            "version": "0.3.0",
+            "resolved": "https://registry.nlark.com/is-yarn-global/download/is-yarn-global-0.3.0.tgz",
+            "integrity": "sha1-1QLTOCWQ6jAEiTdGdUyJE5lz4jI=",
+            "dev": true
+        },
+        "isarray": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
+            "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+            "dev": true
+        },
+        "isexe": {
+            "version": "2.0.0",
+            "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
+            "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+            "dev": true
+        },
+        "js-stringify": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/js-stringify/download/js-stringify-1.0.2.tgz",
+            "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=",
+            "dev": true
+        },
+        "js-yaml": {
+            "version": "3.14.1",
+            "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618435004368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz",
+            "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=",
+            "dev": true,
+            "requires": {
+                "argparse": "^1.0.7",
+                "esprima": "^4.0.0"
+            }
+        },
+        "json-buffer": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz",
+            "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
+            "dev": true
+        },
+        "json-parse-better-errors": {
+            "version": "1.0.2",
+            "resolved": "http://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz",
+            "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=",
+            "dev": true
+        },
+        "json5": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz",
+            "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=",
+            "dev": true,
+            "requires": {
+                "minimist": "^1.2.0"
+            }
+        },
+        "jsonc-parser": {
+            "version": "3.0.0",
+            "resolved": "https://registry.nlark.com/jsonc-parser/download/jsonc-parser-3.0.0.tgz",
+            "integrity": "sha1-q914VwHH5+rKip7IzwcMpRp0WiI=",
+            "dev": true
+        },
+        "jsonfile": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161917513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz",
+            "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.1.6"
+            }
+        },
+        "jstransformer": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/jstransformer/download/jstransformer-1.0.0.tgz",
+            "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=",
+            "dev": true,
+            "requires": {
+                "is-promise": "^2.0.0",
+                "promise": "^7.0.1"
+            }
+        },
+        "keyv": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npm.taobao.org/keyv/download/keyv-3.1.0.tgz",
+            "integrity": "sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk=",
+            "dev": true,
+            "requires": {
+                "json-buffer": "3.0.0"
+            }
+        },
+        "latest-version": {
+            "version": "5.1.0",
+            "resolved": "https://registry.npm.taobao.org/latest-version/download/latest-version-5.1.0.tgz",
+            "integrity": "sha1-EZ3+kI/jjRXfpD7NE/oS7Igy+s4=",
+            "dev": true,
+            "requires": {
+                "package-json": "^6.3.0"
+            }
+        },
+        "lcid": {
+            "version": "1.0.0",
+            "resolved": "https://registry.nlark.com/lcid/download/lcid-1.0.0.tgz",
+            "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+            "dev": true,
+            "requires": {
+                "invert-kv": "^1.0.0"
+            }
+        },
+        "load-json-file": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-4.0.0.tgz",
+            "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.1.2",
+                "parse-json": "^4.0.0",
+                "pify": "^3.0.0",
+                "strip-bom": "^3.0.0"
+            }
+        },
+        "load-plugin": {
+            "version": "2.3.1",
+            "resolved": "https://registry.nlark.com/load-plugin/download/load-plugin-2.3.1.tgz",
+            "integrity": "sha1-gCRzmvtKoE3h5gLhXlsaZ4xEPQA=",
+            "dev": true,
+            "requires": {
+                "npm-prefix": "^1.2.0",
+                "resolve-from": "^5.0.0"
+            }
+        },
+        "loader-utils": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz",
+            "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=",
+            "dev": true,
+            "requires": {
+                "big.js": "^5.2.2",
+                "emojis-list": "^3.0.0",
+                "json5": "^1.0.1"
+            }
+        },
+        "locate-path": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
+            "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+            "dev": true,
+            "requires": {
+                "p-locate": "^2.0.0",
+                "path-exists": "^3.0.0"
+            }
+        },
+        "lodash": {
+            "version": "4.17.21",
+            "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1613835860585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.21.tgz",
+            "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw="
+        },
+        "lodash.camelcase": {
+            "version": "4.3.0",
+            "resolved": "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz",
+            "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+            "dev": true
+        },
+        "lodash.iteratee": {
+            "version": "4.7.0",
+            "resolved": "https://registry.npm.taobao.org/lodash.iteratee/download/lodash.iteratee-4.7.0.tgz",
+            "integrity": "sha1-vkF32yiajMw8CZDx2ya1si/BVUw=",
+            "dev": true
+        },
+        "loud-rejection": {
+            "version": "1.6.0",
+            "resolved": "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz",
+            "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+            "dev": true,
+            "requires": {
+                "currently-unhandled": "^0.4.1",
+                "signal-exit": "^3.0.0"
+            }
+        },
+        "lowercase-keys": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz",
+            "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=",
+            "dev": true
+        },
+        "lru-cache": {
+            "version": "5.1.1",
+            "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz",
+            "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=",
+            "dev": true,
+            "requires": {
+                "yallist": "^3.0.2"
+            }
+        },
+        "magic-string": {
+            "version": "0.25.7",
+            "resolved": "https://registry.npm.taobao.org/magic-string/download/magic-string-0.25.7.tgz",
+            "integrity": "sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE=",
+            "dev": true,
+            "requires": {
+                "sourcemap-codec": "^1.4.4"
+            }
+        },
+        "make-dir": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz",
+            "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
+            "dev": true,
+            "requires": {
+                "pify": "^3.0.0"
+            }
+        },
+        "map-obj": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-2.0.0.tgz",
+            "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
+            "dev": true
+        },
+        "meow": {
+            "version": "5.0.0",
+            "resolved": "https://registry.nlark.com/meow/download/meow-5.0.0.tgz",
+            "integrity": "sha1-38c9Y6mvxxSl43F2DrXIi5EHiqQ=",
+            "dev": true,
+            "requires": {
+                "camelcase-keys": "^4.0.0",
+                "decamelize-keys": "^1.0.0",
+                "loud-rejection": "^1.0.0",
+                "minimist-options": "^3.0.1",
+                "normalize-package-data": "^2.3.4",
+                "read-pkg-up": "^3.0.0",
+                "redent": "^2.0.0",
+                "trim-newlines": "^2.0.0",
+                "yargs-parser": "^10.0.0"
+            }
+        },
+        "merge-source-map": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz",
+            "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=",
+            "dev": true,
+            "requires": {
+                "source-map": "^0.6.1"
+            }
+        },
+        "merge2": {
+            "version": "1.4.1",
+            "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz",
+            "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=",
+            "dev": true
+        },
+        "micromatch": {
+            "version": "4.0.4",
+            "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.4.tgz?cache=0&sync_timestamp=1618054740956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.4.tgz",
+            "integrity": "sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=",
+            "dev": true,
+            "requires": {
+                "braces": "^3.0.1",
+                "picomatch": "^2.2.3"
+            }
+        },
+        "mime": {
+            "version": "1.6.0",
+            "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz",
+            "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
+            "dev": true
+        },
+        "mimic-response": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz",
+            "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=",
+            "dev": true
+        },
+        "minimatch": {
+            "version": "3.0.4",
+            "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
+            "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+            "dev": true,
+            "requires": {
+                "brace-expansion": "^1.1.7"
+            }
+        },
+        "minimist": {
+            "version": "1.2.5",
+            "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1606706583368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz",
+            "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=",
+            "dev": true
+        },
+        "minimist-options": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npm.taobao.org/minimist-options/download/minimist-options-3.0.2.tgz",
+            "integrity": "sha1-+6TIGRM54T7PTWG+sD8HAQPz2VQ=",
+            "dev": true,
+            "requires": {
+                "arrify": "^1.0.1",
+                "is-plain-obj": "^1.1.0"
+            }
+        },
+        "mitt": {
+            "version": "2.1.0",
+            "resolved": "https://registry.nlark.com/mitt/download/mitt-2.1.0.tgz",
+            "integrity": "sha1-90BXfCMXbGIFsSGylzUU6t4bIjA="
+        },
+        "ms": {
+            "version": "2.1.3",
+            "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.3.tgz?cache=0&sync_timestamp=1607433905701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.3.tgz",
+            "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=",
+            "dev": true
+        },
+        "nanoid": {
+            "version": "3.1.23",
+            "resolved": "https://registry.nlark.com/nanoid/download/nanoid-3.1.23.tgz",
+            "integrity": "sha1-90QIbOfCvEfuCoRyV01ceOQYOoE=",
+            "dev": true
+        },
+        "node-static": {
+            "version": "0.7.11",
+            "resolved": "https://registry.npm.taobao.org/node-static/download/node-static-0.7.11.tgz",
+            "integrity": "sha1-YBINNJ8871M+ToIGcAV+tjGILn8=",
+            "dev": true,
+            "requires": {
+                "colors": ">=0.6.0",
+                "mime": "^1.2.9",
+                "optimist": ">=0.3.4"
+            }
+        },
+        "normalize-package-data": {
+            "version": "2.5.0",
+            "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz",
+            "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
+            "dev": true,
+            "requires": {
+                "hosted-git-info": "^2.1.4",
+                "resolve": "^1.10.0",
+                "semver": "2 || 3 || 4 || 5",
+                "validate-npm-package-license": "^3.0.1"
+            }
+        },
+        "normalize-path": {
+            "version": "3.0.0",
+            "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
+            "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
+            "dev": true
+        },
+        "normalize-url": {
+            "version": "4.5.0",
+            "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-4.5.0.tgz",
+            "integrity": "sha1-RTNUCH5sqWlXvY9br3U/WYIUISk=",
+            "dev": true
+        },
+        "normalize-wheel": {
+            "version": "1.0.1",
+            "resolved": "https://registry.nlark.com/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
+            "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
+        },
+        "npm-prefix": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/npm-prefix/download/npm-prefix-1.2.0.tgz",
+            "integrity": "sha1-5hlFX3B0ulTMZtbQ033Z8b5ry8A=",
+            "dev": true,
+            "requires": {
+                "rc": "^1.1.0",
+                "shellsubstitute": "^1.1.0",
+                "untildify": "^2.1.0"
+            }
+        },
+        "npm-run-path": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz",
+            "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+            "dev": true,
+            "requires": {
+                "path-key": "^2.0.0"
+            }
+        },
+        "number-is-nan": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz?cache=0&sync_timestamp=1617776101309&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnumber-is-nan%2Fdownload%2Fnumber-is-nan-1.0.1.tgz",
+            "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+            "dev": true
+        },
+        "object-assign": {
+            "version": "4.1.1",
+            "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
+            "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+            "dev": true
+        },
+        "once": {
+            "version": "1.4.0",
+            "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
+            "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+            "dev": true,
+            "requires": {
+                "wrappy": "1"
+            }
+        },
+        "open": {
+            "version": "7.4.2",
+            "resolved": "https://registry.nlark.com/open/download/open-7.4.2.tgz?cache=0&sync_timestamp=1621232829935&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fopen%2Fdownload%2Fopen-7.4.2.tgz",
+            "integrity": "sha1-uBR+Jtzz5CYxbHMAif1x7dKcIyE=",
+            "dev": true,
+            "requires": {
+                "is-docker": "^2.0.0",
+                "is-wsl": "^2.1.1"
+            }
+        },
+        "optimist": {
+            "version": "0.6.1",
+            "resolved": "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz",
+            "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+            "dev": true,
+            "requires": {
+                "minimist": "~0.0.1",
+                "wordwrap": "~0.0.2"
+            },
+            "dependencies": {
+                "minimist": {
+                    "version": "0.0.10",
+                    "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-0.0.10.tgz?cache=0&sync_timestamp=1606706583368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-0.0.10.tgz",
+                    "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+                    "dev": true
+                }
+            }
+        },
+        "os-homedir": {
+            "version": "1.0.2",
+            "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz",
+            "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+            "dev": true
+        },
+        "os-locale": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz",
+            "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+            "dev": true,
+            "requires": {
+                "lcid": "^1.0.0"
+            }
+        },
+        "p-cancelable": {
+            "version": "1.1.0",
+            "resolved": "https://registry.nlark.com/p-cancelable/download/p-cancelable-1.1.0.tgz?cache=0&sync_timestamp=1619950979130&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-cancelable%2Fdownload%2Fp-cancelable-1.1.0.tgz",
+            "integrity": "sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw=",
+            "dev": true
+        },
+        "p-finally": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
+            "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+            "dev": true
+        },
+        "p-limit": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1606290276843&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz",
+            "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
+            "dev": true,
+            "requires": {
+                "p-try": "^1.0.0"
+            }
+        },
+        "p-locate": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
+            "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+            "dev": true,
+            "requires": {
+                "p-limit": "^1.1.0"
+            }
+        },
+        "p-try": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
+            "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+            "dev": true
+        },
+        "package-json": {
+            "version": "6.5.0",
+            "resolved": "https://registry.npm.taobao.org/package-json/download/package-json-6.5.0.tgz",
+            "integrity": "sha1-b+7ayjXnVyWHbQsOZJdGl/7RRbA=",
+            "dev": true,
+            "requires": {
+                "got": "^9.6.0",
+                "registry-auth-token": "^4.0.0",
+                "registry-url": "^5.0.0",
+                "semver": "^6.2.0"
+            },
+            "dependencies": {
+                "semver": {
+                    "version": "6.3.0",
+                    "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz",
+                    "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
+                    "dev": true
+                }
+            }
+        },
+        "parse-json": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1610966646988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz",
+            "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+            "dev": true,
+            "requires": {
+                "error-ex": "^1.3.1",
+                "json-parse-better-errors": "^1.0.1"
+            }
+        },
+        "path-exists": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
+            "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+            "dev": true
+        },
+        "path-is-absolute": {
+            "version": "1.0.1",
+            "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
+            "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+            "dev": true
+        },
+        "path-is-inside": {
+            "version": "1.0.2",
+            "resolved": "http://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz",
+            "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+            "dev": true
+        },
+        "path-key": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1617971695678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz",
+            "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+            "dev": true
+        },
+        "path-parse": {
+            "version": "1.0.6",
+            "resolved": "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz",
+            "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=",
+            "dev": true
+        },
+        "path-type": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz?cache=0&sync_timestamp=1611752015315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-4.0.0.tgz",
+            "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=",
+            "dev": true
+        },
+        "picomatch": {
+            "version": "2.2.3",
+            "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.3.tgz",
+            "integrity": "sha1-RlVH81nMwgbTxI5Goby4m/fuYZ0=",
+            "dev": true
+        },
+        "pify": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
+            "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+            "dev": true
+        },
+        "pinkie": {
+            "version": "2.0.4",
+            "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
+            "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+            "dev": true
+        },
+        "pinkie-promise": {
+            "version": "2.0.1",
+            "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
+            "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+            "dev": true,
+            "requires": {
+                "pinkie": "^2.0.0"
+            }
+        },
+        "postcss": {
+            "version": "8.2.15",
+            "resolved": "https://registry.nlark.com/postcss/download/postcss-8.2.15.tgz?cache=0&sync_timestamp=1620676610377&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss%2Fdownload%2Fpostcss-8.2.15.tgz",
+            "integrity": "sha1-nmbM8HKSgX0ib8MVy7+bwUj7ymU=",
+            "dev": true,
+            "requires": {
+                "colorette": "^1.2.2",
+                "nanoid": "^3.1.23",
+                "source-map": "^0.6.1"
+            }
+        },
+        "postcss-modules": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-modules/download/postcss-modules-4.0.0.tgz",
+            "integrity": "sha1-K8fydquI8/Gw+t9svXdy1DtfO5s=",
+            "dev": true,
+            "requires": {
+                "generic-names": "^2.0.1",
+                "icss-replace-symbols": "^1.1.0",
+                "lodash.camelcase": "^4.3.0",
+                "postcss-modules-extract-imports": "^3.0.0",
+                "postcss-modules-local-by-default": "^4.0.0",
+                "postcss-modules-scope": "^3.0.0",
+                "postcss-modules-values": "^4.0.0",
+                "string-hash": "^1.1.1"
+            }
+        },
+        "postcss-modules-extract-imports": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-3.0.0.tgz",
+            "integrity": "sha1-zaHwR8CugMl9vijD52pDuIAldB0=",
+            "dev": true
+        },
+        "postcss-modules-local-by-default": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-4.0.0.tgz?cache=0&sync_timestamp=1602587682123&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-4.0.0.tgz",
+            "integrity": "sha1-67tU+uFZjuz99pGgKz/zs5ClpRw=",
+            "dev": true,
+            "requires": {
+                "icss-utils": "^5.0.0",
+                "postcss-selector-parser": "^6.0.2",
+                "postcss-value-parser": "^4.1.0"
+            }
+        },
+        "postcss-modules-scope": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-3.0.0.tgz",
+            "integrity": "sha1-nvMVFFbTu/oSDKRImN/Kby+gHwY=",
+            "dev": true,
+            "requires": {
+                "postcss-selector-parser": "^6.0.4"
+            }
+        },
+        "postcss-modules-values": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-4.0.0.tgz",
+            "integrity": "sha1-18Xn5ow7s8myfL9Iyguz/7RgLJw=",
+            "dev": true,
+            "requires": {
+                "icss-utils": "^5.0.0"
+            }
+        },
+        "postcss-selector-parser": {
+            "version": "6.0.6",
+            "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz",
+            "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=",
+            "dev": true,
+            "requires": {
+                "cssesc": "^3.0.0",
+                "util-deprecate": "^1.0.2"
+            }
+        },
+        "postcss-value-parser": {
+            "version": "4.1.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz",
+            "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=",
+            "dev": true
+        },
+        "prepend-http": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz",
+            "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+            "dev": true
+        },
+        "prettier": {
+            "version": "1.19.1",
+            "resolved": "https://registry.nlark.com/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1620594183343&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz",
+            "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=",
+            "dev": true
+        },
+        "process-nextick-args": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz",
+            "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=",
+            "dev": true
+        },
+        "promise": {
+            "version": "7.3.1",
+            "resolved": "https://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz",
+            "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=",
+            "dev": true,
+            "requires": {
+                "asap": "~2.0.3"
+            }
+        },
+        "property-information": {
+            "version": "5.6.0",
+            "resolved": "https://registry.nlark.com/property-information/download/property-information-5.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fproperty-information%2Fdownload%2Fproperty-information-5.6.0.tgz",
+            "integrity": "sha1-YWdVRfsjAC8kXGVA7EYHfU2j7Wk=",
+            "dev": true,
+            "requires": {
+                "xtend": "^4.0.0"
+            }
+        },
+        "pseudomap": {
+            "version": "1.0.2",
+            "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
+            "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+            "dev": true
+        },
+        "pug": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npm.taobao.org/pug/download/pug-3.0.2.tgz",
+            "integrity": "sha1-81xxBzQ0VOQ7wnrg/3bHMbeOpTU=",
+            "dev": true,
+            "requires": {
+                "pug-code-gen": "^3.0.2",
+                "pug-filters": "^4.0.0",
+                "pug-lexer": "^5.0.1",
+                "pug-linker": "^4.0.0",
+                "pug-load": "^3.0.0",
+                "pug-parser": "^6.0.0",
+                "pug-runtime": "^3.0.1",
+                "pug-strip-comments": "^2.0.0"
+            }
+        },
+        "pug-attrs": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/pug-attrs/download/pug-attrs-3.0.0.tgz",
+            "integrity": "sha1-sQRR4DSBZeMfrRzCPr3dncc0fEE=",
+            "dev": true,
+            "requires": {
+                "constantinople": "^4.0.1",
+                "js-stringify": "^1.0.2",
+                "pug-runtime": "^3.0.0"
+            }
+        },
+        "pug-beautify": {
+            "version": "0.1.1",
+            "resolved": "https://registry.nlark.com/pug-beautify/download/pug-beautify-0.1.1.tgz",
+            "integrity": "sha1-33+8cO6AwYpkIt/6sv5QgYjNzBg=",
+            "dev": true
+        },
+        "pug-code-gen": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npm.taobao.org/pug-code-gen/download/pug-code-gen-3.0.2.tgz",
+            "integrity": "sha1-rRkPSUMTO/GGtguA3kgxAOEy4s4=",
+            "dev": true,
+            "requires": {
+                "constantinople": "^4.0.1",
+                "doctypes": "^1.1.0",
+                "js-stringify": "^1.0.2",
+                "pug-attrs": "^3.0.0",
+                "pug-error": "^2.0.0",
+                "pug-runtime": "^3.0.0",
+                "void-elements": "^3.1.0",
+                "with": "^7.0.0"
+            }
+        },
+        "pug-error": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/pug-error/download/pug-error-2.0.0.tgz",
+            "integrity": "sha1-XGIXPLCcNN4qLOBPF7it/sdNjKU=",
+            "dev": true
+        },
+        "pug-filters": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/pug-filters/download/pug-filters-4.0.0.tgz",
+            "integrity": "sha1-0+Sa9bqEcum3pm2YDnB86dLMm14=",
+            "dev": true,
+            "requires": {
+                "constantinople": "^4.0.1",
+                "jstransformer": "1.0.0",
+                "pug-error": "^2.0.0",
+                "pug-walk": "^2.0.0",
+                "resolve": "^1.15.1"
+            }
+        },
+        "pug-lexer": {
+            "version": "5.0.1",
+            "resolved": "https://registry.npm.taobao.org/pug-lexer/download/pug-lexer-5.0.1.tgz",
+            "integrity": "sha1-rkRijFvvmxkLZlaDsojKkCS4sNU=",
+            "dev": true,
+            "requires": {
+                "character-parser": "^2.2.0",
+                "is-expression": "^4.0.0",
+                "pug-error": "^2.0.0"
+            }
+        },
+        "pug-linker": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/pug-linker/download/pug-linker-4.0.0.tgz",
+            "integrity": "sha1-EsvAWU/Fo+Brn8Web5PBRpYqdwg=",
+            "dev": true,
+            "requires": {
+                "pug-error": "^2.0.0",
+                "pug-walk": "^2.0.0"
+            }
+        },
+        "pug-load": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/pug-load/download/pug-load-3.0.0.tgz",
+            "integrity": "sha1-n9nNpSICsIrbEdJWgfufNL1BtmI=",
+            "dev": true,
+            "requires": {
+                "object-assign": "^4.1.1",
+                "pug-walk": "^2.0.0"
+            }
+        },
+        "pug-parser": {
+            "version": "6.0.0",
+            "resolved": "https://registry.npm.taobao.org/pug-parser/download/pug-parser-6.0.0.tgz",
+            "integrity": "sha1-qP3ANYY6lbLB3F6/Ts+AtOdqEmA=",
+            "dev": true,
+            "requires": {
+                "pug-error": "^2.0.0",
+                "token-stream": "1.0.0"
+            }
+        },
+        "pug-runtime": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npm.taobao.org/pug-runtime/download/pug-runtime-3.0.1.tgz",
+            "integrity": "sha1-9jaXYgRyPzWoxfb61qzaKhkbg9c=",
+            "dev": true
+        },
+        "pug-strip-comments": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/pug-strip-comments/download/pug-strip-comments-2.0.0.tgz",
+            "integrity": "sha1-+UsH/WtJVSMzD0kKf1VLT/h2MD4=",
+            "dev": true,
+            "requires": {
+                "pug-error": "^2.0.0"
+            }
+        },
+        "pug-walk": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/pug-walk/download/pug-walk-2.0.0.tgz",
+            "integrity": "sha1-QXqrwpIyu0SZtbUGmistKiTV9f4=",
+            "dev": true
+        },
+        "pump": {
+            "version": "3.0.0",
+            "resolved": "http://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz",
+            "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
+            "dev": true,
+            "requires": {
+                "end-of-stream": "^1.1.0",
+                "once": "^1.3.1"
+            }
+        },
+        "queue-microtask": {
+            "version": "1.2.3",
+            "resolved": "https://registry.npm.taobao.org/queue-microtask/download/queue-microtask-1.2.3.tgz?cache=0&sync_timestamp=1616391510274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqueue-microtask%2Fdownload%2Fqueue-microtask-1.2.3.tgz",
+            "integrity": "sha1-SSkii7xyTfrEPg77BYyve2z7YkM=",
+            "dev": true
+        },
+        "quick-lru": {
+            "version": "1.1.0",
+            "resolved": "https://registry.nlark.com/quick-lru/download/quick-lru-1.1.0.tgz",
+            "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+            "dev": true
+        },
+        "rc": {
+            "version": "1.2.8",
+            "resolved": "https://registry.npm.taobao.org/rc/download/rc-1.2.8.tgz",
+            "integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=",
+            "dev": true,
+            "requires": {
+                "deep-extend": "^0.6.0",
+                "ini": "~1.3.0",
+                "minimist": "^1.2.0",
+                "strip-json-comments": "~2.0.1"
+            }
+        },
+        "read-pkg": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz",
+            "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+            "dev": true,
+            "requires": {
+                "load-json-file": "^4.0.0",
+                "normalize-package-data": "^2.3.2",
+                "path-type": "^3.0.0"
+            },
+            "dependencies": {
+                "path-type": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz?cache=0&sync_timestamp=1611752015315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-3.0.0.tgz",
+                    "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
+                    "dev": true,
+                    "requires": {
+                        "pify": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "read-pkg-up": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-3.0.0.tgz",
+            "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+            "dev": true,
+            "requires": {
+                "find-up": "^2.0.0",
+                "read-pkg": "^3.0.0"
+            }
+        },
+        "readable-stream": {
+            "version": "2.3.7",
+            "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+            "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+            "dev": true,
+            "requires": {
+                "core-util-is": "~1.0.0",
+                "inherits": "~2.0.3",
+                "isarray": "~1.0.0",
+                "process-nextick-args": "~2.0.0",
+                "safe-buffer": "~5.1.1",
+                "string_decoder": "~1.1.1",
+                "util-deprecate": "~1.0.1"
+            }
+        },
+        "readdirp": {
+            "version": "3.5.0",
+            "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz?cache=0&sync_timestamp=1615717369278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.5.0.tgz",
+            "integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=",
+            "dev": true,
+            "requires": {
+                "picomatch": "^2.2.1"
+            }
+        },
+        "redent": {
+            "version": "2.0.0",
+            "resolved": "https://registry.nlark.com/redent/download/redent-2.0.0.tgz?cache=0&sync_timestamp=1620069702182&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fredent%2Fdownload%2Fredent-2.0.0.tgz",
+            "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+            "dev": true,
+            "requires": {
+                "indent-string": "^3.0.0",
+                "strip-indent": "^2.0.0"
+            }
+        },
+        "registry-auth-token": {
+            "version": "4.2.1",
+            "resolved": "https://registry.npm.taobao.org/registry-auth-token/download/registry-auth-token-4.2.1.tgz",
+            "integrity": "sha1-bXtABkQZGJcszV/tzUHcMix5slA=",
+            "dev": true,
+            "requires": {
+                "rc": "^1.2.8"
+            }
+        },
+        "registry-url": {
+            "version": "5.1.0",
+            "resolved": "https://registry.nlark.com/registry-url/download/registry-url-5.1.0.tgz",
+            "integrity": "sha1-6YM0tQ1UNLgRNrROxjjZwgCcUAk=",
+            "dev": true,
+            "requires": {
+                "rc": "^1.2.8"
+            }
+        },
+        "rehype-sort-attribute-values": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/rehype-sort-attribute-values/download/rehype-sort-attribute-values-2.0.1.tgz",
+            "integrity": "sha1-K7ZqUOWPmGNorxTpZk/HICmNp9U=",
+            "dev": true,
+            "requires": {
+                "hast-util-is-element": "^1.0.0",
+                "unist-util-visit": "^1.1.0",
+                "x-is-array": "^0.1.0"
+            }
+        },
+        "repeat-string": {
+            "version": "1.6.1",
+            "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
+            "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+            "dev": true
+        },
+        "replace-ext": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz",
+            "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+            "dev": true
+        },
+        "require-directory": {
+            "version": "2.1.1",
+            "resolved": "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
+            "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+            "dev": true
+        },
+        "require-main-filename": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
+            "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+            "dev": true
+        },
+        "resize-observer-polyfill": {
+            "version": "1.5.1",
+            "resolved": "https://registry.nlark.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
+            "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
+        },
+        "resolve": {
+            "version": "1.20.0",
+            "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz",
+            "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=",
+            "dev": true,
+            "requires": {
+                "is-core-module": "^2.2.0",
+                "path-parse": "^1.0.6"
+            }
+        },
+        "resolve-from": {
+            "version": "5.0.0",
+            "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz",
+            "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=",
+            "dev": true
+        },
+        "responselike": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz",
+            "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+            "dev": true,
+            "requires": {
+                "lowercase-keys": "^1.0.0"
+            }
+        },
+        "reusify": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz",
+            "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=",
+            "dev": true
+        },
+        "rollup": {
+            "version": "2.48.0",
+            "resolved": "https://registry.nlark.com/rollup/download/rollup-2.48.0.tgz?cache=0&sync_timestamp=1621312576981&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frollup%2Fdownload%2Frollup-2.48.0.tgz",
+            "integrity": "sha1-/OsB7XcfmR8p970v94OBRuVay3Q=",
+            "dev": true,
+            "requires": {
+                "fsevents": "~2.3.1"
+            }
+        },
+        "run-parallel": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.2.0.tgz",
+            "integrity": "sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=",
+            "dev": true,
+            "requires": {
+                "queue-microtask": "^1.2.2"
+            }
+        },
+        "safe-buffer": {
+            "version": "5.1.2",
+            "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+            "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=",
+            "dev": true
+        },
+        "sass": {
+            "version": "1.32.13",
+            "resolved": "https://registry.nlark.com/sass/download/sass-1.32.13.tgz",
+            "integrity": "sha1-jSnISeYlpBW85xYJx8+V4V907QA=",
+            "dev": true,
+            "requires": {
+                "chokidar": ">=3.0.0 <4.0.0"
+            }
+        },
+        "semver": {
+            "version": "5.7.1",
+            "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
+            "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
+            "dev": true
+        },
+        "semver-diff": {
+            "version": "2.1.0",
+            "resolved": "https://registry.nlark.com/semver-diff/download/semver-diff-2.1.0.tgz",
+            "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+            "dev": true,
+            "requires": {
+                "semver": "^5.0.3"
+            }
+        },
+        "set-blocking": {
+            "version": "2.0.0",
+            "resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
+            "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+            "dev": true
+        },
+        "shebang-command": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz",
+            "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+            "dev": true,
+            "requires": {
+                "shebang-regex": "^1.0.0"
+            }
+        },
+        "shebang-regex": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
+            "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+            "dev": true
+        },
+        "shellsubstitute": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/shellsubstitute/download/shellsubstitute-1.2.0.tgz",
+            "integrity": "sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A=",
+            "dev": true
+        },
+        "signal-exit": {
+            "version": "3.0.3",
+            "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz",
+            "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=",
+            "dev": true
+        },
+        "slash": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz?cache=0&sync_timestamp=1618384508676&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslash%2Fdownload%2Fslash-3.0.0.tgz",
+            "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=",
+            "dev": true
+        },
+        "source-map": {
+            "version": "0.6.1",
+            "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+            "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        },
+        "sourcemap-codec": {
+            "version": "1.4.8",
+            "resolved": "https://registry.npm.taobao.org/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz",
+            "integrity": "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=",
+            "dev": true
+        },
+        "space-separated-tokens": {
+            "version": "1.1.5",
+            "resolved": "https://registry.nlark.com/space-separated-tokens/download/space-separated-tokens-1.1.5.tgz",
+            "integrity": "sha1-hfMsPRDZaCAH6RdBTdxcJtGqaJk=",
+            "dev": true
+        },
+        "spdx-correct": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz",
+            "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=",
+            "dev": true,
+            "requires": {
+                "spdx-expression-parse": "^3.0.0",
+                "spdx-license-ids": "^3.0.0"
+            }
+        },
+        "spdx-exceptions": {
+            "version": "2.3.0",
+            "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz",
+            "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=",
+            "dev": true
+        },
+        "spdx-expression-parse": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz",
+            "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=",
+            "dev": true,
+            "requires": {
+                "spdx-exceptions": "^2.1.0",
+                "spdx-license-ids": "^3.0.0"
+            }
+        },
+        "spdx-license-ids": {
+            "version": "3.0.8",
+            "resolved": "https://registry.nlark.com/spdx-license-ids/download/spdx-license-ids-3.0.8.tgz",
+            "integrity": "sha1-6x6XrZmxG/P4KjtxoEct2aAPLs8=",
+            "dev": true
+        },
+        "sprintf-js": {
+            "version": "1.0.3",
+            "resolved": "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&sync_timestamp=1618847174560&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz",
+            "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+            "dev": true
+        },
+        "string-hash": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npm.taobao.org/string-hash/download/string-hash-1.1.3.tgz",
+            "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=",
+            "dev": true
+        },
+        "string-width": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz",
+            "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+            "dev": true,
+            "requires": {
+                "is-fullwidth-code-point": "^2.0.0",
+                "strip-ansi": "^4.0.0"
+            }
+        },
+        "string_decoder": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
+            "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+            "dev": true,
+            "requires": {
+                "safe-buffer": "~5.1.0"
+            }
+        },
+        "stringify-entities": {
+            "version": "2.0.0",
+            "resolved": "https://registry.nlark.com/stringify-entities/download/stringify-entities-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstringify-entities%2Fdownload%2Fstringify-entities-2.0.0.tgz",
+            "integrity": "sha1-+nymYUs1X7bChEgUCiDE7edGKCc=",
+            "dev": true,
+            "requires": {
+                "character-entities-html4": "^1.0.0",
+                "character-entities-legacy": "^1.0.0",
+                "is-alphanumerical": "^1.0.0",
+                "is-decimal": "^1.0.2",
+                "is-hexadecimal": "^1.0.0"
+            }
+        },
+        "strip-ansi": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz",
+            "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+            "dev": true,
+            "requires": {
+                "ansi-regex": "^3.0.0"
+            }
+        },
+        "strip-bom": {
+            "version": "3.0.0",
+            "resolved": "https://registry.nlark.com/strip-bom/download/strip-bom-3.0.0.tgz",
+            "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+            "dev": true
+        },
+        "strip-eof": {
+            "version": "1.0.0",
+            "resolved": "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz",
+            "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+            "dev": true
+        },
+        "strip-indent": {
+            "version": "2.0.0",
+            "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-2.0.0.tgz",
+            "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
+            "dev": true
+        },
+        "strip-json-comments": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz?cache=0&sync_timestamp=1594567532500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-2.0.1.tgz",
+            "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+            "dev": true
+        },
+        "supports-color": {
+            "version": "7.2.0",
+            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
+            "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
+            "dev": true,
+            "requires": {
+                "has-flag": "^4.0.0"
+            }
+        },
+        "term-size": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/term-size/download/term-size-1.2.0.tgz",
+            "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
+            "dev": true,
+            "requires": {
+                "execa": "^0.7.0"
+            }
+        },
+        "to-fast-properties": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+            "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+        },
+        "to-readable-stream": {
+            "version": "1.0.0",
+            "resolved": "https://registry.nlark.com/to-readable-stream/download/to-readable-stream-1.0.0.tgz",
+            "integrity": "sha1-zgqgwvPfat+FLvtASng+d8BHV3E=",
+            "dev": true
+        },
+        "to-regex-range": {
+            "version": "5.0.1",
+            "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
+            "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
+            "dev": true,
+            "requires": {
+                "is-number": "^7.0.0"
+            }
+        },
+        "to-vfile": {
+            "version": "6.1.0",
+            "resolved": "https://registry.nlark.com/to-vfile/download/to-vfile-6.1.0.tgz",
+            "integrity": "sha1-X3o/ZYE8LE407h92Q6VkY0Ridpk=",
+            "dev": true,
+            "requires": {
+                "is-buffer": "^2.0.0",
+                "vfile": "^4.0.0"
+            }
+        },
+        "token-stream": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/token-stream/download/token-stream-1.0.0.tgz",
+            "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=",
+            "dev": true
+        },
+        "trim-newlines": {
+            "version": "2.0.0",
+            "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-2.0.0.tgz?cache=0&sync_timestamp=1619005721489&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-2.0.0.tgz",
+            "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
+            "dev": true
+        },
+        "trough": {
+            "version": "1.0.5",
+            "resolved": "https://registry.nlark.com/trough/download/trough-1.0.5.tgz?cache=0&sync_timestamp=1620719076073&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrough%2Fdownload%2Ftrough-1.0.5.tgz",
+            "integrity": "sha1-uLY5zvrX0LsqvTfUM/+Ck++l9AY=",
+            "dev": true
+        },
+        "type-fest": {
+            "version": "0.3.1",
+            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.3.1.tgz?cache=0&sync_timestamp=1621402383646&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.3.1.tgz",
+            "integrity": "sha1-Y9ANIE4FlHT+Xht8ARESu9HcKeE=",
+            "dev": true
+        },
+        "typedarray": {
+            "version": "0.0.6",
+            "resolved": "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
+            "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+            "dev": true
+        },
+        "typescript": {
+            "version": "4.2.4",
+            "resolved": "https://registry.nlark.com/typescript/download/typescript-4.2.4.tgz",
+            "integrity": "sha1-hhC1l0feAo/aiYqK7w4QPxVtCWE=",
+            "dev": true
+        },
+        "typescript-vscode-sh-plugin": {
+            "version": "0.6.14",
+            "resolved": "https://registry.nlark.com/typescript-vscode-sh-plugin/download/typescript-vscode-sh-plugin-0.6.14.tgz",
+            "integrity": "sha1-qBAxtQL2NGom6knOCCQ4w+NTuzg=",
+            "dev": true
+        },
+        "unified": {
+            "version": "7.1.0",
+            "resolved": "https://registry.npm.taobao.org/unified/download/unified-7.1.0.tgz?cache=0&sync_timestamp=1614242747826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funified%2Fdownload%2Funified-7.1.0.tgz",
+            "integrity": "sha1-UDLxwe4zZL0J2hLif91KdVPHvhM=",
+            "dev": true,
+            "requires": {
+                "@types/unist": "^2.0.0",
+                "@types/vfile": "^3.0.0",
+                "bail": "^1.0.0",
+                "extend": "^3.0.0",
+                "is-plain-obj": "^1.1.0",
+                "trough": "^1.0.0",
+                "vfile": "^3.0.0",
+                "x-is-string": "^0.1.0"
+            },
+            "dependencies": {
+                "unist-util-stringify-position": {
+                    "version": "1.1.2",
+                    "resolved": "https://registry.nlark.com/unist-util-stringify-position/download/unist-util-stringify-position-1.1.2.tgz",
+                    "integrity": "sha1-Pzf881EnncvKdICrWIm7ioMu4cY=",
+                    "dev": true
+                },
+                "vfile": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.nlark.com/vfile/download/vfile-3.0.1.tgz",
+                    "integrity": "sha1-RzMdKr4ygkJPSku2rNIKRMQSGAM=",
+                    "dev": true,
+                    "requires": {
+                        "is-buffer": "^2.0.0",
+                        "replace-ext": "1.0.0",
+                        "unist-util-stringify-position": "^1.0.0",
+                        "vfile-message": "^1.0.0"
+                    }
+                },
+                "vfile-message": {
+                    "version": "1.1.1",
+                    "resolved": "https://registry.nlark.com/vfile-message/download/vfile-message-1.1.1.tgz?cache=0&sync_timestamp=1620225074436&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile-message%2Fdownload%2Fvfile-message-1.1.1.tgz",
+                    "integrity": "sha1-WDOuB4od+i2W6WR4hs0ymTqzE+E=",
+                    "dev": true,
+                    "requires": {
+                        "unist-util-stringify-position": "^1.1.1"
+                    }
+                }
+            }
+        },
+        "unified-engine": {
+            "version": "6.0.1",
+            "resolved": "https://registry.npm.taobao.org/unified-engine/download/unified-engine-6.0.1.tgz",
+            "integrity": "sha1-IiNvHSU6bQe2YF7Kg6K8zgj8bwU=",
+            "dev": true,
+            "requires": {
+                "concat-stream": "^1.5.1",
+                "debug": "^3.1.0",
+                "fault": "^1.0.0",
+                "fn-name": "^2.0.1",
+                "glob": "^7.0.3",
+                "ignore": "^3.2.0",
+                "is-empty": "^1.0.0",
+                "is-hidden": "^1.0.1",
+                "is-object": "^1.0.1",
+                "js-yaml": "^3.6.1",
+                "load-plugin": "^2.0.0",
+                "parse-json": "^4.0.0",
+                "to-vfile": "^4.0.0",
+                "trough": "^1.0.0",
+                "unist-util-inspect": "^4.1.2",
+                "vfile-reporter": "^5.0.0",
+                "vfile-statistics": "^1.1.0",
+                "x-is-string": "^0.1.0",
+                "xtend": "^4.0.1"
+            },
+            "dependencies": {
+                "has-flag": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
+                    "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+                    "dev": true
+                },
+                "ignore": {
+                    "version": "3.3.10",
+                    "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz",
+                    "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "5.5.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+                    "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                },
+                "to-vfile": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/to-vfile/download/to-vfile-4.0.0.tgz",
+                    "integrity": "sha1-RlreX8K56X5sgLhU03il0PS10Eo=",
+                    "dev": true,
+                    "requires": {
+                        "is-buffer": "^2.0.0",
+                        "vfile": "^3.0.0"
+                    }
+                },
+                "unist-util-stringify-position": {
+                    "version": "1.1.2",
+                    "resolved": "https://registry.nlark.com/unist-util-stringify-position/download/unist-util-stringify-position-1.1.2.tgz",
+                    "integrity": "sha1-Pzf881EnncvKdICrWIm7ioMu4cY=",
+                    "dev": true
+                },
+                "vfile": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.nlark.com/vfile/download/vfile-3.0.1.tgz",
+                    "integrity": "sha1-RzMdKr4ygkJPSku2rNIKRMQSGAM=",
+                    "dev": true,
+                    "requires": {
+                        "is-buffer": "^2.0.0",
+                        "replace-ext": "1.0.0",
+                        "unist-util-stringify-position": "^1.0.0",
+                        "vfile-message": "^1.0.0"
+                    }
+                },
+                "vfile-message": {
+                    "version": "1.1.1",
+                    "resolved": "https://registry.nlark.com/vfile-message/download/vfile-message-1.1.1.tgz?cache=0&sync_timestamp=1620225074436&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile-message%2Fdownload%2Fvfile-message-1.1.1.tgz",
+                    "integrity": "sha1-WDOuB4od+i2W6WR4hs0ymTqzE+E=",
+                    "dev": true,
+                    "requires": {
+                        "unist-util-stringify-position": "^1.1.1"
+                    }
+                },
+                "vfile-reporter": {
+                    "version": "5.1.2",
+                    "resolved": "https://registry.nlark.com/vfile-reporter/download/vfile-reporter-5.1.2.tgz",
+                    "integrity": "sha1-gPHbXL6PnBLy8wzOPizRg1OkhRk=",
+                    "dev": true,
+                    "requires": {
+                        "repeat-string": "^1.5.0",
+                        "string-width": "^2.0.0",
+                        "supports-color": "^5.0.0",
+                        "unist-util-stringify-position": "^2.0.0",
+                        "vfile-sort": "^2.1.2",
+                        "vfile-statistics": "^1.1.0"
+                    },
+                    "dependencies": {
+                        "unist-util-stringify-position": {
+                            "version": "2.0.3",
+                            "resolved": "https://registry.nlark.com/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz",
+                            "integrity": "sha1-zOO/oc34W6c3XR1bF73Eytqb2do=",
+                            "dev": true,
+                            "requires": {
+                                "@types/unist": "^2.0.2"
+                            }
+                        }
+                    }
+                }
+            }
+        },
+        "unique-string": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/unique-string/download/unique-string-1.0.0.tgz?cache=0&sync_timestamp=1617610970700&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funique-string%2Fdownload%2Funique-string-1.0.0.tgz",
+            "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+            "dev": true,
+            "requires": {
+                "crypto-random-string": "^1.0.0"
+            }
+        },
+        "unist-util-find": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/unist-util-find/download/unist-util-find-1.0.2.tgz",
+            "integrity": "sha1-TVsBpp/KKjgq1PVfmGXkAhKez1Y=",
+            "dev": true,
+            "requires": {
+                "lodash.iteratee": "^4.5.0",
+                "unist-util-visit": "^1.1.0"
+            }
+        },
+        "unist-util-inspect": {
+            "version": "4.1.4",
+            "resolved": "https://registry.npm.taobao.org/unist-util-inspect/download/unist-util-inspect-4.1.4.tgz",
+            "integrity": "sha1-/vxHlERdD3m//qeiQhxvVW5zo3w=",
+            "dev": true,
+            "requires": {
+                "is-empty": "^1.0.0"
+            }
+        },
+        "unist-util-is": {
+            "version": "2.1.3",
+            "resolved": "https://registry.nlark.com/unist-util-is/download/unist-util-is-2.1.3.tgz?cache=0&sync_timestamp=1620654787971&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-2.1.3.tgz",
+            "integrity": "sha1-RZGC2zH0dC/OrqiNQpaTy/AEPSA=",
+            "dev": true
+        },
+        "unist-util-modify-children": {
+            "version": "1.1.6",
+            "resolved": "https://registry.npm.taobao.org/unist-util-modify-children/download/unist-util-modify-children-1.1.6.tgz",
+            "integrity": "sha1-FYcTDKCrXFYVX6YIN/9STD+/v6o=",
+            "dev": true,
+            "requires": {
+                "array-iterate": "^1.0.0"
+            }
+        },
+        "unist-util-stringify-position": {
+            "version": "2.0.3",
+            "resolved": "https://registry.nlark.com/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz",
+            "integrity": "sha1-zOO/oc34W6c3XR1bF73Eytqb2do=",
+            "dev": true,
+            "requires": {
+                "@types/unist": "^2.0.2"
+            }
+        },
+        "unist-util-visit": {
+            "version": "1.4.1",
+            "resolved": "https://registry.nlark.com/unist-util-visit/download/unist-util-visit-1.4.1.tgz?cache=0&sync_timestamp=1620655467875&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-visit%2Fdownload%2Funist-util-visit-1.4.1.tgz",
+            "integrity": "sha1-RySqqEhububibX/zyGhZYNVgseM=",
+            "dev": true,
+            "requires": {
+                "unist-util-visit-parents": "^2.0.0"
+            }
+        },
+        "unist-util-visit-parents": {
+            "version": "2.1.2",
+            "resolved": "https://registry.nlark.com/unist-util-visit-parents/download/unist-util-visit-parents-2.1.2.tgz?cache=0&sync_timestamp=1620657429727&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-visit-parents%2Fdownload%2Funist-util-visit-parents-2.1.2.tgz",
+            "integrity": "sha1-JeQ+VTEhZvM0jK5nQ1iHgdESwek=",
+            "dev": true,
+            "requires": {
+                "unist-util-is": "^3.0.0"
+            },
+            "dependencies": {
+                "unist-util-is": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/unist-util-is/download/unist-util-is-3.0.0.tgz?cache=0&sync_timestamp=1620654787971&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-3.0.0.tgz",
+                    "integrity": "sha1-2ehDgcJGjoJinkpb6dfQWi3TJM0=",
+                    "dev": true
+                }
+            }
+        },
+        "universalify": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz",
+            "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=",
+            "dev": true
+        },
+        "untildify": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/untildify/download/untildify-2.1.0.tgz",
+            "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=",
+            "dev": true,
+            "requires": {
+                "os-homedir": "^1.0.0"
+            }
+        },
+        "upath": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/upath/download/upath-2.0.1.tgz",
+            "integrity": "sha1-UMc96mjW9rmQ9R0nnOYIFmXWGos=",
+            "dev": true
+        },
+        "update-notifier": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npm.taobao.org/update-notifier/download/update-notifier-3.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupdate-notifier%2Fdownload%2Fupdate-notifier-3.0.1.tgz",
+            "integrity": "sha1-eOy2i5FeL9G+n3Z/bimM6HtzYlA=",
+            "dev": true,
+            "requires": {
+                "boxen": "^3.0.0",
+                "chalk": "^2.0.1",
+                "configstore": "^4.0.0",
+                "has-yarn": "^2.1.0",
+                "import-lazy": "^2.1.0",
+                "is-ci": "^2.0.0",
+                "is-installed-globally": "^0.1.0",
+                "is-npm": "^3.0.0",
+                "is-yarn-global": "^0.3.0",
+                "latest-version": "^5.0.0",
+                "semver-diff": "^2.0.0",
+                "xdg-basedir": "^3.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "3.2.1",
+                    "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+                    "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+                    "dev": true,
+                    "requires": {
+                        "color-convert": "^1.9.0"
+                    }
+                },
+                "chalk": {
+                    "version": "2.4.2",
+                    "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
+                    "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^3.2.1",
+                        "escape-string-regexp": "^1.0.5",
+                        "supports-color": "^5.3.0"
+                    }
+                },
+                "color-convert": {
+                    "version": "1.9.3",
+                    "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz",
+                    "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=",
+                    "dev": true,
+                    "requires": {
+                        "color-name": "1.1.3"
+                    }
+                },
+                "color-name": {
+                    "version": "1.1.3",
+                    "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
+                    "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+                    "dev": true
+                },
+                "has-flag": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
+                    "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "5.5.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+                    "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "url-parse-lax": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz",
+            "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+            "dev": true,
+            "requires": {
+                "prepend-http": "^2.0.0"
+            }
+        },
+        "util-deprecate": {
+            "version": "1.0.2",
+            "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
+            "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+            "dev": true
+        },
+        "validate-npm-package-license": {
+            "version": "3.0.4",
+            "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz",
+            "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=",
+            "dev": true,
+            "requires": {
+                "spdx-correct": "^3.0.0",
+                "spdx-expression-parse": "^3.0.0"
+            }
+        },
+        "vfile": {
+            "version": "4.2.1",
+            "resolved": "https://registry.nlark.com/vfile/download/vfile-4.2.1.tgz",
+            "integrity": "sha1-A/Hc4o/GJcYlvGUUNQ+9sA+p5iQ=",
+            "dev": true,
+            "requires": {
+                "@types/unist": "^2.0.0",
+                "is-buffer": "^2.0.0",
+                "unist-util-stringify-position": "^2.0.0",
+                "vfile-message": "^2.0.0"
+            }
+        },
+        "vfile-message": {
+            "version": "2.0.4",
+            "resolved": "https://registry.nlark.com/vfile-message/download/vfile-message-2.0.4.tgz?cache=0&sync_timestamp=1620225074436&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile-message%2Fdownload%2Fvfile-message-2.0.4.tgz",
+            "integrity": "sha1-W0O4gXHUCerlhHfRPyPdQdUsNxo=",
+            "dev": true,
+            "requires": {
+                "@types/unist": "^2.0.0",
+                "unist-util-stringify-position": "^2.0.0"
+            }
+        },
+        "vfile-reporter": {
+            "version": "6.0.2",
+            "resolved": "https://registry.nlark.com/vfile-reporter/download/vfile-reporter-6.0.2.tgz",
+            "integrity": "sha1-y92uou7FYPJ1dM57eyaYIsGRpnY=",
+            "dev": true,
+            "requires": {
+                "repeat-string": "^1.5.0",
+                "string-width": "^4.0.0",
+                "supports-color": "^6.0.0",
+                "unist-util-stringify-position": "^2.0.0",
+                "vfile-sort": "^2.1.2",
+                "vfile-statistics": "^1.1.0"
+            },
+            "dependencies": {
+                "ansi-regex": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz",
+                    "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=",
+                    "dev": true
+                },
+                "emoji-regex": {
+                    "version": "8.0.0",
+                    "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682725186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz",
+                    "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=",
+                    "dev": true
+                },
+                "has-flag": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
+                    "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+                    "dev": true
+                },
+                "is-fullwidth-code-point": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz",
+                    "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=",
+                    "dev": true
+                },
+                "string-width": {
+                    "version": "4.2.2",
+                    "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz",
+                    "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=",
+                    "dev": true,
+                    "requires": {
+                        "emoji-regex": "^8.0.0",
+                        "is-fullwidth-code-point": "^3.0.0",
+                        "strip-ansi": "^6.0.0"
+                    }
+                },
+                "strip-ansi": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz",
+                    "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^5.0.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "vfile-sort": {
+            "version": "2.2.2",
+            "resolved": "https://registry.nlark.com/vfile-sort/download/vfile-sort-2.2.2.tgz",
+            "integrity": "sha1-cg/gZ84VaroLQRoBuw3GVZaqEZA=",
+            "dev": true
+        },
+        "vfile-statistics": {
+            "version": "1.1.4",
+            "resolved": "https://registry.nlark.com/vfile-statistics/download/vfile-statistics-1.1.4.tgz",
+            "integrity": "sha1-uZ/RXs8PRLoIjMlzQl1mbLep8kU=",
+            "dev": true
+        },
+        "vite": {
+            "version": "2.3.3",
+            "resolved": "https://registry.nlark.com/vite/download/vite-2.3.3.tgz?cache=0&sync_timestamp=1621261032477&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvite%2Fdownload%2Fvite-2.3.3.tgz",
+            "integrity": "sha1-foinGr0DmFxkd4mTjXhMzg7jsP0=",
+            "dev": true,
+            "requires": {
+                "esbuild": "^0.11.23",
+                "fsevents": "~2.3.1",
+                "postcss": "^8.2.10",
+                "resolve": "^1.19.0",
+                "rollup": "^2.38.5"
+            }
+        },
+        "void-elements": {
+            "version": "3.1.0",
+            "resolved": "http://registry.npm.taobao.org/void-elements/download/void-elements-3.1.0.tgz",
+            "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=",
+            "dev": true
+        },
+        "vscode-css-languageservice": {
+            "version": "5.1.1",
+            "resolved": "https://registry.nlark.com/vscode-css-languageservice/download/vscode-css-languageservice-5.1.1.tgz",
+            "integrity": "sha1-1ooi6gs0qDVsFpyvx9MlZML/boc=",
+            "dev": true,
+            "requires": {
+                "vscode-languageserver-textdocument": "^1.0.1",
+                "vscode-languageserver-types": "^3.16.0",
+                "vscode-nls": "^5.0.0",
+                "vscode-uri": "^3.0.2"
+            },
+            "dependencies": {
+                "vscode-languageserver-types": {
+                    "version": "3.16.0",
+                    "resolved": "https://registry.npm.taobao.org/vscode-languageserver-types/download/vscode-languageserver-types-3.16.0.tgz?cache=0&sync_timestamp=1613152532903&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvscode-languageserver-types%2Fdownload%2Fvscode-languageserver-types-3.16.0.tgz",
+                    "integrity": "sha1-7POT/BIexpdLLaPvsxVWRMUU4kc=",
+                    "dev": true
+                }
+            }
+        },
+        "vscode-emmet-helper": {
+            "version": "2.6.2",
+            "resolved": "https://registry.npm.taobao.org/vscode-emmet-helper/download/vscode-emmet-helper-2.6.2.tgz",
+            "integrity": "sha1-d3tHGnhRugyo5BUVM75/klEfObA=",
+            "dev": true,
+            "requires": {
+                "emmet": "^2.3.0",
+                "jsonc-parser": "^2.3.0",
+                "vscode-languageserver-textdocument": "^1.0.1",
+                "vscode-languageserver-types": "^3.15.1",
+                "vscode-nls": "^5.0.0",
+                "vscode-uri": "^2.1.2"
+            },
+            "dependencies": {
+                "jsonc-parser": {
+                    "version": "2.3.1",
+                    "resolved": "https://registry.nlark.com/jsonc-parser/download/jsonc-parser-2.3.1.tgz",
+                    "integrity": "sha1-WVSRULEz8u+sykj+nOHsBlmvI0I=",
+                    "dev": true
+                },
+                "vscode-languageserver-types": {
+                    "version": "3.16.0",
+                    "resolved": "https://registry.npm.taobao.org/vscode-languageserver-types/download/vscode-languageserver-types-3.16.0.tgz?cache=0&sync_timestamp=1613152532903&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvscode-languageserver-types%2Fdownload%2Fvscode-languageserver-types-3.16.0.tgz",
+                    "integrity": "sha1-7POT/BIexpdLLaPvsxVWRMUU4kc=",
+                    "dev": true
+                },
+                "vscode-uri": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.nlark.com/vscode-uri/download/vscode-uri-2.1.2.tgz",
+                    "integrity": "sha1-yNQN6T61evMfPHFd1lDiyiwJbxw=",
+                    "dev": true
+                }
+            }
+        },
+        "vscode-html-languageservice": {
+            "version": "4.0.3",
+            "resolved": "https://registry.nlark.com/vscode-html-languageservice/download/vscode-html-languageservice-4.0.3.tgz",
+            "integrity": "sha1-O359PP7nXUfaAYHdY4tfRZRWqRM=",
+            "dev": true,
+            "requires": {
+                "vscode-languageserver-textdocument": "^1.0.1",
+                "vscode-languageserver-types": "^3.16.0",
+                "vscode-nls": "^5.0.0",
+                "vscode-uri": "^3.0.2"
+            },
+            "dependencies": {
+                "vscode-languageserver-types": {
+                    "version": "3.16.0",
+                    "resolved": "https://registry.npm.taobao.org/vscode-languageserver-types/download/vscode-languageserver-types-3.16.0.tgz?cache=0&sync_timestamp=1613152532903&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvscode-languageserver-types%2Fdownload%2Fvscode-languageserver-types-3.16.0.tgz",
+                    "integrity": "sha1-7POT/BIexpdLLaPvsxVWRMUU4kc=",
+                    "dev": true
+                }
+            }
+        },
+        "vscode-json-languageservice": {
+            "version": "4.1.4",
+            "resolved": "https://registry.nlark.com/vscode-json-languageservice/download/vscode-json-languageservice-4.1.4.tgz?cache=0&sync_timestamp=1620836196350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvscode-json-languageservice%2Fdownload%2Fvscode-json-languageservice-4.1.4.tgz",
+            "integrity": "sha1-yD09gS+PF6tSVyTGEdj/Xog0/IQ=",
+            "dev": true,
+            "requires": {
+                "jsonc-parser": "^3.0.0",
+                "minimatch": "^3.0.4",
+                "vscode-languageserver-textdocument": "^1.0.1",
+                "vscode-languageserver-types": "^3.16.0",
+                "vscode-nls": "^5.0.0",
+                "vscode-uri": "^3.0.2"
+            },
+            "dependencies": {
+                "vscode-languageserver-types": {
+                    "version": "3.16.0",
+                    "resolved": "https://registry.npm.taobao.org/vscode-languageserver-types/download/vscode-languageserver-types-3.16.0.tgz?cache=0&sync_timestamp=1613152532903&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvscode-languageserver-types%2Fdownload%2Fvscode-languageserver-types-3.16.0.tgz",
+                    "integrity": "sha1-7POT/BIexpdLLaPvsxVWRMUU4kc=",
+                    "dev": true
+                }
+            }
+        },
+        "vscode-jsonrpc": {
+            "version": "6.1.0-next.2",
+            "resolved": "https://registry.npm.taobao.org/vscode-jsonrpc/download/vscode-jsonrpc-6.1.0-next.2.tgz",
+            "integrity": "sha1-tbZwKNVR1IbErB7BOf/Ck4Kzai4=",
+            "dev": true
+        },
+        "vscode-languageserver": {
+            "version": "7.1.0-next.4",
+            "resolved": "https://registry.npm.taobao.org/vscode-languageserver/download/vscode-languageserver-7.1.0-next.4.tgz",
+            "integrity": "sha1-6VA6+dAo38OoniEGRsJloIf0a4w=",
+            "dev": true,
+            "requires": {
+                "vscode-languageserver-protocol": "3.17.0-next.5"
+            }
+        },
+        "vscode-languageserver-protocol": {
+            "version": "3.17.0-next.5",
+            "resolved": "https://registry.nlark.com/vscode-languageserver-protocol/download/vscode-languageserver-protocol-3.17.0-next.5.tgz",
+            "integrity": "sha1-KV69fEFtciS1fk3kPEv+/MgJXwY=",
+            "dev": true,
+            "requires": {
+                "vscode-jsonrpc": "6.1.0-next.2",
+                "vscode-languageserver-types": "3.17.0-next.1"
+            }
+        },
+        "vscode-languageserver-textdocument": {
+            "version": "1.0.1",
+            "resolved": "https://registry.nlark.com/vscode-languageserver-textdocument/download/vscode-languageserver-textdocument-1.0.1.tgz",
+            "integrity": "sha1-F4Fo6H761hcbNyrdHeo09T5dMw8=",
+            "dev": true
+        },
+        "vscode-languageserver-types": {
+            "version": "3.17.0-next.1",
+            "resolved": "https://registry.npm.taobao.org/vscode-languageserver-types/download/vscode-languageserver-types-3.17.0-next.1.tgz?cache=0&sync_timestamp=1613152532903&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvscode-languageserver-types%2Fdownload%2Fvscode-languageserver-types-3.17.0-next.1.tgz",
+            "integrity": "sha1-OWNISTzPVn8MIlOAM+v5XaXF5OM=",
+            "dev": true
+        },
+        "vscode-nls": {
+            "version": "5.0.0",
+            "resolved": "https://registry.npm.taobao.org/vscode-nls/download/vscode-nls-5.0.0.tgz",
+            "integrity": "sha1-mfDaC9nqfNpE5WWnTFSx8rwleEA=",
+            "dev": true
+        },
+        "vscode-pug-languageservice": {
+            "version": "0.25.4",
+            "resolved": "https://registry.nlark.com/vscode-pug-languageservice/download/vscode-pug-languageservice-0.25.4.tgz",
+            "integrity": "sha1-3ZtcMZdl7G8erQA35qq+pSB9PUA=",
+            "dev": true,
+            "requires": {
+                "@volar/code-gen": "^0.25.4",
+                "@volar/shared": "^0.25.4",
+                "@volar/source-map": "^0.25.4",
+                "@volar/transforms": "^0.25.4",
+                "pug-beautify": "^0.1.1",
+                "pug-lexer": "^5.0.1",
+                "pug-parser": "^6.0.0",
+                "vscode-languageserver": "^7.1.0-next.4"
+            }
+        },
+        "vscode-typescript-languageservice": {
+            "version": "0.25.4",
+            "resolved": "https://registry.nlark.com/vscode-typescript-languageservice/download/vscode-typescript-languageservice-0.25.4.tgz",
+            "integrity": "sha1-/OCKetwYrDObZ4rZORKbZE9UHg0=",
+            "dev": true,
+            "requires": {
+                "@volar/shared": "^0.25.4",
+                "typescript-vscode-sh-plugin": "^0.6.14",
+                "vscode-languageserver": "^7.1.0-next.4",
+                "vscode-languageserver-textdocument": "^1.0.1"
+            }
+        },
+        "vscode-uri": {
+            "version": "3.0.2",
+            "resolved": "https://registry.nlark.com/vscode-uri/download/vscode-uri-3.0.2.tgz",
+            "integrity": "sha1-7P0dBmy470w6II3s26uajCPQVdA=",
+            "dev": true
+        },
+        "vscode-vue-languageservice": {
+            "version": "0.25.6",
+            "resolved": "https://registry.nlark.com/vscode-vue-languageservice/download/vscode-vue-languageservice-0.25.6.tgz",
+            "integrity": "sha1-rMpGvgGyyUJtYX/uvodmnjc9rjI=",
+            "dev": true,
+            "requires": {
+                "@starptech/prettyhtml": "^0.10.0",
+                "@volar/code-gen": "^0.25.4",
+                "@volar/html2pug": "^0.25.4",
+                "@volar/shared": "^0.25.4",
+                "@volar/source-map": "^0.25.4",
+                "@volar/transforms": "^0.25.4",
+                "@vue/compiler-dom": "^3.0.11",
+                "@vue/compiler-sfc": "^3.0.11",
+                "@vue/reactivity": "^3.0.11",
+                "@vue/shared": "^3.0.11",
+                "jsonc-parser": "^3.0.0",
+                "prettier": "^1.16.4",
+                "upath": "^2.0.1",
+                "vscode-css-languageservice": "^5.1.1",
+                "vscode-emmet-helper": "^2.6.2",
+                "vscode-html-languageservice": "^4.0.3",
+                "vscode-json-languageservice": "^4.1.4",
+                "vscode-languageserver": "^7.1.0-next.4",
+                "vscode-languageserver-textdocument": "^1.0.1",
+                "vscode-pug-languageservice": "^0.25.4",
+                "vscode-typescript-languageservice": "^0.25.4"
+            }
+        },
+        "vue": {
+            "version": "3.0.11",
+            "resolved": "https://registry.nlark.com/vue/download/vue-3.0.11.tgz",
+            "integrity": "sha1-yC+VlMv03MhpJB1MjdPgjZqPS18=",
+            "requires": {
+                "@vue/compiler-dom": "3.0.11",
+                "@vue/runtime-dom": "3.0.11",
+                "@vue/shared": "3.0.11"
+            }
+        },
+        "vue-i18n": {
+            "version": "9.1.6",
+            "resolved": "https://registry.nlark.com/vue-i18n/download/vue-i18n-9.1.6.tgz",
+            "integrity": "sha1-TPmS4q7FRYvBk2mXPJbqfQ9WAyE=",
+            "requires": {
+                "@intlify/core-base": "9.1.6",
+                "@intlify/shared": "9.1.6",
+                "@intlify/vue-devtools": "9.1.6",
+                "@vue/devtools-api": "^6.0.0-beta.7"
+            }
+        },
+        "vue-tsc": {
+            "version": "0.1.4",
+            "resolved": "https://registry.nlark.com/vue-tsc/download/vue-tsc-0.1.4.tgz",
+            "integrity": "sha1-wmpunyhsNryHDP+bXoAiYqwsnJg=",
+            "dev": true,
+            "requires": {
+                "vscode-vue-languageservice": "0.25.6"
+            }
+        },
+        "which": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1605134855909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz",
+            "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
+            "dev": true,
+            "requires": {
+                "isexe": "^2.0.0"
+            }
+        },
+        "which-module": {
+            "version": "1.0.0",
+            "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz",
+            "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+            "dev": true
+        },
+        "widest-line": {
+            "version": "2.0.1",
+            "resolved": "https://registry.nlark.com/widest-line/download/widest-line-2.0.1.tgz",
+            "integrity": "sha1-dDh2RzDsfvQ4HOTfgvuYpTFCo/w=",
+            "dev": true,
+            "requires": {
+                "string-width": "^2.1.1"
+            }
+        },
+        "with": {
+            "version": "7.0.2",
+            "resolved": "https://registry.npm.taobao.org/with/download/with-7.0.2.tgz",
+            "integrity": "sha1-zO461ULSVTinp6gKrSErmChJW6w=",
+            "dev": true,
+            "requires": {
+                "@babel/parser": "^7.9.6",
+                "@babel/types": "^7.9.6",
+                "assert-never": "^1.2.1",
+                "babel-walk": "3.0.0-canary-5"
+            }
+        },
+        "wordwrap": {
+            "version": "0.0.3",
+            "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz",
+            "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+            "dev": true
+        },
+        "wrap-ansi": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz?cache=0&sync_timestamp=1618558887146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-2.1.0.tgz",
+            "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+            "dev": true,
+            "requires": {
+                "string-width": "^1.0.1",
+                "strip-ansi": "^3.0.1"
+            },
+            "dependencies": {
+                "ansi-regex": {
+                    "version": "2.1.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+                    "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+                    "dev": true
+                },
+                "is-fullwidth-code-point": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+                    "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+                    "dev": true,
+                    "requires": {
+                        "number-is-nan": "^1.0.0"
+                    }
+                },
+                "string-width": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz",
+                    "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+                    "dev": true,
+                    "requires": {
+                        "code-point-at": "^1.0.0",
+                        "is-fullwidth-code-point": "^1.0.0",
+                        "strip-ansi": "^3.0.0"
+                    }
+                },
+                "strip-ansi": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
+                    "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^2.0.0"
+                    }
+                }
+            }
+        },
+        "wrappy": {
+            "version": "1.0.2",
+            "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz",
+            "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+            "dev": true
+        },
+        "write-file-atomic": {
+            "version": "2.4.3",
+            "resolved": "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.3.tgz",
+            "integrity": "sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.1.11",
+                "imurmurhash": "^0.1.4",
+                "signal-exit": "^3.0.2"
+            }
+        },
+        "x-is-array": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npm.taobao.org/x-is-array/download/x-is-array-0.1.0.tgz",
+            "integrity": "sha1-3lIBcdR7P0FvVYfWKbidJrEtwp0=",
+            "dev": true
+        },
+        "x-is-string": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npm.taobao.org/x-is-string/download/x-is-string-0.1.0.tgz",
+            "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
+            "dev": true
+        },
+        "xdg-basedir": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/xdg-basedir/download/xdg-basedir-3.0.0.tgz?cache=0&sync_timestamp=1617611695805&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxdg-basedir%2Fdownload%2Fxdg-basedir-3.0.0.tgz",
+            "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+            "dev": true
+        },
+        "xtend": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz?cache=0&sync_timestamp=1589682817913&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxtend%2Fdownload%2Fxtend-4.0.2.tgz",
+            "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=",
+            "dev": true
+        },
+        "y18n": {
+            "version": "3.2.2",
+            "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.2.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-3.2.2.tgz",
+            "integrity": "sha1-hckBvWRwznH8S7cjrSCbcPfyhpY=",
+            "dev": true
+        },
+        "yallist": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz",
+            "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=",
+            "dev": true
+        },
+        "yargs": {
+            "version": "6.6.0",
+            "resolved": "https://registry.nlark.com/yargs/download/yargs-6.6.0.tgz?cache=0&sync_timestamp=1620086465147&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-6.6.0.tgz",
+            "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+            "dev": true,
+            "requires": {
+                "camelcase": "^3.0.0",
+                "cliui": "^3.2.0",
+                "decamelize": "^1.1.1",
+                "get-caller-file": "^1.0.1",
+                "os-locale": "^1.4.0",
+                "read-pkg-up": "^1.0.1",
+                "require-directory": "^2.1.1",
+                "require-main-filename": "^1.0.1",
+                "set-blocking": "^2.0.0",
+                "string-width": "^1.0.2",
+                "which-module": "^1.0.0",
+                "y18n": "^3.2.1",
+                "yargs-parser": "^4.2.0"
+            },
+            "dependencies": {
+                "ansi-regex": {
+                    "version": "2.1.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+                    "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+                    "dev": true
+                },
+                "camelcase": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-3.0.0.tgz",
+                    "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+                    "dev": true
+                },
+                "find-up": {
+                    "version": "1.1.2",
+                    "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz",
+                    "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+                    "dev": true,
+                    "requires": {
+                        "path-exists": "^2.0.0",
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "is-fullwidth-code-point": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+                    "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+                    "dev": true,
+                    "requires": {
+                        "number-is-nan": "^1.0.0"
+                    }
+                },
+                "load-json-file": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
+                    "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+                    "dev": true,
+                    "requires": {
+                        "graceful-fs": "^4.1.2",
+                        "parse-json": "^2.2.0",
+                        "pify": "^2.0.0",
+                        "pinkie-promise": "^2.0.0",
+                        "strip-bom": "^2.0.0"
+                    }
+                },
+                "parse-json": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1610966646988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz",
+                    "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+                    "dev": true,
+                    "requires": {
+                        "error-ex": "^1.2.0"
+                    }
+                },
+                "path-exists": {
+                    "version": "2.1.0",
+                    "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
+                    "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+                    "dev": true,
+                    "requires": {
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "path-type": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz?cache=0&sync_timestamp=1611752015315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-1.1.0.tgz",
+                    "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+                    "dev": true,
+                    "requires": {
+                        "graceful-fs": "^4.1.2",
+                        "pify": "^2.0.0",
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "pify": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+                    "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+                    "dev": true
+                },
+                "read-pkg": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz",
+                    "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+                    "dev": true,
+                    "requires": {
+                        "load-json-file": "^1.0.0",
+                        "normalize-package-data": "^2.3.2",
+                        "path-type": "^1.0.0"
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
+                    "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+                    "dev": true,
+                    "requires": {
+                        "find-up": "^1.0.0",
+                        "read-pkg": "^1.0.0"
+                    }
+                },
+                "string-width": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz",
+                    "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+                    "dev": true,
+                    "requires": {
+                        "code-point-at": "^1.0.0",
+                        "is-fullwidth-code-point": "^1.0.0",
+                        "strip-ansi": "^3.0.0"
+                    }
+                },
+                "strip-ansi": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
+                    "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^2.0.0"
+                    }
+                },
+                "strip-bom": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/strip-bom/download/strip-bom-2.0.0.tgz",
+                    "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+                    "dev": true,
+                    "requires": {
+                        "is-utf8": "^0.2.0"
+                    }
+                },
+                "yargs-parser": {
+                    "version": "4.2.1",
+                    "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-4.2.1.tgz",
+                    "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+                    "dev": true,
+                    "requires": {
+                        "camelcase": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "yargs-parser": {
+            "version": "10.1.0",
+            "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz",
+            "integrity": "sha1-cgImW4n36eny5XZeD+c1qQXtuqg=",
+            "dev": true,
+            "requires": {
+                "camelcase": "^4.1.0"
+            }
+        }
+    }
+}
diff --git a/package.json b/package.json
index 78ea979..3a90622 100644
--- a/package.json
+++ b/package.json
@@ -1,18 +1,30 @@
 {
-  "name": "echarts-bar-racing",
-  "version": "0.0.0",
-  "scripts": {
-    "dev": "vite",
-    "build": "vite build",
-    "serve": "vite preview"
-  },
-  "dependencies": {
-    "vue": "^3.0.5"
-  },
-  "devDependencies": {
-    "@vitejs/plugin-vue": "^1.1.4",
-    "@vue/compiler-sfc": "^3.0.5",
-    "typescript": "^4.1.3",
-    "vite": "^2.0.1"
-  }
-}
\ No newline at end of file
+    "name": "echarts-www-spa-boilerplate",
+    "version": "0.0.1",
+    "private": true,
+    "scripts": {
+        "dev": "vite --port 3008",
+        "release": "vue-tsc --noEmit --skipLibCheck && vite build",
+        "serve": "vite preview"
+    },
+    "devDependencies": {
+        "@vitejs/plugin-vue": "^1.2.2",
+        "@vue/compiler-sfc": "^3.0.11",
+        "chalk": "^3.0.0",
+        "fs-extra": "^8.1.0",
+        "globby": "^10.0.1",
+        "node-static": "^0.7.11",
+        "open": "^7.1.0",
+        "sass": "^1.32.13",
+        "typescript": "^4.1.3",
+        "vite": "^2.3.3",
+        "vue-tsc": "^0.1.4",
+        "yargs": "^6.6.0"
+    },
+    "dependencies": {
+        "element-plus": "^1.0.2-beta.44",
+        "lodash": "^4.17.19",
+        "vue": "^3.0.11",
+        "vue-i18n": "^9.1.6"
+    }
+}
diff --git a/public/favicon.ico b/public/favicon.ico
deleted file mode 100644
index df36fcf..0000000
--- a/public/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/src/.DS_Store b/src/.DS_Store
deleted file mode 100644
index d8cc671..0000000
--- a/src/.DS_Store
+++ /dev/null
Binary files differ
diff --git a/src/App.vue b/src/App.vue
index af7ed0a..46ea82b 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,41 +1,32 @@
 <template>
-  <!-- <img alt="Vue logo" src="./assets/logo.png" />
-  <HelloWorld msg="Hello Vue 3 + TypeScript + Vite" /> -->
-  <h1>Apache ECharts 动态排序柱状图生成工具</h1>
-  <p>This is content</p>
+<el-container>
+    <el-aside>
+        <h3>Side Nav</h3>
+    </el-aside>
+    <el-main>
+        <BTable/>
+    </el-main>
+</el-container>
 </template>
 
-<script lang="ts">
-import { defineComponent } from 'vue'
-// import HelloWorld from './components/HelloWorld.vue'
+<script lang='ts' setup>
 
-export default defineComponent({
-  name: 'App',
-  components: {
-    // HelloWorld
-  }
-})
+import BTable from './components/BTable.vue';
+
 </script>
 
-<style>
-#table-row {
-  margin: 0;
-}
-#table-panel {
-  border: 1px solid #eee;
-  height: 600px;
-  overflow: hidden;
-}
-#bar-race-preview {
-  width: 100%;
-  height: 400px;
-  margin: 30px 0;
-}
-#bar-race-preview div, #bar-race-preview canvas {
-  width: 100% !important;
-  height: 100% !important;
-}
-.btn {
-  margin-right: 10px;
+<style scoped lang="scss">
+#echarts-spa-app {
+    font-family: Avenir, Helvetica, Arial, sans-serif;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+    text-align: center;
+    color: #2c3e50;
+
+    position: absolute;
+    left: 0;
+    right: 0;
+    top: 0;
+    bottom: 0;
 }
 </style>
\ No newline at end of file
diff --git a/src/assets/logo.png b/src/assets/logo.png
deleted file mode 100644
index f3d2503..0000000
--- a/src/assets/logo.png
+++ /dev/null
Binary files differ
diff --git a/src/components/BTable.vue b/src/components/BTable.vue
new file mode 100644
index 0000000..66a42ad
--- /dev/null
+++ b/src/components/BTable.vue
@@ -0,0 +1,42 @@
+<template>
+  <div class="page-content">
+    <!-- <div class="row" id="table-row">
+      <div class="col-md-6">
+        <div id="table-panel"></div>
+      </div>
+      <div class="col-md-6">
+        <div class="bar-race-config">
+          <form>
+            <div class="form-group">
+              <label class="col-lg-6">标题</label>
+              <input class="form-control" id="input-title" value="汽车产量动态排名"/>
+            </div>
+            <div class="form-group">
+              <label class="col-lg-6">显示排名上限</label>
+              <input class="form-control" id="input-max" type="number" value="10"/>
+            </div>
+          </form>
+        </div>
+        <div>
+          <button class="btn btn-default" type="button" onclick="run()">运行</button>
+          <button class="btn btn-default" type="button">导出</button>
+        </div>
+        <div id="bar-race-preview"></div>
+      </div>
+    </div -->
+  </div>
+</template>
+
+<script lang="ts">
+import {defineComponent} from 'vue'
+export default defineComponent({
+  name: 'BTable',
+  props: {
+  },
+  setup: () => {
+  }
+})
+</script>
+
+<style scoped>
+</style>
diff --git a/src/components/ETable.vue b/src/components/ETable.vue
deleted file mode 100644
index 150e939..0000000
--- a/src/components/ETable.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-<template>
-
-</template>
-
-<script lang="ts">
-import {defineComponent} from 'vue'
-export default defineComponent({
-  name: 'ETable',
-  props: {
-  },
-  setup: () => {
-  }
-})
-</script>
-
-<style scoped>
-</style>
diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue
index 86dde23..6583f4b 100644
--- a/src/components/HelloWorld.vue
+++ b/src/components/HelloWorld.vue
@@ -1,65 +1,34 @@
 <template>
-  <h1>{{ msg }}</h1>
-
-  <p>
-    Recommended IDE setup:
-    <a href="https://code.visualstudio.com/" target="_blank">VSCode</a>
-    +
-    <a
-      href="https://marketplace.visualstudio.com/items?itemName=octref.vetur"
-      target="_blank"
-    >Vetur</a>
-    or
-    <a href="https://github.com/johnsoncodehk/volar" target="_blank">Volar</a>
-    (if using
-    <code>&ltscript setup&gt;</code>)
-  </p>
-
-  <p>See <code>README.md</code> for more information.</p>
-
-  <p>
-    <a href="https://vitejs.dev/guide/features.html" target="_blank">Vite Docs</a> |
-    <a href="https://v3.vuejs.org/" target="_blank">Vue 3 Docs</a>
-  </p>
-
-  <button @click="count++">count is: {{ count }}</button>
-  <p>
-    Edit
-    <code>components/HelloWorld.vue</code> to test hot module replacement.
-  </p>
+<h1>{{msg}}</h1>
+<el-input-number v-model="count"></el-input-number>
+<p>Input Number: {{count}}</p>
 </template>
 
-<script lang="ts">
-import { ref, defineComponent } from 'vue'
-export default defineComponent({
-  name: 'HelloWorld',
-  props: {
+<script lang="ts" setup>
+import { ref, defineProps } from 'vue';
+
+defineProps({
     msg: {
-      type: String,
-      required: true
+        type: String,
+        required: true
     }
-  },
-  setup: () => {
-    const count = ref(0)
-    return { count }
-  }
-})
+});
+
+const count = ref(10);
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 a {
-  color: #42b983;
+    color: #42b983;
 }
-
 label {
-  margin: 0 0.5em;
-  font-weight: bold;
+    margin: 0 0.5em;
+    font-weight: bold;
 }
-
 code {
-  background-color: #eee;
-  padding: 2px 4px;
-  border-radius: 4px;
-  color: #304455;
+    background-color: #eee;
+    padding: 2px 4px;
+    border-radius: 4px;
+    color: #304455;
 }
-</style>
+</style>
\ No newline at end of file
diff --git a/src/i18n/en-US.ts b/src/i18n/en-US.ts
new file mode 100644
index 0000000..10596f9
--- /dev/null
+++ b/src/i18n/en-US.ts
@@ -0,0 +1,3 @@
+export default {
+    helloWorld: 'Hello Apache ECharts'
+}
\ No newline at end of file
diff --git a/src/i18n/zh-CN.ts b/src/i18n/zh-CN.ts
new file mode 100644
index 0000000..f4a9a60
--- /dev/null
+++ b/src/i18n/zh-CN.ts
@@ -0,0 +1,9 @@
+import langEn from './en-US';
+
+type DEFAULT_LANG_TYPE = typeof langEn;
+
+const langCn: DEFAULT_LANG_TYPE = {
+    helloWorld: '你好 Apache ECharts'
+};
+
+export default langCn;
\ No newline at end of file
diff --git a/src/main.ts b/src/main.ts
index 01433bc..c1f9d5d 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,4 +1,30 @@
-import { createApp } from 'vue'
-import App from './App.vue'
+import { createApp } from 'vue';
+import { createI18n } from 'vue-i18n'
+import zh from './i18n/zh-CN';
+import en from './i18n/en-US';
 
-createApp(App).mount('#app')
+import ElementPlus from 'element-plus';
+import 'element-plus/lib/theme-chalk/index.css';
+import App from './App.vue';
+
+
+// @ts-ignore
+const locale: string = window.ECHARTS_WEBSITE_LANGUAGE;
+
+if (typeof locale === 'undefined') {
+    console.error('Can\'t find environment variable ECHARTS_WEBSITE_LANGUAGE');
+}
+
+const i18n = createI18n({
+    locale,
+    messages: {
+        en,
+        zh
+    }
+})
+
+const app = createApp(App);
+app.use(ElementPlus);
+app.use(i18n);
+
+app.mount('#echarts-spa-app');
\ No newline at end of file
diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts
deleted file mode 100644
index ac1ded7..0000000
--- a/src/shims-vue.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-declare module '*.vue' {
-  import { DefineComponent } from 'vue'
-  const component: DefineComponent<{}, {}, any>
-  export default component
-}
diff --git a/src/vue.shim.d.ts b/src/vue.shim.d.ts
new file mode 100644
index 0000000..d7a41a7
--- /dev/null
+++ b/src/vue.shim.d.ts
@@ -0,0 +1,5 @@
+declare module '*.vue' {
+    import { DefineComponent } from 'vue'
+    const component: DefineComponent<{}, {}, any>
+    export default component
+}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index e754e65..5f1b278 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,15 +1,15 @@
 {
-  "compilerOptions": {
-    "target": "esnext",
-    "module": "esnext",
-    "moduleResolution": "node",
-    "strict": true,
-    "jsx": "preserve",
-    "sourceMap": true,
-    "resolveJsonModule": true,
-    "esModuleInterop": true,
-    "lib": ["esnext", "dom"],
-    "types": ["vite/client"]
-  },
-  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
-}
+    "compilerOptions": {
+        "outDir": "./dist/",
+        "sourceMap": true,
+        "strict": true,
+        "noImplicitReturns": true,
+        "noImplicitAny": true,
+        "module": "es6",
+        "moduleResolution": "node",
+        "target": "es5",
+        "allowJs": true,
+    },
+    "include": ["src/**/*"],
+    "exclude": ["node_modules"]
+}
\ No newline at end of file
diff --git a/vite.config.ts b/vite.config.ts
index 6b04ab2..60d1d88 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,14 +1,17 @@
-import {defineConfig} from 'vite';
+import { defineConfig } from 'vite';
 import vue from '@vitejs/plugin-vue';
-import config from './config/env.asf';
-
-const dist = '_generated';
+const { resolve } = require('path');
 
 // https://vitejs.dev/config/
 export default defineConfig({
-  base: './',
-  plugins: [vue()],
-  build: {
-    outDir: dist + '/zh'
-  }
-})
+    base: './',
+    build: {
+        rollupOptions: {
+            input: {
+                // Use body.html when deploying
+                main: resolve(__dirname, '_body.html')
+            }
+        }
+    },
+    plugins: [vue()]
+});
\ No newline at end of file