OSDN Git Service

merge dashboard into dev
authorZhiting Lin <zlin035@uottawa.ca>
Thu, 24 Oct 2019 08:14:00 +0000 (16:14 +0800)
committerZhiting Lin <zlin035@uottawa.ca>
Thu, 24 Oct 2019 08:14:00 +0000 (16:14 +0800)
1  2 
modules/interface/locales/en/translation.json
modules/interface/locales/zh/translation.json
package-lock.json
package.json

        "selectFee":"Select Fee",
        "feeDescription":"This is the money that might be used to process this transaction. Your transaction will be mined usually within 2.5 minutes.",
        "confirmation":"Confirm Transaction",
-       "total": "Total"
+       "total": "Total",
+       "submitType":"Transactions Submitted Type",
+       "chainTx":"Chain Transactions",
+       "chainTxNote":"Chain Transactions will generate multiple transactions, cost an extra fee and improve UTXO amount limit in a single transaction."
      },
      "advance":{
        "generateJson":"Generate transaction JSON",
      "createDescription":"This option will create a default account, key password and give you a option to keep you mnemonic.  Warning: key seed words will display only once, it's important to remember your password.",
      "welcome":"Welcome to Bytom __network__"
    },
 +  "welcome":{
 +    "connect":"Connecting to Bytom Core...",
 +    "join":"Joining network",
 +    "joining":"Joining network...",
 +    "title":"Configure Bytom Core",
 +    "mainnetTitle":"Join the Bytom Mainnet",
 +    "mainnetMsg":"For common users to enter. Mainnet is the production network, that carry real Bytom transactions.",
 +    "testnetTitle":"Join the Bytom Testnet",
 +    "testnetMsg":"For developers or bytom testers to enter. Testnet is an alternative Bytom blockchain, and to be used for testing.",
 +    "solonetTitle":"Create the Bytom Soloent",
 +    "solonetMsg":"For users/developers to run and test wallet's new function. Solonet is a private sandbox blockchain network."
 +  },
    "backup":{
      "title":"Backup and Restore",
      "backup":"Back Up",
        "selectFee":"选择手续费",
        "feeDescription":"交易所需手续费, 你的交易将会在2.5分钟之后完成。",
        "confirmation":"确认交易",
-       "total": "交易总数"
+       "total": "交易总数",
+       "submitType":"交易提交类型",
+       "chainTx":"链式交易",
+       "chainTxNote":"解决单笔交易UTXO个数限制,链式交易会生成多笔交易以及额外手续费。"
      },
      "advance":{
        "generateJson":"生成交易JSON",
      "createDescription":"这个选项将生成默认的挖矿账户和默认密钥。 助记词将会在此生成,您可以选择保留助记词或者跳过。 注意: 助记词只生成一次, 请将密码,助记词妥善保存",
      "welcome":"欢迎来到__network__"
    },
 +  "welcome":{
 +    "connect":"正在连接到Bytom Core...",
 +    "join":"加入网络",
 +    "joining":"加入网络...",
 +    "title":"配置 Bytom Core",
 +    "mainnetTitle":"加入 Bytom 主网",
 +    "mainnetMsg":"普通用户选择加入。这是实际的Bytom网络,包含真实的交易信息。",
 +    "testnetTitle":"加入 Bytom 测试网络",
 +    "testnetMsg":"开发者选择加入。这是Bytom的测试网络,用于Bytom的相关测试。",
 +    "solonetTitle":"创建 Bytom 单机网络",
 +    "solonetMsg":"创建一个沙盒私有网络供用户运行和测试功能。"
 +  },
    "backup":{
      "title":"备份与恢复",
      "backup":"备份",
diff --combined package-lock.json
@@@ -1,6 -1,6 +1,6 @@@
  {
    "name": "bytom-wallet",
-   "version": "1.0.7",
 -  "version": "1.0.2",
++  "version": "1.0.9",
    "lockfileVersion": 1,
    "requires": true,
    "dependencies": {
      "@types/node": {
        "version": "8.10.29",
        "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.29.tgz",
 -      "integrity": "sha512-zbteaWZ2mdduacm0byELwtRyhYE40aK+pAanQk415gr1eRuu67x7QGOLmn8jz5zI8LDK7d0WI/oT6r5Trz4rzQ=="
 +      "integrity": "sha512-zbteaWZ2mdduacm0byELwtRyhYE40aK+pAanQk415gr1eRuu67x7QGOLmn8jz5zI8LDK7d0WI/oT6r5Trz4rzQ==",
 +      "dev": true
      },
      "abbrev": {
        "version": "1.1.1",
--      "resolved": "http://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz",
--      "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=",
++      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
++      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
        "dev": true
      },
      "accepts": {
 -      "version": "1.3.7",
 -      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
 -      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
 +      "version": "1.3.5",
 +      "resolved": "http://registry.npm.taobao.org/accepts/download/accepts-1.3.5.tgz",
 +      "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
        "dev": true,
        "requires": {
 -        "mime-types": "2.1.24",
 -        "negotiator": "0.6.2"
 -      },
 -      "dependencies": {
 -        "mime-db": {
 -          "version": "1.40.0",
 -          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
 -          "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
 -          "dev": true
 -        },
 -        "mime-types": {
 -          "version": "2.1.24",
 -          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
 -          "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
 -          "dev": true,
 -          "requires": {
 -            "mime-db": "1.40.0"
 -          }
 -        }
 +        "mime-types": "2.1.18",
 +        "negotiator": "0.6.1"
        }
      },
      "acorn": {
-       "version": "5.5.3",
-       "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-5.5.3.tgz",
-       "integrity": "sha1-9HPdR+AnegjijpvsWu6wR1HwuMk=",
+       "version": "5.7.3",
+       "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
++      "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
        "dev": true
      },
      "acorn-jsx": {
          }
        }
      },
 -    "addressparser": {
 -      "version": "1.0.1",
 -      "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
 -      "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=",
 -      "optional": true
 -    },
 -    "agent-base": {
 -      "version": "4.2.1",
 -      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
 -      "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
 -      "requires": {
 -        "es6-promisify": "5.0.0"
 -      }
 -    },
      "ajv": {
 -      "version": "6.10.0",
 -      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
 -      "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
 +      "version": "5.5.2",
 +      "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz",
 +      "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
        "dev": true,
        "requires": {
 -        "fast-deep-equal": "2.0.1",
 +        "co": "4.6.0",
 +        "fast-deep-equal": "1.1.0",
          "fast-json-stable-stringify": "2.0.0",
 -        "json-schema-traverse": "0.4.1",
 -        "uri-js": "4.2.2"
 +        "json-schema-traverse": "0.3.1"
        }
      },
      "ajv-keywords": {
          "repeat-string": "1.6.1"
        }
      },
+     "alphanum-sort": {
+       "version": "1.0.2",
+       "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+       "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+       "dev": true
+     },
      "amdefine": {
        "version": "1.0.1",
        "resolved": "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz",
        "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
        "dev": true
      },
 -    "amqplib": {
 -      "version": "0.5.3",
 -      "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.3.tgz",
 -      "integrity": "sha512-ZOdUhMxcF+u62rPI+hMtU1NBXSDFQ3eCJJrenamtdQ7YYwh7RZJHOIM1gonVbZ5PyVdYH4xqBPje9OYqk7fnqw==",
 -      "optional": true,
 -      "requires": {
 -        "bitsyntax": "0.1.0",
 -        "bluebird": "3.5.3",
 -        "buffer-more-ints": "1.0.0",
 -        "readable-stream": "1.1.14",
 -        "safe-buffer": "5.1.2",
 -        "url-parse": "1.4.4"
 -      },
 -      "dependencies": {
 -        "bluebird": {
 -          "version": "3.5.3",
 -          "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
 -          "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==",
 -          "optional": true
 -        }
 -      }
 -    },
      "ansi-align": {
        "version": "2.0.0",
        "resolved": "http://registry.npm.taobao.org/ansi-align/download/ansi-align-2.0.0.tgz",
        }
      },
      "ansi-escapes": {
-       "version": "1.4.0",
-       "resolved": "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-1.4.0.tgz",
-       "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
+       "version": "3.2.0",
+       "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+       "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
        "dev": true
      },
      "ansi-html": {
      },
      "aproba": {
        "version": "1.2.0",
--      "resolved": "http://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz",
--      "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=",
++      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
++      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
        "dev": true
      },
      "are-we-there-yet": {
        "version": "1.1.5",
--      "resolved": "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz",
--      "integrity": "sha1-SzXClE8GKov82mZBB2A1D+nd/CE=",
++      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
++      "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
        "dev": true,
        "requires": {
          "delegates": "1.0.0",
            "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
            "dev": true
          },
--        "process-nextick-args": {
--          "version": "2.0.0",
--          "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz",
--          "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=",
--          "dev": true
--        },
          "readable-stream": {
            "version": "2.3.6",
--          "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz",
--          "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
++          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
            "dev": true,
            "requires": {
              "core-util-is": "1.0.2",
          },
          "string_decoder": {
            "version": "1.1.1",
--          "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
--          "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
++          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
++          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
            "dev": true,
            "requires": {
              "safe-buffer": "5.1.2"
      },
      "argparse": {
        "version": "1.0.10",
--      "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz",
--      "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
++      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
++      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
        "dev": true,
        "requires": {
          "sprintf-js": "1.0.3"
        "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
        "dev": true
      },
++    "array-includes": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
++      "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
++      "dev": true,
++      "requires": {
++        "define-properties": "1.1.2",
++        "es-abstract": "1.11.0"
++      }
++    },
      "array-map": {
        "version": "0.0.0",
        "resolved": "http://registry.npm.taobao.org/array-map/download/array-map-0.0.0.tgz",
        "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=",
        "dev": true
      },
--    "array-union": {
--      "version": "1.0.2",
--      "resolved": "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz",
--      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
--      "dev": true,
--      "requires": {
-         "array-uniq": "1.0.3"
 -        "define-properties": "1.1.3",
 -        "es-abstract": "1.13.0"
--      }
--    },
--    "array-uniq": {
--      "version": "1.0.3",
--      "resolved": "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz",
--      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
--      "dev": true
--    },
      "array-unique": {
        "version": "0.2.1",
        "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz",
        "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
        "dev": true
      },
--    "arrify": {
--      "version": "1.0.1",
--      "resolved": "http://registry.npm.taobao.org/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="
      },
      "asn1": {
 -      "version": "0.2.4",
 -      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
 -      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
 -      "dev": true,
 -      "requires": {
 -        "safer-buffer": "2.1.2"
 -      }
 +      "version": "0.2.3",
 +      "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz",
 +      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
 +      "dev": true
      },
      "assert": {
 -      "version": "1.5.0",
 -      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
 -      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
 +      "version": "1.4.1",
 +      "resolved": "http://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz",
 +      "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
        "dev": true,
        "requires": {
 -        "object-assign": "4.1.1",
          "util": "0.10.3"
 -      },
 -      "dependencies": {
 -        "inherits": {
 -          "version": "2.0.1",
 -          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
 -          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
 -          "dev": true
 -        },
 -        "util": {
 -          "version": "0.10.3",
 -          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
 -          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
 -          "dev": true,
 -          "requires": {
 -            "inherits": "2.0.1"
 -          }
 -        }
        }
      },
      "assert-plus": {
        "version": "1.0.0",
        "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
 -      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
 +      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
 +      "dev": true
      },
      "assertion-error": {
        "version": "1.1.0",
        "integrity": "sha1-5gtrDo8wG9l+U3UhW9pAbIURjAs=",
        "dev": true
      },
 -    "ast-types": {
 -      "version": "0.12.2",
 -      "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.12.2.tgz",
 -      "integrity": "sha512-8c83xDLJM/dLDyXNLiR6afRRm4dPKN6KAnKqytRK3DBJul9lA+atxdQkNDkSVPdTqea5HiRq3lnnOIZ0MBpvdg==",
 -      "optional": true
 -    },
--    "async": {
--      "version": "2.6.1",
--      "resolved": "http://registry.npm.taobao.org/async/download/async-2.6.1.tgz",
--      "integrity": "sha1-skWiPKcZMAROxT+kaqAKPofGphA=",
-       "dev": true,
--      "requires": {
--        "lodash": "4.17.11"
--      }
--    },
      "async-each": {
        "version": "1.0.1",
        "resolved": "http://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz",
      "asynckit": {
        "version": "0.4.0",
        "resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
 -      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
 +      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
 +      "dev": true
      },
      "atob": {
        "version": "2.1.1",
      "aws-sign2": {
        "version": "0.7.0",
        "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
 -      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
 +      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
 +      "dev": true
      },
      "aws4": {
 -      "version": "1.8.0",
 -      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
 -      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
 +      "version": "1.7.0",
 +      "resolved": "http://registry.npm.taobao.org/aws4/download/aws4-1.7.0.tgz",
 +      "integrity": "sha1-1NDpudv8p3vwjusKikcVUP454ok=",
        "dev": true
      },
      "babel-cli": {
          "commander": "2.15.1",
          "convert-source-map": "1.5.1",
          "fs-readdir-recursive": "1.1.0",
 -        "glob": "7.1.3",
 +        "glob": "7.1.2",
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
          "output-file-sync": "1.1.2",
          "path-is-absolute": "1.0.1",
          "slash": "1.0.0",
              "convert-source-map": "1.5.1",
              "debug": "2.6.9",
              "json5": "0.5.1",
-             "lodash": "4.17.11",
+             "lodash": "4.17.14",
              "minimatch": "3.0.4",
              "path-is-absolute": "1.0.1",
              "private": "0.1.8",
              "babel-runtime": "6.26.0",
              "core-js": "2.5.7",
              "home-or-tmp": "2.0.0",
-             "lodash": "4.17.11",
+             "lodash": "4.17.14",
              "mkdirp": "0.5.1",
              "source-map-support": "0.4.18"
            }
          },
          "source-map": {
            "version": "0.5.7",
 -          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
 +          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
            "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
            "dev": true
          }
          "convert-source-map": "1.5.1",
          "debug": "2.6.9",
          "json5": "0.4.0",
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
          "minimatch": "3.0.4",
          "path-exists": "1.0.0",
          "path-is-absolute": "1.0.1",
          "babel-types": "6.26.0",
          "detect-indent": "4.0.0",
          "jsesc": "1.3.0",
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
          "source-map": "0.5.7",
          "trim-right": "1.0.1"
        },
          "babel-helper-function-name": "6.24.1",
          "babel-runtime": "6.26.0",
          "babel-types": "6.26.0",
-         "lodash": "4.17.11"
+         "lodash": "4.17.14"
        }
      },
      "babel-helper-function-name": {
        "requires": {
          "babel-runtime": "6.26.0",
          "babel-types": "6.26.0",
-         "lodash": "4.17.11"
+         "lodash": "4.17.14"
        }
      },
      "babel-helper-replace-supers": {
        "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=",
        "dev": true,
        "requires": {
-         "lodash": "4.17.11"
+         "lodash": "4.17.14"
        }
      },
      "babel-plugin-syntax-flow": {
          "babel-template": "6.26.0",
          "babel-traverse": "6.26.0",
          "babel-types": "6.26.0",
-         "lodash": "4.17.11"
+         "lodash": "4.17.14"
        }
      },
      "babel-plugin-transform-es2015-classes": {
        "version": "6.22.0",
        "resolved": "http://registry.npm.taobao.org/babel-register/download/babel-register-6.22.0.tgz",
        "integrity": "sha1-ph3YOXX5ykqefW7/MFlJTNXqTGM=",
 -      "dev": true,
        "requires": {
          "babel-core": "6.26.3",
          "babel-runtime": "6.26.0",
          "core-js": "2.5.7",
          "home-or-tmp": "2.0.0",
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
          "mkdirp": "0.5.1",
          "source-map-support": "0.4.18"
        },
              "convert-source-map": "1.5.1",
              "debug": "2.6.9",
              "json5": "0.5.1",
-             "lodash": "4.17.11",
+             "lodash": "4.17.14",
              "minimatch": "3.0.4",
              "path-is-absolute": "1.0.1",
              "private": "0.1.8",
                  "babel-runtime": "6.26.0",
                  "core-js": "2.5.7",
                  "home-or-tmp": "2.0.0",
-                 "lodash": "4.17.11",
+                 "lodash": "4.17.14",
                  "mkdirp": "0.5.1",
                  "source-map-support": "0.4.18"
                }
              "babel-runtime": "6.26.0",
              "core-js": "2.5.7",
              "home-or-tmp": "2.0.0",
-             "lodash": "4.17.11",
+             "lodash": "4.17.14",
              "mkdirp": "0.5.1",
              "source-map-support": "0.4.18"
            }
          "babel-traverse": "6.26.0",
          "babel-types": "6.26.0",
          "babylon": "6.18.0",
-         "lodash": "4.17.11"
+         "lodash": "4.17.14"
        }
      },
      "babel-traverse": {
          "debug": "2.6.9",
          "globals": "9.18.0",
          "invariant": "2.2.4",
-         "lodash": "4.17.11"
+         "lodash": "4.17.14"
 +      },
 +      "dependencies": {
 +        "debug": {
 +          "version": "2.6.9",
 +          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
 +          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
 +          "requires": {
 +            "ms": "2.0.0"
 +          }
 +        }
        }
      },
      "babel-types": {
        "requires": {
          "babel-runtime": "6.26.0",
          "esutils": "2.0.2",
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
          "to-fast-properties": "1.0.3"
        }
      },
        "dev": true
      },
      "bcrypt-pbkdf": {
 -      "version": "1.0.2",
 -      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
 -      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
 +      "version": "1.0.1",
 +      "resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz",
 +      "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
        "dev": true,
 +      "optional": true,
        "requires": {
          "tweetnacl": "0.14.5"
        }
        "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
        "dev": true
      },
 -    "bitsyntax": {
 -      "version": "0.1.0",
 -      "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz",
 -      "integrity": "sha512-ikAdCnrloKmFOugAfxWws89/fPc+nw0OOG1IzIE72uSOg/A3cYptKCjSUhDTuj7fhsJtzkzlv7l3b8PzRHLN0Q==",
 -      "optional": true,
 -      "requires": {
 -        "buffer-more-ints": "1.0.0",
 -        "debug": "2.6.9",
 -        "safe-buffer": "5.1.2"
 -      },
 -      "dependencies": {
 -        "debug": {
 -          "version": "2.6.9",
 -          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 -          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 -          "optional": true,
 -          "requires": {
 -            "ms": "2.0.0"
 -          }
 -        }
 -      }
 -    },
 -    "bl": {
 -      "version": "1.1.2",
 -      "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
 -      "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=",
 -      "optional": true,
 -      "requires": {
 -        "readable-stream": "2.0.6"
 -      },
 -      "dependencies": {
 -        "isarray": {
 -          "version": "1.0.0",
 -          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
 -          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
 -          "optional": true
 -        },
 -        "readable-stream": {
 -          "version": "2.0.6",
 -          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
 -          "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
 -          "optional": true,
 -          "requires": {
 -            "core-util-is": "1.0.2",
 -            "inherits": "2.0.3",
 -            "isarray": "1.0.0",
 -            "process-nextick-args": "1.0.7",
 -            "string_decoder": "0.10.31",
 -            "util-deprecate": "1.0.2"
 -          }
 -        }
 -      }
 -    },
      "block-stream": {
        "version": "0.0.9",
        "resolved": "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz",
        }
      },
      "body-parser": {
 -      "version": "1.19.0",
 -      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
 -      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
 +      "version": "1.18.2",
 +      "resolved": "http://registry.npm.taobao.org/body-parser/download/body-parser-1.18.2.tgz",
 +      "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
        "dev": true,
        "requires": {
 -        "bytes": "3.1.0",
 +        "bytes": "3.0.0",
          "content-type": "1.0.4",
          "debug": "2.6.9",
          "depd": "1.1.2",
 -        "http-errors": "1.7.2",
 -        "iconv-lite": "0.4.24",
 +        "http-errors": "1.6.3",
 +        "iconv-lite": "0.4.19",
          "on-finished": "2.3.0",
 -        "qs": "6.7.0",
 -        "raw-body": "2.4.0",
 -        "type-is": "1.6.18"
 +        "qs": "6.5.1",
 +        "raw-body": "2.3.2",
 +        "type-is": "1.6.16"
        },
        "dependencies": {
 -        "bytes": {
 -          "version": "3.1.0",
 -          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
 -          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
 -          "dev": true
 -        },
 -        "iconv-lite": {
 -          "version": "0.4.24",
 -          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 -          "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
 +        "debug": {
 +          "version": "2.6.9",
 +          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
 +          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
            "dev": true,
            "requires": {
 -            "safer-buffer": "2.1.2"
 +            "ms": "2.0.0"
            }
          },
 +        "iconv-lite": {
 +          "version": "0.4.19",
 +          "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.19.tgz",
 +          "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=",
 +          "dev": true
 +        },
          "qs": {
            "version": "6.5.1",
            "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.1.tgz",
          }
        }
      },
 -    "boom": {
 -      "version": "2.10.1",
 -      "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
 -      "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
 -      "requires": {
 -        "hoek": "2.16.3"
 -      }
 -    },
      "bootstrap-loader": {
        "version": "1.0.10",
        "resolved": "http://registry.npm.taobao.org/bootstrap-loader/download/bootstrap-loader-1.0.10.tgz",
        "requires": {
          "chalk": "1.1.3",
          "escape-regexp": "0.0.1",
-         "js-yaml": "3.11.0",
+         "js-yaml": "3.13.1",
          "loader-utils": "0.2.17",
          "resolve": "1.7.1",
          "semver": "5.5.0",
        }
      },
      "braces": {
--      "version": "1.8.5",
--      "resolved": "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz",
--      "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
++      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
        "dev": true,
        "requires": {
--        "expand-range": "1.8.2",
--        "preserve": "0.2.0",
--        "repeat-element": "1.1.2"
++        "fill-range": "7.0.1"
++      },
++      "dependencies": {
++        "fill-range": {
++          "version": "7.0.1",
++          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
++          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
++          "dev": true,
++          "requires": {
++            "to-regex-range": "5.0.1"
++          }
++        }
        }
      },
      "browserify-aes": {
        "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
        "dev": true,
        "requires": {
 -        "base64-js": "1.3.0",
 -        "ieee754": "1.1.13",
 +        "base64-js": "1.2.0",
 +        "ieee754": "1.1.11",
          "isarray": "1.0.0"
        },
        "dependencies": {
        "integrity": "sha1-TLiDLSNhJYmwQG6eKVbBfwb99TE=",
        "dev": true
      },
 -    "buffer-more-ints": {
 -      "version": "1.0.0",
 -      "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-1.0.0.tgz",
 -      "integrity": "sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg=="
 -    },
      "builder-util": {
        "version": "5.11.2",
        "resolved": "http://registry.npm.taobao.org/builder-util/download/builder-util-5.11.2.tgz",
          "debug": "3.1.0",
          "fs-extra-p": "4.6.0",
          "is-ci": "1.1.0",
--        "js-yaml": "3.11.0",
++        "js-yaml": "3.13.1",
          "lazy-val": "1.0.3",
          "semver": "5.5.0",
          "source-map-support": "0.5.6",
          "sax": "1.2.4"
        }
      },
 -    "buildmail": {
 -      "version": "4.0.1",
 -      "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz",
 -      "integrity": "sha1-h393OLeHKYccmhBeO4N9K+EaenI=",
 -      "optional": true,
 -      "requires": {
 -        "addressparser": "1.0.1",
 -        "libbase64": "0.1.0",
 -        "libmime": "3.0.0",
 -        "libqp": "1.1.0",
 -        "nodemailer-fetch": "1.6.0",
 -        "nodemailer-shared": "1.1.0",
 -        "punycode": "1.4.1"
 -      }
 -    },
      "builtin-modules": {
        "version": "1.1.1",
        "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz",
      "bytes": {
        "version": "3.0.0",
        "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz",
 -      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
 +      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
 +      "dev": true
      },
      "caller-path": {
        "version": "0.1.0",
          "window-or-global": "1.0.1"
        }
      },
 -        "caniuse-db": "1.0.30000844",
+     "caniuse-api": {
+       "version": "1.6.1",
+       "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
+       "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+       "dev": true,
+       "requires": {
+         "browserslist": "1.7.7",
++        "caniuse-db": "1.0.30000846",
+         "lodash.memoize": "4.1.2",
+         "lodash.uniq": "4.5.0"
+       }
+     },
      "caniuse-db": {
        "version": "1.0.30000846",
        "resolved": "http://registry.npm.taobao.org/caniuse-db/download/caniuse-db-1.0.30000846.tgz",
      "caseless": {
        "version": "0.12.0",
        "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
 -      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
 +      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
 +      "dev": true
      },
      "center-align": {
        "version": "0.1.3",
          "supports-color": "2.0.0"
        }
      },
+     "chardet": {
+       "version": "0.4.2",
+       "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
+       "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
+       "dev": true
+     },
      "check-error": {
        "version": "1.0.2",
        "resolved": "http://registry.npm.taobao.org/check-error/download/check-error-1.0.2.tgz",
        "integrity": "sha1-cQGTJkuwXHe4yQ0C9aryIhamZ7I=",
        "dev": true
      },
 +    "circular-json": {
 +      "version": "0.5.9",
 +      "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz",
 +      "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ=="
 +    },
+     "clap": {
+       "version": "1.2.3",
+       "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
+       "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==",
+       "dev": true,
+       "requires": {
+         "chalk": "1.1.3"
+       }
+     },
      "classnames": {
        "version": "2.2.5",
        "resolved": "http://registry.npm.taobao.org/classnames/download/classnames-2.2.5.tgz",
        "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0="
      },
-     "clean-css": {
-       "version": "3.4.28",
-       "resolved": "http://registry.npm.taobao.org/clean-css/download/clean-css-3.4.28.tgz",
-       "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
-       "dev": true,
-       "requires": {
-         "commander": "2.8.1",
-         "source-map": "0.4.4"
-       },
-       "dependencies": {
-         "commander": {
-           "version": "2.8.1",
-           "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.8.1.tgz",
-           "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
-           "dev": true,
-           "requires": {
-             "graceful-readlink": "1.0.1"
-           }
-         },
-         "source-map": {
-           "version": "0.4.4",
-           "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz",
-           "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
-           "dev": true,
-           "requires": {
-             "amdefine": "1.0.1"
-           }
-         }
-       }
-     },
 +    "cli-boxes": {
 +      "version": "1.0.0",
 +      "resolved": "http://registry.npm.taobao.org/cli-boxes/download/cli-boxes-1.0.0.tgz",
 +      "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
 +      "dev": true
 +    },
      "cli-cursor": {
-       "version": "1.0.2",
-       "resolved": "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz",
-       "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+       "version": "2.1.0",
+       "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+       "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
        "dev": true,
        "requires": {
-         "restore-cursor": "1.0.1"
+         "restore-cursor": "2.0.0"
        }
      },
      "cli-width": {
        "resolved": "http://registry.npm.taobao.org/clone/download/clone-2.1.1.tgz",
        "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs="
      },
+     "clone-deep": {
+       "version": "2.0.2",
+       "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
+       "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
+       "dev": true,
+       "requires": {
+         "for-own": "1.0.0",
+         "is-plain-object": "2.0.4",
+         "kind-of": "6.0.2",
+         "shallow-clone": "1.0.0"
+       },
+       "dependencies": {
+         "for-own": {
+           "version": "1.0.0",
+           "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+           "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+           "dev": true,
+           "requires": {
+             "for-in": "1.0.2"
+           }
+         },
+         "kind-of": {
+           "version": "6.0.2",
+           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+           "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+           "dev": true
+         }
+       }
+     },
      "co": {
        "version": "4.6.0",
        "resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
 -      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
 +      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
 +      "dev": true
      },
+     "coa": {
+       "version": "1.0.4",
+       "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
+       "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
+       "dev": true,
+       "requires": {
+         "q": "1.5.1"
+       }
+     },
      "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="
      },
++    "color": {
++      "version": "0.11.4",
++      "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
++      "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
++      "dev": true,
++      "requires": {
++        "clone": "1.0.4",
++        "color-convert": "1.9.1",
++        "color-string": "0.3.0"
++      },
++      "dependencies": {
++        "clone": {
++          "version": "1.0.4",
++          "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
++          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
++          "dev": true
++        }
++      }
++    },
      "color-convert": {
        "version": "1.9.1",
        "resolved": "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.1.tgz",
      },
      "color-name": {
        "version": "1.1.3",
 -      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
 +      "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
        "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
        "dev": true
      },
 -        "has": "1.0.3"
+     "color-string": {
+       "version": "0.3.0",
+       "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
+       "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
+       "dev": true,
+       "requires": {
+         "color-name": "1.1.3"
+       }
+     },
+     "colormin": {
+       "version": "1.1.2",
+       "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
+       "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+       "dev": true,
+       "requires": {
+         "color": "0.11.4",
+         "css-color-names": "0.0.4",
++        "has": "1.0.1"
+       }
+     },
+     "colors": {
+       "version": "1.1.2",
+       "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+       "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+       "dev": true
+     },
      "combined-stream": {
 -      "version": "1.0.8",
 -      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
 -      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
 +      "version": "1.0.6",
 +      "resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.6.tgz",
 +      "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
        "dev": true,
        "requires": {
          "delayed-stream": "1.0.0"
      "commander": {
        "version": "2.15.1",
        "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.15.1.tgz",
 -      "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8="
 +      "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=",
 +      "dev": true
      },
      "commondir": {
        "version": "1.0.1",
        "dev": true
      },
      "compressible": {
 -      "version": "2.0.17",
 -      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
 -      "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
 +      "version": "2.0.13",
 +      "resolved": "http://registry.npm.taobao.org/compressible/download/compressible-2.0.13.tgz",
 +      "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=",
        "dev": true,
        "requires": {
 -        "mime-db": "1.40.0"
 -      },
 -      "dependencies": {
 -        "mime-db": {
 -          "version": "1.40.0",
 -          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
 -          "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
 -          "dev": true
 -        }
 +        "mime-db": "1.33.0"
        }
      },
      "compression": {
 -      "version": "1.7.4",
 -      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
 -      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
 +      "version": "1.7.2",
 +      "resolved": "http://registry.npm.taobao.org/compression/download/compression-1.7.2.tgz",
 +      "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=",
        "dev": true,
        "requires": {
 -        "accepts": "1.3.7",
 +        "accepts": "1.3.5",
          "bytes": "3.0.0",
 -        "compressible": "2.0.17",
 +        "compressible": "2.0.13",
          "debug": "2.6.9",
 -        "on-headers": "1.0.2",
 -        "safe-buffer": "5.1.2",
 +        "on-headers": "1.0.1",
 +        "safe-buffer": "5.1.1",
          "vary": "1.1.2"
 +      },
 +      "dependencies": {
 +        "debug": {
 +          "version": "2.6.9",
 +          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
 +          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
 +          "dev": true,
 +          "requires": {
 +            "ms": "2.0.0"
 +          }
 +        },
 +        "safe-buffer": {
 +          "version": "5.1.1",
 +          "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz",
 +          "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=",
 +          "dev": true
 +        }
        }
      },
      "concat-map": {
        "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=",
        "dev": true,
        "requires": {
 -        "buffer-from": "1.1.1",
 +        "buffer-from": "1.0.0",
          "inherits": "2.0.3",
          "readable-stream": "2.3.6",
          "typedarray": "0.0.6"
        }
      },
      "connect-history-api-fallback": {
 -      "version": "1.6.0",
 -      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
 -      "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
 +      "version": "1.5.0",
 +      "resolved": "http://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.5.0.tgz",
 +      "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=",
        "dev": true
      },
      "console-browserify": {
        "dev": true
      },
      "content-disposition": {
 -      "version": "0.5.3",
 -      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
 -      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
 -      "dev": true,
 -      "requires": {
 -        "safe-buffer": "5.1.2"
 -      }
 +      "version": "0.5.2",
 +      "resolved": "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz",
 +      "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
 +      "dev": true
      },
      "content-type": {
        "version": "1.0.4",
        "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU="
      },
      "cookie": {
 -      "version": "0.4.0",
 -      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
 -      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
 +      "version": "0.3.1",
 +      "resolved": "http://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz",
 +      "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
        "dev": true
      },
      "cookie-signature": {
        "dev": true,
        "requires": {
          "is-directory": "0.3.1",
-         "js-yaml": "3.11.0",
+         "js-yaml": "3.13.1",
          "minimist": "1.2.0",
          "object-assign": "4.1.1",
          "os-homedir": "1.0.2",
        "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
        "dev": true,
        "requires": {
 -        "lru-cache": "4.1.5",
 -        "which": "1.3.0"
 +        "lru-cache": "4.1.3",
 +        "shebang-command": "1.2.0",
 +        "which": "1.3.1"
        }
      },
      "crypto-browserify": {
          }
        }
      },
+     "css-color-names": {
+       "version": "0.0.4",
+       "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+       "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+       "dev": true
+     },
      "css-loader": {
-       "version": "0.14.5",
-       "resolved": "http://registry.npm.taobao.org/css-loader/download/css-loader-0.14.5.tgz",
-       "integrity": "sha1-1lY1tyrcSHrIGKLni1u5/spTUq0=",
+       "version": "0.26.1",
+       "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.26.1.tgz",
+       "integrity": "sha1-K6fyATG5NZdJaz6btQB4WknNKeo=",
        "dev": true,
        "requires": {
-         "clean-css": "3.4.28",
-         "fastparse": "1.1.1",
+         "babel-code-frame": "6.26.0",
+         "css-selector-tokenizer": "0.7.1",
+         "cssnano": "3.10.0",
          "loader-utils": "0.2.17",
+         "lodash.camelcase": "4.3.0",
+         "object-assign": "4.1.1",
+         "postcss": "5.2.18",
+         "postcss-modules-extract-imports": "1.2.1",
+         "postcss-modules-local-by-default": "1.2.0",
+         "postcss-modules-scope": "1.1.0",
+         "postcss-modules-values": "1.3.0",
          "source-list-map": "0.1.8"
        }
      },
 -        "has": "1.0.3",
+     "css-selector-tokenizer": {
+       "version": "0.7.1",
+       "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
+       "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
+       "dev": true,
+       "requires": {
+         "cssesc": "0.1.0",
+         "fastparse": "1.1.2",
+         "regexpu-core": "1.0.0"
+       },
+       "dependencies": {
+         "regexpu-core": {
+           "version": "1.0.0",
+           "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+           "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+           "dev": true,
+           "requires": {
+             "regenerate": "1.4.0",
+             "regjsgen": "0.2.0",
+             "regjsparser": "0.1.5"
+           }
+         }
+       }
+     },
+     "cssesc": {
+       "version": "0.1.0",
+       "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+       "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+       "dev": true
+     },
+     "cssnano": {
+       "version": "3.10.0",
+       "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
+       "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+       "dev": true,
+       "requires": {
+         "autoprefixer": "6.7.7",
+         "decamelize": "1.2.0",
+         "defined": "1.0.0",
 -      }
 -    },
++        "has": "1.0.1",
+         "object-assign": "4.1.1",
+         "postcss": "5.2.18",
+         "postcss-calc": "5.3.1",
+         "postcss-colormin": "2.2.2",
+         "postcss-convert-values": "2.6.1",
+         "postcss-discard-comments": "2.0.4",
+         "postcss-discard-duplicates": "2.1.0",
+         "postcss-discard-empty": "2.1.0",
+         "postcss-discard-overridden": "0.1.1",
+         "postcss-discard-unused": "2.2.3",
+         "postcss-filter-plugins": "2.0.3",
+         "postcss-merge-idents": "2.1.7",
+         "postcss-merge-longhand": "2.0.2",
+         "postcss-merge-rules": "2.1.2",
+         "postcss-minify-font-values": "1.0.5",
+         "postcss-minify-gradients": "1.0.5",
+         "postcss-minify-params": "1.2.2",
+         "postcss-minify-selectors": "2.1.1",
+         "postcss-normalize-charset": "1.1.1",
+         "postcss-normalize-url": "3.0.8",
+         "postcss-ordered-values": "2.2.3",
+         "postcss-reduce-idents": "2.4.0",
+         "postcss-reduce-initial": "1.0.1",
+         "postcss-reduce-transforms": "1.0.4",
+         "postcss-svgo": "2.1.6",
+         "postcss-unique-selectors": "2.0.2",
+         "postcss-value-parser": "3.3.0",
+         "postcss-zindex": "2.2.0"
+       }
+     },
+     "csso": {
+       "version": "2.3.2",
+       "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
+       "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+       "dev": true,
+       "requires": {
+         "clap": "1.2.3",
+         "source-map": "0.5.7"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.5.7",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
++          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
++          "dev": true
++        }
++      }
++    },
      "currently-unhandled": {
        "version": "0.4.1",
        "resolved": "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz",
          "array-find-index": "1.0.2"
        }
      },
-     "d": {
-       "version": "1.0.0",
-       "resolved": "http://registry.npm.taobao.org/d/download/d-1.0.0.tgz",
-       "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
-       "dev": true,
-       "requires": {
-         "es5-ext": "0.10.42"
-       }
-     },
      "dashdash": {
        "version": "1.14.1",
        "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz",
        "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
 +      "dev": true,
        "requires": {
          "assert-plus": "1.0.0"
        }
      },
 -    "data-uri-to-buffer": {
 -      "version": "2.0.0",
 -      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.0.tgz",
 -      "integrity": "sha512-YbKCNLPPP4inc0E5If4OaalBc7gpaM2MRv77Pv2VThVComLKfbGYtJcdDCViDyp1Wd4SebhHLz94vp91zbK6bw==",
 -      "optional": true,
 -      "requires": {
 -        "@types/node": "8.10.29"
 -      }
 -    },
      "date-format": {
        "version": "1.2.0",
--      "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
++      "resolved": "http://registry.npm.taobao.org/date-format/download/date-format-1.2.0.tgz",
        "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg="
      },
      "date-now": {
      "deep-is": {
        "version": "0.1.3",
        "resolved": "http://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz",
 -      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
 +      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
 +      "dev": true
      },
      "define-properties": {
        "version": "1.1.2",
          }
        }
      },
-     "del": {
-       "version": "2.2.2",
-       "resolved": "http://registry.npm.taobao.org/del/download/del-2.2.2.tgz",
-       "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
 -    "degenerator": {
 -      "version": "1.0.4",
 -      "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
 -      "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
 -      "optional": true,
 -      "requires": {
 -        "ast-types": "0.12.2",
 -        "escodegen": "1.11.1",
 -        "esprima": "3.1.3"
 -      }
 -    },
 -    "define-properties": {
 -      "version": "1.1.3",
 -      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
 -      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
--      "dev": true,
--      "requires": {
-         "globby": "5.0.0",
-         "is-path-cwd": "1.0.0",
-         "is-path-in-cwd": "1.0.1",
-         "object-assign": "4.1.1",
-         "pify": "2.3.0",
-         "pinkie-promise": "2.0.1",
-         "rimraf": "2.6.2"
 -        "object-keys": "1.1.1"
--      }
 -    },
+     "defined": {
+       "version": "1.0.0",
+       "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+       "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+       "dev": true
      },
      "delayed-stream": {
        "version": "1.0.0",
        "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
 -      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
 +      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
 +      "dev": true
      },
      "delegates": {
        "version": "1.0.0",
      "depd": {
        "version": "1.1.2",
        "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
 -      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
 +      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
 +      "dev": true
      },
      "destroy": {
        "version": "1.0.4",
          "electron-builder-lib": "20.14.7",
          "fs-extra-p": "4.6.0",
          "iconv-lite": "0.4.23",
--        "js-yaml": "3.11.0",
++        "js-yaml": "3.13.1",
          "parse-color": "1.0.0",
          "sanitize-filename": "1.6.1"
        },
              "hosted-git-info": "2.6.0",
              "is-ci": "1.1.0",
              "isbinaryfile": "3.0.2",
--            "js-yaml": "3.11.0",
++            "js-yaml": "3.13.1",
              "lazy-val": "1.0.3",
              "minimatch": "3.0.4",
              "normalize-package-data": "2.4.0",
                  "debug": "3.1.0",
                  "fs-extra-p": "4.6.0",
                  "is-ci": "1.1.0",
--                "js-yaml": "3.11.0",
++                "js-yaml": "3.13.1",
                  "lazy-val": "1.0.3",
                  "semver": "5.5.0",
                  "source-map-support": "0.5.6",
        }
      },
      "doctrine": {
-       "version": "1.5.0",
-       "resolved": "http://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz",
-       "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+       "version": "2.1.0",
+       "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+       "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
        "dev": true,
        "requires": {
-         "esutils": "2.0.2",
-         "isarray": "1.0.0"
-       },
-       "dependencies": {
-         "isarray": {
-           "version": "1.0.0",
-           "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
-           "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-           "dev": true
-         }
+         "esutils": "2.0.2"
        }
      },
      "dom-helpers": {
        "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=",
        "dev": true
      },
 -    "double-ended-queue": {
 -      "version": "2.1.0-0",
 -      "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
 -      "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=",
 -      "optional": true
 -    },
      "duplexer": {
        "version": "0.1.1",
        "resolved": "http://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz",
        "dev": true
      },
      "ecc-jsbn": {
 -      "version": "0.1.2",
 -      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
 -      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
 +      "version": "0.1.1",
 +      "resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz",
 +      "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
        "dev": true,
 +      "optional": true,
        "requires": {
 -        "jsbn": "0.1.1",
 -        "safer-buffer": "2.1.2"
 +        "jsbn": "0.1.1"
        }
      },
      "ee-first": {
          "hosted-git-info": "2.6.0",
          "is-ci": "1.1.0",
          "isbinaryfile": "3.0.2",
--        "js-yaml": "3.11.0",
++        "js-yaml": "3.13.1",
          "lazy-val": "1.0.3",
          "minimatch": "3.0.4",
          "normalize-package-data": "2.4.0",
        }
      },
      "es-abstract": {
 -      "version": "1.13.0",
 -      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
 -      "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
 +      "version": "1.11.0",
 +      "resolved": "http://registry.npm.taobao.org/es-abstract/download/es-abstract-1.11.0.tgz",
 +      "integrity": "sha1-zOh9UY8Elok7GjDNhGGDVTVIBoE=",
        "dev": true,
        "requires": {
 -        "es-to-primitive": "1.2.0",
 +        "es-to-primitive": "1.1.1",
          "function-bind": "1.1.1",
 -        "has": "1.0.3",
 -        "is-callable": "1.1.4",
 -        "is-regex": "1.0.4",
 -        "object-keys": "1.1.1"
 +        "has": "1.0.1",
 +        "is-callable": "1.1.3",
 +        "is-regex": "1.0.4"
        }
      },
      "es-to-primitive": {
 -      "version": "1.2.0",
 -      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
 -      "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
 +      "version": "1.1.1",
 +      "resolved": "http://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.1.1.tgz",
 +      "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
        "dev": true,
        "requires": {
 -        "is-callable": "1.1.4",
 +        "is-callable": "1.1.3",
          "is-date-object": "1.0.1",
 -        "is-symbol": "1.0.2"
 +        "is-symbol": "1.0.1"
        }
      },
-     "es5-ext": {
-       "version": "0.10.42",
-       "resolved": "http://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.42.tgz",
-       "integrity": "sha1-jAfdM68E1dzRMQtc7xO+pjqJuo0=",
-       "dev": true,
-       "requires": {
-         "es6-iterator": "2.0.3",
-         "es6-symbol": "3.1.1",
-         "next-tick": "1.0.0"
-       }
-     },
-     "es6-iterator": {
-       "version": "2.0.3",
-       "resolved": "http://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz",
-       "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
-       "dev": true,
-       "requires": {
-         "d": "1.0.0",
-         "es5-ext": "0.10.42",
-         "es6-symbol": "3.1.1"
-       }
-     },
-     "es6-map": {
-       "version": "0.1.5",
-       "resolved": "http://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz",
-       "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
-       "dev": true,
-       "requires": {
-         "d": "1.0.0",
-         "es5-ext": "0.10.42",
-         "es6-iterator": "2.0.3",
-         "es6-set": "0.1.5",
-         "es6-symbol": "3.1.1",
-         "event-emitter": "0.3.5"
-       }
-     },
 +    "es6-promise": {
 +      "version": "4.2.4",
 +      "resolved": "http://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.4.tgz",
 +      "integrity": "sha1-3EIhwrFlGHYL2MOaUtjzVvwA7Sk=",
 +      "dev": true
 +    },
-     "es6-set": {
-       "version": "0.1.5",
-       "resolved": "http://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz",
-       "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
-       "dev": true,
-       "requires": {
-         "d": "1.0.0",
-         "es5-ext": "0.10.42",
-         "es6-iterator": "2.0.3",
-         "es6-symbol": "3.1.1",
-         "event-emitter": "0.3.5"
-       }
-     },
-     "es6-symbol": {
-       "version": "3.1.1",
-       "resolved": "http://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz",
-       "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
-       "dev": true,
-       "requires": {
-         "d": "1.0.0",
-         "es5-ext": "0.10.42"
-       }
-     },
-     "es6-weak-map": {
-       "version": "2.0.2",
-       "resolved": "http://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.2.tgz",
-       "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
-       "dev": true,
-       "requires": {
-         "d": "1.0.0",
-         "es5-ext": "0.10.42",
-         "es6-iterator": "2.0.3",
-         "es6-symbol": "3.1.1"
-       }
-     },
      "escape-html": {
        "version": "1.0.3",
        "resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
        "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
        "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
      },
-     "escope": {
-       "version": "3.6.0",
-       "resolved": "http://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz",
-       "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
-       "dev": true,
-       "requires": {
-         "es6-map": "0.1.5",
-         "es6-weak-map": "2.0.2",
-         "esrecurse": "4.2.1",
-         "estraverse": "4.2.0"
-       }
-     },
      "eslint": {
-       "version": "3.7.1",
-       "resolved": "http://registry.npm.taobao.org/eslint/download/eslint-3.7.1.tgz",
-       "integrity": "sha1-f6qEWZ4P6kIvBLwy20kFQFGj8Ro=",
+       "version": "4.18.2",
+       "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.2.tgz",
+       "integrity": "sha512-qy4i3wODqKMYfz9LUI8N2qYDkHkoieTbiHpMrYUI/WbjhXJQr7lI4VngixTgaG+yHX+NBCv7nW4hA0ShbvaNKw==",
        "dev": true,
        "requires": {
-         "chalk": "1.1.3",
+         "ajv": "5.5.2",
+         "babel-code-frame": "6.26.0",
+         "chalk": "2.4.2",
          "concat-stream": "1.6.2",
-         "debug": "2.6.9",
-         "doctrine": "1.5.0",
-         "escope": "3.6.0",
+         "cross-spawn": "5.1.0",
 -        "debug": "3.2.6",
++        "debug": "3.1.0",
+         "doctrine": "2.1.0",
+         "eslint-scope": "3.7.3",
+         "eslint-visitor-keys": "1.0.0",
          "espree": "3.5.4",
-         "estraverse": "4.2.0",
+         "esquery": "1.0.1",
          "esutils": "2.0.2",
          "file-entry-cache": "2.0.0",
 -        "glob": "7.1.3",
+         "functional-red-black-tree": "1.0.1",
-         "globals": "9.18.0",
-         "ignore": "3.3.8",
 +        "glob": "7.1.2",
+         "globals": "11.12.0",
+         "ignore": "3.3.10",
          "imurmurhash": "0.1.4",
-         "inquirer": "0.12.0",
-         "is-my-json-valid": "2.17.2",
+         "inquirer": "3.3.0",
          "is-resolvable": "1.1.0",
-         "js-yaml": "3.11.0",
-         "json-stable-stringify": "1.0.1",
+         "js-yaml": "3.13.1",
+         "json-stable-stringify-without-jsonify": "1.0.1",
          "levn": "0.3.0",
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
+         "minimatch": "3.0.4",
          "mkdirp": "0.5.1",
          "natural-compare": "1.4.0",
          "optionator": "0.8.2",
          "path-is-inside": "1.0.2",
-         "pluralize": "1.2.1",
-         "progress": "1.1.8",
+         "pluralize": "7.0.0",
+         "progress": "2.0.3",
          "require-uncached": "1.0.3",
-         "shelljs": "0.6.1",
-         "strip-bom": "3.0.0",
-         "strip-json-comments": "1.0.4",
-         "table": "3.8.3",
-         "text-table": "0.2.0",
-         "user-home": "2.0.0"
 -        "semver": "5.7.0",
++        "semver": "5.5.0",
+         "strip-ansi": "4.0.0",
+         "strip-json-comments": "2.0.1",
+         "table": "4.0.2",
+         "text-table": "0.2.0"
        },
        "dependencies": {
-         "debug": {
-           "version": "2.6.9",
-           "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
-           "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
 -        "ajv": {
 -          "version": "5.5.2",
 -          "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
 -          "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
--          "dev": true,
--          "requires": {
-             "ms": "2.0.0"
 -            "co": "4.6.0",
 -            "fast-deep-equal": "1.1.0",
 -            "fast-json-stable-stringify": "2.0.0",
 -            "json-schema-traverse": "0.3.1"
--          }
--        },
-         "pluralize": {
-           "version": "1.2.1",
-           "resolved": "http://registry.npm.taobao.org/pluralize/download/pluralize-1.2.1.tgz",
-           "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=",
+         "ansi-regex": {
+           "version": "3.0.0",
+           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+           "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
            "dev": true
          },
-         "shelljs": {
-           "version": "0.6.1",
-           "resolved": "http://registry.npm.taobao.org/shelljs/download/shelljs-0.6.1.tgz",
-           "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=",
+         "ansi-styles": {
+           "version": "3.2.1",
+           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+           "dev": true,
+           "requires": {
 -            "color-convert": "1.9.3"
++            "color-convert": "1.9.1"
+           }
+         },
+         "chalk": {
+           "version": "2.4.2",
+           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+           "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+           "dev": true,
+           "requires": {
+             "ansi-styles": "3.2.1",
+             "escape-string-regexp": "1.0.5",
+             "supports-color": "5.5.0"
+           }
+         },
 -        "cross-spawn": {
 -          "version": "5.1.0",
 -          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
 -          "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
 -          "dev": true,
 -          "requires": {
 -            "lru-cache": "4.1.5",
 -            "shebang-command": "1.2.0",
 -            "which": "1.3.0"
 -          }
 -        },
 -        "debug": {
 -          "version": "3.2.6",
 -          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
 -          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
 -          "dev": true,
 -          "requires": {
 -            "ms": "2.1.2"
 -          }
 -        },
 -        "doctrine": {
 -          "version": "2.1.0",
 -          "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
 -          "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
 -          "dev": true,
 -          "requires": {
 -            "esutils": "2.0.2"
 -          }
 -        },
 -        "fast-deep-equal": {
 -          "version": "1.1.0",
 -          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
 -          "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
 -          "dev": true
 -        },
+         "globals": {
+           "version": "11.12.0",
+           "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+           "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
            "dev": true
          },
-         "strip-bom": {
+         "has-flag": {
            "version": "3.0.0",
-           "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz",
-           "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+           "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
            "dev": true
          },
-         "user-home": {
-           "version": "2.0.0",
-           "resolved": "http://registry.npm.taobao.org/user-home/download/user-home-2.0.0.tgz",
-           "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
 -        "json-schema-traverse": {
 -          "version": "0.3.1",
 -          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
 -          "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
 -          "dev": true
 -        },
 -        "ms": {
 -          "version": "2.1.2",
 -          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 -          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
 -          "dev": true
 -        },
+         "pluralize": {
+           "version": "7.0.0",
+           "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
+           "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
+           "dev": true
+         },
+         "strip-ansi": {
+           "version": "4.0.0",
+           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+           "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+           "dev": true,
+           "requires": {
+             "ansi-regex": "3.0.0"
+           }
+         },
+         "strip-json-comments": {
+           "version": "2.0.1",
+           "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+           "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+           "dev": true
+         },
+         "supports-color": {
+           "version": "5.5.0",
+           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
            "dev": true,
            "requires": {
-             "os-homedir": "1.0.2"
+             "has-flag": "3.0.0"
            }
          }
        }
      },
      "eslint-plugin-react": {
-       "version": "6.4.1",
-       "resolved": "http://registry.npm.taobao.org/eslint-plugin-react/download/eslint-plugin-react-6.4.1.tgz",
-       "integrity": "sha1-fRqt50fbFYkvce7h/qSt35e8+is=",
+       "version": "7.14.2",
+       "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.14.2.tgz",
+       "integrity": "sha512-jZdnKe3ip7FQOdjxks9XPN0pjUKZYq48OggNMd16Sk+8VXx6JOvXmlElxROCgp7tiUsTsze3jd78s/9AFJP2mA==",
+       "dev": true,
+       "requires": {
+         "array-includes": "3.0.3",
+         "doctrine": "2.1.0",
+         "has": "1.0.3",
+         "jsx-ast-utils": "2.2.1",
+         "object.entries": "1.1.0",
+         "object.fromentries": "2.0.0",
+         "object.values": "1.1.0",
+         "prop-types": "15.7.2",
+         "resolve": "1.11.1"
+       },
+       "dependencies": {
++        "has": {
++          "version": "1.0.3",
++          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
++          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
++          "dev": true,
++          "requires": {
++            "function-bind": "1.1.1"
++          }
++        },
+         "loose-envify": {
+           "version": "1.4.0",
+           "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+           "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+           "dev": true,
+           "requires": {
+             "js-tokens": "3.0.2"
+           }
+         },
+         "path-parse": {
+           "version": "1.0.6",
+           "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+           "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+           "dev": true
+         },
+         "prop-types": {
+           "version": "15.7.2",
+           "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
+           "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+           "dev": true,
+           "requires": {
+             "loose-envify": "1.4.0",
+             "object-assign": "4.1.1",
+             "react-is": "16.8.6"
+           }
+         },
+         "react-is": {
+           "version": "16.8.6",
+           "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
+           "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==",
+           "dev": true
+         },
+         "resolve": {
+           "version": "1.11.1",
+           "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz",
+           "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==",
+           "dev": true,
+           "requires": {
+             "path-parse": "1.0.6"
+           }
+         }
+       }
+     },
+     "eslint-scope": {
+       "version": "3.7.3",
+       "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz",
+       "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==",
        "dev": true,
        "requires": {
-         "doctrine": "1.5.0",
-         "jsx-ast-utils": "1.4.1"
+         "esrecurse": "4.2.1",
+         "estraverse": "4.2.0"
        }
      },
+     "eslint-visitor-keys": {
+       "version": "1.0.0",
+       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
+       "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
+       "dev": true
+     },
      "espree": {
        "version": "3.5.4",
--      "resolved": "http://registry.npm.taobao.org/espree/download/espree-3.5.4.tgz",
--      "integrity": "sha1-sPRHGHyKi+2US4FaZgvd9d610ac=",
++      "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
++      "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
        "dev": true,
        "requires": {
-         "acorn": "5.5.3",
+         "acorn": "5.7.3",
          "acorn-jsx": "3.0.1"
        }
      },
+     "esprima": {
+       "version": "4.0.1",
+       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+       "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+       "dev": true
+     },
+     "esquery": {
+       "version": "1.0.1",
+       "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
+       "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+       "dev": true,
+       "requires": {
+         "estraverse": "4.2.0"
+       }
+     },
      "esrecurse": {
        "version": "4.2.1",
--      "resolved": "http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz",
--      "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=",
++      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
++      "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
        "dev": true,
        "requires": {
          "estraverse": "4.2.0"
      "estraverse": {
        "version": "4.2.0",
        "resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz",
 -      "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
 +      "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
 +      "dev": true
      },
      "esutils": {
        "version": "2.0.2",
        "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
        "dev": true
      },
-     "event-emitter": {
-       "version": "0.3.5",
-       "resolved": "http://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz",
-       "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
-       "dev": true,
-       "requires": {
-         "d": "1.0.0",
-         "es5-ext": "0.10.42"
-       }
-     },
 +    "event-stream": {
 +      "version": "3.3.4",
 +      "resolved": "http://registry.npm.taobao.org/event-stream/download/event-stream-3.3.4.tgz",
 +      "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
 +      "dev": true,
 +      "requires": {
 +        "duplexer": "0.1.1",
 +        "from": "0.1.7",
 +        "map-stream": "0.1.0",
 +        "pause-stream": "0.0.11",
 +        "split": "0.3.3",
 +        "stream-combiner": "0.0.4",
 +        "through": "2.3.8"
 +      }
 +    },
      "eventemitter3": {
 -      "version": "3.1.2",
 -      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
 -      "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
 +      "version": "3.1.0",
 +      "resolved": "http://registry.npm.taobao.org/eventemitter3/download/eventemitter3-3.1.0.tgz",
 +      "integrity": "sha1-CQtNbNvWRe0Qv3UNS1QHlC17oWM=",
        "dev": true
      },
      "events": {
          "strip-eof": "1.0.0"
        }
      },
-     "exit-hook": {
-       "version": "1.1.1",
-       "resolved": "http://registry.npm.taobao.org/exit-hook/download/exit-hook-1.1.1.tgz",
-       "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
-       "dev": true
-     },
      "expand-brackets": {
        "version": "0.1.5",
        "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz",
        "dev": true,
        "requires": {
          "fill-range": "2.2.4"
 -      },
 -      "dependencies": {
 -        "fill-range": {
 -          "version": "2.2.4",
 -          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
 -          "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
 -          "dev": true,
 -          "requires": {
 -            "is-number": "2.1.0",
 -            "isobject": "2.1.0",
 -            "randomatic": "3.1.1",
 -            "repeat-element": "1.1.3",
 -            "repeat-string": "1.6.1"
 -          }
 -        },
 -        "is-number": {
 -          "version": "2.1.0",
 -          "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
 -          "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
 -          "dev": true,
 -          "requires": {
 -            "kind-of": "3.2.2"
 -          }
 -        }
        }
      },
      "express": {
 -      "version": "4.17.1",
 -      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
 -      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
 +      "version": "4.16.3",
 +      "resolved": "http://registry.npm.taobao.org/express/download/express-4.16.3.tgz",
 +      "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=",
        "dev": true,
        "requires": {
 -        "accepts": "1.3.7",
 +        "accepts": "1.3.5",
          "array-flatten": "1.1.1",
 -        "body-parser": "1.19.0",
 -        "content-disposition": "0.5.3",
 +        "body-parser": "1.18.2",
 +        "content-disposition": "0.5.2",
          "content-type": "1.0.4",
 -        "cookie": "0.4.0",
 +        "cookie": "0.3.1",
          "cookie-signature": "1.0.6",
          "debug": "2.6.9",
          "depd": "1.1.2",
          "encodeurl": "1.0.2",
          "escape-html": "1.0.3",
          "etag": "1.8.1",
 -        "finalhandler": "1.1.2",
 +        "finalhandler": "1.1.1",
          "fresh": "0.5.2",
          "merge-descriptors": "1.0.1",
          "methods": "1.1.2",
          "on-finished": "2.3.0",
 -        "parseurl": "1.3.3",
 +        "parseurl": "1.3.2",
          "path-to-regexp": "0.1.7",
 -        "proxy-addr": "2.0.5",
 -        "qs": "6.7.0",
 -        "range-parser": "1.2.1",
 -        "safe-buffer": "5.1.2",
 -        "send": "0.17.1",
 -        "serve-static": "1.14.1",
 -        "setprototypeof": "1.1.1",
 -        "statuses": "1.5.0",
 -        "type-is": "1.6.18",
 +        "proxy-addr": "2.0.3",
 +        "qs": "6.5.1",
 +        "range-parser": "1.2.0",
 +        "safe-buffer": "5.1.1",
 +        "send": "0.16.2",
 +        "serve-static": "1.13.2",
 +        "setprototypeof": "1.1.0",
 +        "statuses": "1.4.0",
 +        "type-is": "1.6.16",
          "utils-merge": "1.0.1",
          "vary": "1.1.2"
        },
            }
          },
          "qs": {
 -          "version": "6.7.0",
 -          "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
 -          "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
 +          "version": "6.5.1",
 +          "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.1.tgz",
 +          "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=",
 +          "dev": true
 +        },
 +        "safe-buffer": {
 +          "version": "5.1.1",
 +          "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz",
 +          "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=",
 +          "dev": true
 +        },
 +        "statuses": {
 +          "version": "1.4.0",
 +          "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz",
 +          "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=",
            "dev": true
          }
        }
      "extend": {
        "version": "3.0.2",
        "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
 -      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
 +      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
 +      "dev": true
      },
+     "external-editor": {
+       "version": "2.2.0",
+       "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
+       "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
+       "dev": true,
+       "requires": {
+         "chardet": "0.4.2",
+         "iconv-lite": "0.4.23",
+         "tmp": "0.0.33"
+       }
+     },
      "extglob": {
        "version": "0.3.2",
        "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz",
      "extsprintf": {
        "version": "1.3.0",
        "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
 -      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
 +      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
 +      "dev": true
      },
      "fast-deep-equal": {
 -      "version": "2.0.1",
 -      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
 -      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
 +      "version": "1.1.0",
 +      "resolved": "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz",
 +      "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
        "dev": true
      },
      "fast-json-stable-stringify": {
        "version": "2.0.0",
        "resolved": "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz",
 -      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
 +      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
 +      "dev": true
      },
      "fast-levenshtein": {
        "version": "2.0.6",
        "resolved": "http://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
 -      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
 +      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
 +      "dev": true
      },
      "fastparse": {
-       "version": "1.1.1",
-       "resolved": "http://registry.npm.taobao.org/fastparse/download/fastparse-1.1.1.tgz",
-       "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=",
+       "version": "1.1.2",
+       "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
+       "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
        "dev": true
      },
      "fbjs": {
        }
      },
      "figures": {
-       "version": "1.7.0",
-       "resolved": "http://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz",
-       "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+       "version": "2.0.0",
+       "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+       "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
        "dev": true,
        "requires": {
-         "escape-string-regexp": "1.0.5",
-         "object-assign": "4.1.1"
+         "escape-string-regexp": "1.0.5"
        }
      },
      "file-entry-cache": {
        "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
        "dev": true,
        "requires": {
-         "flat-cache": "1.3.0",
+         "flat-cache": "1.3.4",
          "object-assign": "4.1.1"
        }
      },
          "loader-utils": "0.2.17"
        }
      },
 -    "file-uri-to-path": {
 -      "version": "1.0.0",
 -      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
 -      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
 -      "optional": true
 -    },
      "filename-regex": {
        "version": "2.0.1",
        "resolved": "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz",
        "dev": true
      },
      "fill-range": {
 -      "version": "7.0.1",
 -      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
 -      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
 +      "version": "2.2.4",
-       "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.4.tgz",
-       "integrity": "sha1-6x53OrsFbc2N8r/favWbizqTZWU=",
++      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
++      "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
        "dev": true,
        "requires": {
 -        "to-regex-range": "5.0.1"
 +        "is-number": "2.1.0",
 +        "isobject": "2.1.0",
-         "randomatic": "3.0.0",
-         "repeat-element": "1.1.2",
++        "randomatic": "3.1.1",
++        "repeat-element": "1.1.3",
 +        "repeat-string": "1.6.1"
        }
      },
      "finalhandler": {
 -      "version": "1.1.2",
 -      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
 -      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
 +      "version": "1.1.1",
 +      "resolved": "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.1.tgz",
 +      "integrity": "sha1-7r9O2EAHnIP0JJA4ydcDAIMBsQU=",
        "dev": true,
        "requires": {
          "debug": "2.6.9",
          "encodeurl": "1.0.2",
          "escape-html": "1.0.3",
          "on-finished": "2.3.0",
 -        "parseurl": "1.3.3",
 -        "statuses": "1.5.0",
 +        "parseurl": "1.3.2",
 +        "statuses": "1.4.0",
          "unpipe": "1.0.0"
        },
        "dependencies": {
        }
      },
      "flat-cache": {
-       "version": "1.3.0",
-       "resolved": "http://registry.npm.taobao.org/flat-cache/download/flat-cache-1.3.0.tgz",
-       "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
+       "version": "1.3.4",
+       "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
+       "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
        "dev": true,
        "requires": {
          "circular-json": "0.3.3",
-         "del": "2.2.2",
          "graceful-fs": "4.1.11",
+         "rimraf": "2.6.2",
          "write": "0.2.1"
        },
        "dependencies": {
          "circular-json": {
            "version": "0.3.3",
--          "resolved": "http://registry.npm.taobao.org/circular-json/download/circular-json-0.3.3.tgz",
--          "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=",
++          "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
++          "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
            "dev": true
          }
        }
      },
+     "flatten": {
+       "version": "1.0.2",
+       "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+       "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
+       "dev": true
+     },
      "follow-redirects": {
 -      "version": "1.7.0",
 -      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz",
 -      "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==",
 +      "version": "1.0.0",
 +      "resolved": "http://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.0.0.tgz",
 +      "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
        "dev": true,
        "requires": {
 -        "debug": "3.2.6"
 +        "debug": "2.6.9"
        },
        "dependencies": {
          "debug": {
 -          "version": "3.2.6",
 -          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
 -          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
 +          "version": "2.6.9",
 +          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
 +          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
            "dev": true,
            "requires": {
 -            "ms": "2.1.2"
 +            "ms": "2.0.0"
            }
 -        },
 -        "ms": {
 -          "version": "2.1.2",
 -          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 -          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
 -          "dev": true
          }
        }
      },
      "forever-agent": {
        "version": "0.6.1",
        "resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
 -      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
 +      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
 +      "dev": true
      },
      "form-data": {
 -      "version": "2.3.3",
 -      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
 -      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
 +      "version": "2.3.2",
 +      "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.3.2.tgz",
 +      "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
        "dev": true,
        "requires": {
          "asynckit": "0.4.0",
 -        "combined-stream": "1.0.8",
 +        "combined-stream": "1.0.6",
          "mime-types": "2.1.18"
        }
      },
        }
      },
      "fstream": {
-       "version": "1.0.11",
-       "resolved": "http://registry.npm.taobao.org/fstream/download/fstream-1.0.11.tgz",
-       "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+       "version": "1.0.12",
+       "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
+       "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
        "dev": true,
        "requires": {
          "graceful-fs": "4.1.11",
      },
      "function-bind": {
        "version": "1.1.1",
 -      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
 -      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
 +      "resolved": "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
 +      "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
        "dev": true
      },
+     "functional-red-black-tree": {
+       "version": "1.0.1",
+       "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+       "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+       "dev": true
+     },
      "gauge": {
        "version": "2.7.4",
        "resolved": "http://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz",
      },
      "gaze": {
        "version": "1.1.3",
--      "resolved": "http://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz",
--      "integrity": "sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=",
-       "dev": true,
-       "requires": {
-         "globule": "1.2.0"
-       }
-     },
-     "generate-function": {
-       "version": "2.0.0",
-       "resolved": "http://registry.npm.taobao.org/generate-function/download/generate-function-2.0.0.tgz",
-       "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
-       "dev": true
-     },
-     "generate-object-property": {
-       "version": "1.2.0",
-       "resolved": "http://registry.npm.taobao.org/generate-object-property/download/generate-object-property-1.2.0.tgz",
-       "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
++      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
++      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
        "dev": true,
        "requires": {
-         "is-property": "1.0.2"
+         "globule": "1.2.1"
        }
      },
      "get-caller-file": {
        "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
        "dev": true
      },
 -    "get-uri": {
 -      "version": "2.0.3",
 -      "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.3.tgz",
 -      "integrity": "sha512-x5j6Ks7FOgLD/GlvjKwgu7wdmMR55iuRHhn8hj/+gA+eSbxQvZ+AEomq+3MgVEZj1vpi738QahGbCCSIDtXtkw==",
 -      "optional": true,
 -      "requires": {
 -        "data-uri-to-buffer": "2.0.0",
 -        "debug": "4.1.1",
 -        "extend": "3.0.2",
 -        "file-uri-to-path": "1.0.0",
 -        "ftp": "0.3.10",
 -        "readable-stream": "3.2.0"
 -      },
 -      "dependencies": {
 -        "debug": {
 -          "version": "4.1.1",
 -          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
 -          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
 -          "optional": true,
 -          "requires": {
 -            "ms": "2.1.1"
 -          }
 -        },
 -        "extend": {
 -          "version": "3.0.2",
 -          "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
 -          "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
 -          "optional": true
 -        },
 -        "ms": {
 -          "version": "2.1.1",
 -          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
 -          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
 -          "optional": true
 -        },
 -        "readable-stream": {
 -          "version": "3.2.0",
 -          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz",
 -          "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==",
 -          "optional": true,
 -          "requires": {
 -            "inherits": "2.0.3",
 -            "string_decoder": "1.2.0",
 -            "util-deprecate": "1.0.2"
 -          }
 -        },
 -        "string_decoder": {
 -          "version": "1.2.0",
 -          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz",
 -          "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==",
 -          "optional": true,
 -          "requires": {
 -            "safe-buffer": "5.1.2"
 -          }
 -        }
 -      }
 -    },
      "getpass": {
        "version": "0.1.7",
        "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
        "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
 +      "dev": true,
        "requires": {
          "assert-plus": "1.0.0"
        }
        "resolved": "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz",
        "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo="
      },
-     "globby": {
-       "version": "5.0.0",
-       "resolved": "http://registry.npm.taobao.org/globby/download/globby-5.0.0.tgz",
-       "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
-       "dev": true,
-       "requires": {
-         "array-union": "1.0.2",
-         "arrify": "1.0.1",
-         "glob": "7.1.2",
-         "object-assign": "4.1.1",
-         "pify": "2.3.0",
-         "pinkie-promise": "2.0.1"
-       }
-     },
      "globule": {
-       "version": "1.2.0",
-       "resolved": "http://registry.npm.taobao.org/globule/download/globule-1.2.0.tgz",
-       "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=",
+       "version": "1.2.1",
+       "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
+       "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
        "dev": true,
        "requires": {
 -        "glob": "7.1.3",
 +        "glob": "7.1.2",
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
          "minimatch": "3.0.4"
        }
      },
 +    "got": {
 +      "version": "6.7.1",
 +      "resolved": "http://registry.npm.taobao.org/got/download/got-6.7.1.tgz",
 +      "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
 +      "dev": true,
 +      "requires": {
 +        "create-error-class": "3.0.2",
 +        "duplexer3": "0.1.4",
 +        "get-stream": "3.0.0",
 +        "is-redirect": "1.0.0",
 +        "is-retry-allowed": "1.1.0",
 +        "is-stream": "1.1.0",
 +        "lowercase-keys": "1.0.1",
 +        "safe-buffer": "5.1.2",
 +        "timed-out": "4.0.1",
 +        "unzip-response": "2.0.1",
 +        "url-parse-lax": "1.0.0"
 +      }
 +    },
      "graceful-fs": {
        "version": "4.1.11",
        "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz",
        "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
      },
-     "graceful-readlink": {
-       "version": "1.0.1",
-       "resolved": "http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz",
-       "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
-       "dev": true
-     },
      "gud": {
        "version": "1.0.0",
        "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz",
      "har-schema": {
        "version": "2.0.0",
        "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
 -      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
 +      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
 +      "dev": true
      },
      "har-validator": {
 -      "version": "5.1.3",
 -      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
 -      "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
 +      "version": "5.0.3",
 +      "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-5.0.3.tgz",
 +      "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
        "dev": true,
        "requires": {
 -        "ajv": "6.10.0",
 +        "ajv": "5.5.2",
          "har-schema": "2.0.0"
        }
      },
      "has": {
 -      "version": "1.0.3",
 -      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
 -      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
 +      "version": "1.0.1",
 +      "resolved": "http://registry.npm.taobao.org/has/download/has-1.0.1.tgz",
 +      "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
        "dev": true,
        "requires": {
          "function-bind": "1.1.1"
        "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
        "dev": true
      },
+     "has-symbols": {
+       "version": "1.0.0",
+       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+       "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+       "dev": true
+     },
      "has-unicode": {
        "version": "2.0.1",
        "resolved": "http://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz",
        "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
        "dev": true
      },
 -    "hawk": {
 -      "version": "3.1.3",
 -      "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
 -      "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
 -      "optional": true,
 -      "requires": {
 -        "boom": "2.10.1",
 -        "cryptiles": "2.0.5",
 -        "hoek": "2.16.3",
 -        "sntp": "1.0.9"
 -      }
 -    },
 -    "hipchat-notifier": {
 -      "version": "1.1.0",
 -      "resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz",
 -      "integrity": "sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4=",
 -      "optional": true,
 -      "requires": {
 -        "lodash": "4.17.11",
 -        "request": "2.87.0"
 -      }
 -    },
      "history": {
        "version": "2.1.2",
        "resolved": "http://registry.npm.taobao.org/history/download/history-2.1.2.tgz",
        "integrity": "sha1-weVybFSIW9GDbBXUESASKh/dcME=",
        "dev": true,
        "requires": {
 -        "compression": "1.7.4",
 -        "connect-history-api-fallback": "1.6.0",
 +        "compression": "1.7.2",
 +        "connect-history-api-fallback": "1.5.0",
          "contains-path": "0.1.0",
 -        "express": "4.17.1",
 +        "express": "4.16.3",
          "extract-text-webpack-plugin": "1.0.1",
          "find-root": "1.1.0",
          "http-proxy-middleware": "0.17.4",
          "rimraf": "2.6.2",
          "webpack": "1.15.0",
          "webpack-dev-middleware": "1.12.2",
 -        "webpack-hot-middleware": "2.25.0"
 +        "webpack-hot-middleware": "2.22.2"
        }
      },
 -    "hoek": {
 -      "version": "2.16.3",
 -      "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
 -      "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
 -    },
      "hoist-non-react-statics": {
        "version": "2.5.0",
        "resolved": "http://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-2.5.0.tgz",
        "dev": true
      },
      "hosted-git-info": {
 -      "version": "2.7.1",
 -      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
 -      "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
 +      "version": "2.6.0",
 +      "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.6.0.tgz",
 +      "integrity": "sha1-IyNbKasjDFdqqw1PE/wEawsDgiI=",
        "dev": true
      },
+     "html-comment-regex": {
+       "version": "1.1.2",
+       "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
+       "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
+       "dev": true
+     },
      "html-entities": {
        "version": "1.2.1",
        "resolved": "http://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz",
        }
      },
      "http-errors": {
 -      "version": "1.7.2",
 -      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
 -      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
 +      "version": "1.6.3",
 +      "resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz",
 +      "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
        "dev": true,
        "requires": {
          "depd": "1.1.2",
          "inherits": "2.0.3",
 -        "setprototypeof": "1.1.1",
 -        "statuses": "1.5.0",
 -        "toidentifier": "1.0.0"
 +        "setprototypeof": "1.1.0",
 +        "statuses": "1.5.0"
        }
      },
      "http-proxy": {
        "integrity": "sha1-etOElGWPhGBeL220Q230EPTlvpo=",
        "dev": true,
        "requires": {
 -        "eventemitter3": "3.1.2",
 -        "follow-redirects": "1.7.0",
 +        "eventemitter3": "3.1.0",
 +        "follow-redirects": "1.0.0",
          "requires-port": "1.0.0"
        }
      },
 -    "http-proxy-agent": {
 -      "version": "2.1.0",
 -      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
 -      "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
 -      "requires": {
 -        "agent-base": "4.2.1",
 -        "debug": "3.1.0"
 -      }
 -    },
      "http-proxy-middleware": {
        "version": "0.17.4",
        "resolved": "http://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.17.4.tgz",
        "requires": {
          "http-proxy": "1.17.0",
          "is-glob": "3.1.0",
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
          "micromatch": "2.3.11"
        },
        "dependencies": {
        "version": "1.2.0",
        "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz",
        "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
 +      "dev": true,
        "requires": {
          "assert-plus": "1.0.0",
          "jsprim": "1.4.1",
 -        "sshpk": "1.16.1"
 -      }
 -    },
 -    "httpntlm": {
 -      "version": "1.6.1",
 -      "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
 -      "integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=",
 -      "requires": {
 -        "httpreq": "0.4.24",
 -        "underscore": "1.7.0"
 +        "sshpk": "1.14.1"
        }
      },
 -    "httpreq": {
 -      "version": "0.4.24",
 -      "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz",
 -      "integrity": "sha1-QzX/2CzZaWaKOUZckprGHWOTYn8="
 -    },
      "https-browserify": {
        "version": "0.0.1",
        "resolved": "http://registry.npm.taobao.org/https-browserify/download/https-browserify-0.0.1.tgz",
        "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=",
        "dev": true
      },
 -    "https-proxy-agent": {
 -      "version": "2.2.1",
 -      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
 -      "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
 -      "requires": {
 -        "agent-base": "4.2.1",
 -        "debug": "3.1.0"
 -      }
 -    },
      "i18next": {
        "version": "11.9.1",
        "resolved": "https://registry.npmjs.org/i18next/-/i18next-11.9.1.tgz",
          "safer-buffer": "2.1.2"
        }
      },
+     "icss-replace-symbols": {
+       "version": "1.1.0",
+       "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+       "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+       "dev": true
+     },
      "ieee754": {
 -      "version": "1.1.13",
 -      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
 -      "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
 +      "version": "1.1.11",
 +      "resolved": "http://registry.npm.taobao.org/ieee754/download/ieee754-1.1.11.tgz",
 +      "integrity": "sha1-wWOE/+APW3g1gk5ntvK9RKUilFU=",
        "dev": true
      },
      "ignore": {
-       "version": "3.3.8",
-       "resolved": "http://registry.npm.taobao.org/ignore/download/ignore-3.3.8.tgz",
-       "integrity": "sha1-P46cNdOHCKOn4Omrtsc+fudweys=",
+       "version": "3.3.10",
+       "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
+       "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
        "dev": true
      },
 +    "import-lazy": {
 +      "version": "2.1.0",
 +      "resolved": "http://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",
          "repeating": "2.0.1"
        }
      },
+     "indexes-of": {
+       "version": "1.0.1",
+       "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+       "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+       "dev": true
+     },
      "indexof": {
        "version": "0.0.1",
        "resolved": "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz",
        "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
        "dev": true
      },
 -    "inflection": {
 -      "version": "1.12.0",
 -      "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz",
 -      "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=",
 -      "optional": true
 -    },
      "inflight": {
        "version": "1.0.6",
        "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
        "dev": true
      },
      "inquirer": {
-       "version": "0.12.0",
-       "resolved": "http://registry.npm.taobao.org/inquirer/download/inquirer-0.12.0.tgz",
-       "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=",
+       "version": "3.3.0",
+       "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
+       "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
        "dev": true,
        "requires": {
-         "ansi-escapes": "1.4.0",
-         "ansi-regex": "2.1.1",
-         "chalk": "1.1.3",
-         "cli-cursor": "1.0.2",
+         "ansi-escapes": "3.2.0",
+         "chalk": "2.4.2",
+         "cli-cursor": "2.1.0",
          "cli-width": "2.2.0",
-         "figures": "1.7.0",
-         "lodash": "4.17.11",
-         "readline2": "1.0.1",
-         "run-async": "0.1.0",
-         "rx-lite": "3.1.2",
-         "string-width": "1.0.2",
-         "strip-ansi": "3.0.1",
+         "external-editor": "2.2.0",
+         "figures": "2.0.0",
+         "lodash": "4.17.14",
+         "mute-stream": "0.0.7",
+         "run-async": "2.3.0",
+         "rx-lite": "4.0.8",
+         "rx-lite-aggregates": "4.0.8",
+         "string-width": "2.1.1",
+         "strip-ansi": "4.0.0",
          "through": "2.3.8"
 -            "color-convert": "1.9.3"
+       },
+       "dependencies": {
+         "ansi-regex": {
+           "version": "3.0.0",
+           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+           "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+           "dev": true
+         },
+         "ansi-styles": {
+           "version": "3.2.1",
+           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+           "dev": true,
+           "requires": {
++            "color-convert": "1.9.1"
+           }
+         },
+         "chalk": {
+           "version": "2.4.2",
+           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+           "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+           "dev": true,
+           "requires": {
+             "ansi-styles": "3.2.1",
+             "escape-string-regexp": "1.0.5",
+             "supports-color": "5.5.0"
+           }
+         },
+         "has-flag": {
+           "version": "3.0.0",
+           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+           "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+           "dev": true
+         },
+         "is-fullwidth-code-point": {
+           "version": "2.0.0",
+           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+           "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+           "dev": true
+         },
+         "string-width": {
+           "version": "2.1.1",
+           "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+           "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+           "dev": true,
+           "requires": {
+             "is-fullwidth-code-point": "2.0.0",
+             "strip-ansi": "4.0.0"
+           }
+         },
+         "strip-ansi": {
+           "version": "4.0.0",
+           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+           "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+           "dev": true,
+           "requires": {
+             "ansi-regex": "3.0.0"
+           }
+         },
+         "supports-color": {
+           "version": "5.5.0",
+           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+           "dev": true,
+           "requires": {
+             "has-flag": "3.0.0"
+           }
+         }
        }
      },
      "interpret": {
        "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
        "dev": true
      },
 -    "ip": {
 -      "version": "1.1.5",
 -      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
 -      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
 -    },
      "ipaddr.js": {
 -      "version": "1.9.0",
 -      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
 -      "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==",
 +      "version": "1.6.0",
 +      "resolved": "http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.6.0.tgz",
 +      "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=",
        "dev": true
      },
+     "is-absolute-url": {
+       "version": "2.1.0",
+       "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+       "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+       "dev": true
+     },
      "is-arrayish": {
        "version": "0.2.1",
        "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
        "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=",
        "dev": true
      },
 -    "is-callable": {
 -      "version": "1.1.4",
 -      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
 -      "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
 -      "dev": true
 -    },
 -    "is-date-object": {
 -      "version": "1.0.1",
 -      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
 -      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
 -      "dev": true
 +    "is-builtin-module": {
 +      "version": "1.0.0",
 +      "resolved": "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz",
 +      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
 +      "dev": true,
 +      "requires": {
 +        "builtin-modules": "1.1.1"
 +      }
      },
      "is-callable": {
        "version": "1.1.3",
          "is-extglob": "1.0.0"
        }
      },
 -    "is-number": {
 -      "version": "7.0.0",
 -      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
 -      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
 -      "dev": true
 -    },
 -    "is-plain-obj": {
 -      "version": "1.1.0",
 +    "is-installed-globally": {
 +      "version": "0.1.0",
 +      "resolved": "http://registry.npm.taobao.org/is-installed-globally/download/is-installed-globally-0.1.0.tgz",
 +      "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
 +      "dev": true,
 +      "requires": {
 +        "global-dirs": "0.1.1",
 +        "is-path-inside": "1.0.1"
 +      }
 +    },
-     "is-my-ip-valid": {
-       "version": "1.0.0",
-       "resolved": "http://registry.npm.taobao.org/is-my-ip-valid/download/is-my-ip-valid-1.0.0.tgz",
-       "integrity": "sha1-ezUbjo7dTTmV1NBmaA5mTZRpaCQ=",
-       "dev": true
-     },
-     "is-my-json-valid": {
-       "version": "2.17.2",
-       "resolved": "http://registry.npm.taobao.org/is-my-json-valid/download/is-my-json-valid-2.17.2.tgz",
-       "integrity": "sha1-ayEDoojpTvPeXPFdKd2F/Et41lw=",
-       "dev": true,
-       "requires": {
-         "generate-function": "2.0.0",
-         "generate-object-property": "1.2.0",
-         "is-my-ip-valid": "1.0.0",
-         "jsonpointer": "4.0.1",
-         "xtend": "4.0.1"
-       }
-     },
 +    "is-npm": {
 +      "version": "1.0.0",
 +      "resolved": "http://registry.npm.taobao.org/is-npm/download/is-npm-1.0.0.tgz",
 +      "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
 +      "dev": true
 +    },
 +    "is-number": {
 +      "version": "2.1.0",
 +      "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz",
 +      "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
 +      "dev": true,
 +      "requires": {
 +        "kind-of": "3.2.2"
 +      }
 +    },
 +    "is-obj": {
 +      "version": "1.0.1",
 +      "resolved": "http://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz",
 +      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
 +      "dev": true
 +    },
-     "is-path-cwd": {
-       "version": "1.0.0",
-       "resolved": "http://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz",
-       "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
-       "dev": true
-     },
-     "is-path-in-cwd": {
-       "version": "1.0.1",
-       "resolved": "http://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz",
-       "integrity": "sha1-WsSLNF72dTOb1sekipEhELJBz1I=",
-       "dev": true,
-       "requires": {
-         "is-path-inside": "1.0.1"
-       }
-     },
 +    "is-path-inside": {
 +      "version": "1.0.1",
 +      "resolved": "http://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz",
 +      "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
 +      "dev": true,
 +      "requires": {
 +        "path-is-inside": "1.0.2"
 +      }
 +    },
-     "is-posix-bracket": {
-       "version": "0.1.1",
-       "resolved": "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz",
-       "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
-       "dev": true
-     },
-     "is-primitive": {
-       "version": "2.0.0",
-       "resolved": "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz",
-       "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
++    "is-plain-obj": {
++      "version": "1.1.0",
+       "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+       "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
        "dev": true
      },
-     "is-promise": {
+     "is-plain-object": {
+       "version": "2.0.4",
+       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+       "dev": true,
+       "requires": {
+         "isobject": "3.0.1"
+       },
+       "dependencies": {
+         "isobject": {
+           "version": "3.0.1",
+           "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+           "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+           "dev": true
+         }
+       }
+     },
+     "is-posix-bracket": {
+       "version": "0.1.1",
+       "resolved": "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz",
+       "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+       "dev": true
+     },
+     "is-primitive": {
+       "version": "2.0.0",
+       "resolved": "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz",
+       "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+       "dev": true
+     },
+     "is-promise": {
        "version": "2.1.0",
        "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz",
        "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
      },
-     "is-property": {
-       "version": "1.0.2",
-       "resolved": "http://registry.npm.taobao.org/is-property/download/is-property-1.0.2.tgz",
-       "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
-       "dev": true
-     },
 -    "is-regex": {
 -      "version": "1.0.4",
 -      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
 -      "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
 -      "dev": true,
 -      "requires": {
 -        "has": "1.0.3"
 -      }
 +    "is-redirect": {
 +      "version": "1.0.0",
 +      "resolved": "http://registry.npm.taobao.org/is-redirect/download/is-redirect-1.0.0.tgz",
 +      "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
 +      "dev": true
      },
      "is-regex": {
        "version": "1.0.4",
      },
      "is-resolvable": {
        "version": "1.1.0",
--      "resolved": "http://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz",
--      "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=",
++      "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
++      "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
        "dev": true
      },
      "is-retry-allowed": {
        "resolved": "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz",
        "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
      },
+     "is-svg": {
+       "version": "2.1.0",
+       "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+       "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+       "dev": true,
+       "requires": {
+         "html-comment-regex": "1.1.2"
+       }
+     },
      "is-symbol": {
 -      "version": "1.0.2",
 -      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
 -      "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
 -      "dev": true,
 -      "requires": {
 -        "has-symbols": "1.0.0"
 -      }
 +      "version": "1.0.1",
 +      "resolved": "http://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.1.tgz",
 +      "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
 +      "dev": true
      },
      "is-typedarray": {
        "version": "1.0.0",
        "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
 -      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
 +      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
 +      "dev": true
      },
      "is-utf8": {
        "version": "0.2.1",
      "isarray": {
        "version": "0.0.1",
        "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
 -      "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
 +      "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
 +      "dev": true
      },
      "isbinaryfile": {
        "version": "3.0.2",
      "isstream": {
        "version": "0.1.2",
        "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
 -      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
 +      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
 +      "dev": true
      },
      "js-base64": {
        "version": "2.4.5",
        "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
      },
      "js-yaml": {
-       "version": "3.11.0",
-       "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.11.0.tgz",
-       "integrity": "sha1-WXwai9VxUvJtYizkEXhRpR9euu8=",
+       "version": "3.13.1",
+       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+       "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
        "dev": true,
        "requires": {
          "argparse": "1.0.10",
-         "esprima": "4.0.0"
-       },
-       "dependencies": {
-         "esprima": {
-           "version": "4.0.0",
-           "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-4.0.0.tgz",
-           "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=",
-           "dev": true
-         }
+         "esprima": "4.0.1"
        }
      },
      "jsbn": {
        "version": "0.1.1",
        "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
        "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
 -      "dev": true
 +      "dev": true,
 +      "optional": true
      },
      "jsesc": {
        "version": "1.3.0",
      "json-schema": {
        "version": "0.2.3",
        "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz",
 -      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
 +      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
 +      "dev": true
      },
      "json-schema-traverse": {
 -      "version": "0.4.1",
 -      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
 -      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
 +      "version": "0.3.1",
 +      "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz",
 +      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
        "dev": true
      },
-     "json-stable-stringify": {
+     "json-stable-stringify-without-jsonify": {
        "version": "1.0.1",
-       "resolved": "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz",
-       "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
-       "dev": true,
-       "requires": {
-         "jsonify": "0.0.0"
-       }
+       "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+       "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+       "dev": true
      },
      "json-stringify-safe": {
        "version": "5.0.1",
        "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
 -      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
 +      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
 +      "dev": true
      },
      "json5": {
        "version": "0.5.1",
        "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
        "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
      },
-     "jsonpointer": {
-       "version": "4.0.1",
-       "resolved": "http://registry.npm.taobao.org/jsonpointer/download/jsonpointer-4.0.1.tgz",
-       "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
-       "dev": true
-     },
 +    "jsonfile": {
 +      "version": "4.0.0",
 +      "resolved": "http://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz",
 +      "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
 +      "requires": {
 +        "graceful-fs": "4.1.11"
 +      }
 +    },
 +    "jsonify": {
 +      "version": "0.0.0",
 +      "resolved": "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz",
 +      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
 +      "dev": true
 +    },
      "jsprim": {
        "version": "1.4.1",
        "resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
        "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
 +      "dev": true,
        "requires": {
          "assert-plus": "1.0.0",
          "extsprintf": "1.3.0",
        }
      },
      "jsx-ast-utils": {
-       "version": "1.4.1",
-       "resolved": "http://registry.npm.taobao.org/jsx-ast-utils/download/jsx-ast-utils-1.4.1.tgz",
-       "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=",
-       "dev": true
+       "version": "2.2.1",
+       "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz",
+       "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==",
+       "dev": true,
+       "requires": {
+         "array-includes": "3.0.3",
+         "object.assign": "4.1.0"
+       }
      },
      "keycode": {
        "version": "2.2.0",
        "version": "0.3.0",
        "resolved": "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz",
        "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
 +      "dev": true,
        "requires": {
          "prelude-ls": "1.1.2",
          "type-check": "0.3.2"
        }
      },
 -    "libbase64": {
 -      "version": "0.1.0",
 -      "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
 -      "integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY="
 -    },
 -    "libmime": {
 -      "version": "3.0.0",
 -      "resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
 -      "integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=",
 -      "requires": {
 -        "iconv-lite": "0.4.15",
 -        "libbase64": "0.1.0",
 -        "libqp": "1.1.0"
 -      },
 -      "dependencies": {
 -        "iconv-lite": {
 -          "version": "0.4.15",
 -          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
 -          "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es="
 -        }
 -      }
 -    },
 -    "libqp": {
 -      "version": "1.1.0",
 -      "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz",
 -      "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g="
 -    },
      "load-json-file": {
        "version": "1.1.0",
        "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
        }
      },
      "lodash": {
-       "version": "4.17.11",
-       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
-       "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
-     },
-     "lodash-es": {
-       "version": "4.17.10",
-       "resolved": "http://registry.npm.taobao.org/lodash-es/download/lodash-es-4.17.10.tgz",
-       "integrity": "sha1-Ys1xBM313YfyNag38O3g6OURfgU="
+       "version": "4.17.14",
+       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
+       "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw=="
      },
      "lodash._baseassign": {
        "version": "3.2.0",
        "resolved": "http://registry.npm.taobao.org/lodash.assign/download/lodash.assign-4.2.0.tgz",
        "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc="
      },
-     "lodash.clonedeep": {
-       "version": "4.5.0",
-       "resolved": "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz",
-       "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+     "lodash.camelcase": {
+       "version": "4.3.0",
+       "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+       "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
        "dev": true
      },
      "lodash.defaults": {
          "lodash.isarray": "3.0.4"
        }
      },
+     "lodash.memoize": {
+       "version": "4.1.2",
+       "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+       "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+       "dev": true
+     },
      "lodash.pick": {
        "version": "4.4.0",
        "resolved": "http://registry.npm.taobao.org/lodash.pick/download/lodash.pick-4.4.0.tgz",
        "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
        "dev": true
      },
+     "lodash.tail": {
+       "version": "4.1.1",
+       "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
+       "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=",
+       "dev": true
+     },
+     "lodash.uniq": {
+       "version": "4.5.0",
+       "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+       "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+       "dev": true
+     },
 +    "log4js": {
 +      "version": "3.0.6",
 +      "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz",
 +      "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==",
 +      "requires": {
 +        "circular-json": "0.5.9",
 +        "date-format": "1.2.0",
 +        "debug": "3.1.0",
 +        "rfdc": "1.1.2",
 +        "streamroller": "0.7.0"
 +      }
 +    },
      "longest": {
        "version": "1.0.1",
        "resolved": "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz",
          "signal-exit": "3.0.2"
        }
      },
 +    "lowercase-keys": {
 +      "version": "1.0.1",
 +      "resolved": "http://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz",
 +      "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=",
 +      "dev": true
 +    },
      "lru-cache": {
 -      "version": "4.1.5",
 -      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
 -      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
 +      "version": "4.1.3",
 +      "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.3.tgz",
 +      "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=",
        "dev": true,
        "requires": {
          "pseudomap": "1.0.2",
          "yallist": "2.1.2"
        }
      },
 +    "make-dir": {
 +      "version": "1.3.0",
 +      "resolved": "http://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz",
 +      "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
 +      "dev": true,
 +      "requires": {
 +        "pify": "3.0.0"
 +      },
 +      "dependencies": {
 +        "pify": {
 +          "version": "3.0.0",
 +          "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
 +          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
 +          "dev": true
 +        }
 +      }
 +    },
      "map-age-cleaner": {
        "version": "0.1.3",
        "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
        "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
        "dev": true
      },
 +    "map-stream": {
 +      "version": "0.1.0",
 +      "resolved": "http://registry.npm.taobao.org/map-stream/download/map-stream-0.1.0.tgz",
 +      "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
 +      "dev": true
 +    },
+     "math-expression-evaluator": {
+       "version": "1.2.17",
+       "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
+       "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
+       "dev": true
+     },
      "math-random": {
-       "version": "1.0.1",
-       "resolved": "http://registry.npm.taobao.org/math-random/download/math-random-1.0.1.tgz",
-       "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
+       "version": "1.0.4",
+       "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
+       "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
        "dev": true
      },
      "mdurl": {
          "loud-rejection": "1.6.0",
          "map-obj": "1.0.1",
          "minimist": "1.2.0",
 -        "normalize-package-data": "2.5.0",
 +        "normalize-package-data": "2.4.0",
          "object-assign": "4.1.1",
          "read-pkg-up": "1.0.1",
          "redent": "1.0.0",
          "object.omit": "2.0.1",
          "parse-glob": "3.0.4",
          "regex-cache": "0.4.4"
+       },
+       "dependencies": {
+         "braces": {
+           "version": "1.8.5",
+           "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+           "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+           "dev": true,
+           "requires": {
+             "expand-range": "1.8.2",
+             "preserve": "0.2.0",
+             "repeat-element": "1.1.3"
+           }
+         }
        }
      },
      "mime": {
 -      "version": "1.6.0",
 -      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
 -      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
 +      "version": "2.3.1",
 +      "resolved": "http://registry.npm.taobao.org/mime/download/mime-2.3.1.tgz",
 +      "integrity": "sha1-sWIcVNY7l8R9PP5/chX31kUXw2k=",
        "dev": true
      },
      "mime-db": {
        "version": "1.33.0",
        "resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.33.0.tgz",
 -      "integrity": "sha1-o0kgUKXLm2NFBUHjnZeI0icng9s="
 +      "integrity": "sha1-o0kgUKXLm2NFBUHjnZeI0icng9s=",
 +      "dev": true
      },
      "mime-types": {
        "version": "2.1.18",
        "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.18.tgz",
        "integrity": "sha1-bzI/YKg9ERRvgx/xH9ZuL+VQO7g=",
 +      "dev": true,
        "requires": {
          "mime-db": "1.33.0"
        }
        "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
        "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
      },
+     "mixin-object": {
+       "version": "2.0.1",
+       "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
+       "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
+       "dev": true,
+       "requires": {
+         "for-in": "0.1.8",
+         "is-extendable": "0.1.1"
+       },
+       "dependencies": {
+         "for-in": {
+           "version": "0.1.8",
+           "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
+           "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=",
+           "dev": true
+         }
+       }
+     },
      "mkdirp": {
        "version": "0.5.1",
        "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
        "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
      },
      "mute-stream": {
-       "version": "0.0.5",
-       "resolved": "http://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.5.tgz",
-       "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
+       "version": "0.0.7",
+       "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+       "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
        "dev": true
      },
      "nan": {
        "version": "2.10.0",
 -      "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
 -      "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
 +      "resolved": "http://registry.npm.taobao.org/nan/download/nan-2.10.0.tgz",
 +      "integrity": "sha1-ltDNYQ69WNS03pzAxoKM2pnHVI8=",
-       "dev": true
+       "dev": true,
+       "optional": true
      },
      "natural-compare": {
        "version": "1.4.0",
        "dev": true
      },
      "negotiator": {
 -      "version": "0.6.2",
 -      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
 -      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
 +      "version": "0.6.1",
 +      "resolved": "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz",
 +      "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
        "dev": true
      },
-     "next-tick": {
-       "version": "1.0.0",
-       "resolved": "http://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz",
-       "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+     "neo-async": {
+       "version": "2.6.1",
+       "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
+       "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
        "dev": true
      },
      "nice-try": {
        }
      },
      "node-gyp": {
-       "version": "3.6.2",
-       "resolved": "http://registry.npm.taobao.org/node-gyp/download/node-gyp-3.6.2.tgz",
-       "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=",
+       "version": "3.8.0",
+       "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
+       "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
        "dev": true,
        "requires": {
-         "fstream": "1.0.11",
+         "fstream": "1.0.12",
 -        "glob": "7.1.3",
 +        "glob": "7.1.2",
          "graceful-fs": "4.1.11",
-         "minimatch": "3.0.4",
          "mkdirp": "0.5.1",
          "nopt": "3.0.6",
          "npmlog": "4.1.2",
          "osenv": "0.1.5",
 -        "request": "2.88.0",
 +        "request": "2.87.0",
          "rimraf": "2.6.2",
          "semver": "5.3.0",
-         "tar": "2.2.1",
+         "tar": "2.2.2",
 -        "which": "1.3.0"
 +        "which": "1.3.1"
        },
        "dependencies": {
          "semver": {
        "integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=",
        "dev": true,
        "requires": {
 -        "assert": "1.5.0",
 +        "assert": "1.4.1",
          "browserify-zlib": "0.1.4",
          "buffer": "4.9.1",
          "console-browserify": "1.1.0",
          "punycode": "1.4.1",
          "querystring-es3": "0.2.1",
          "readable-stream": "2.3.6",
 -        "stream-browserify": "2.0.2",
 -        "stream-http": "2.8.3",
 +        "stream-browserify": "2.0.1",
 +        "stream-http": "2.8.2",
          "string_decoder": "0.10.31",
          "timers-browserify": "2.0.10",
          "tty-browserify": "0.0.0",
          "url": "0.11.0",
 -        "util": "0.10.4",
 +        "util": "0.10.3",
          "vm-browserify": "0.0.4"
        },
        "dependencies": {
        }
      },
      "node-sass": {
-       "version": "3.8.0",
-       "resolved": "http://registry.npm.taobao.org/node-sass/download/node-sass-3.8.0.tgz",
-       "integrity": "sha1-7A+JrmYl4dmQ3H/3E7J16hXf7gU=",
+       "version": "4.12.0",
+       "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz",
+       "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==",
        "dev": true,
        "requires": {
          "async-foreach": "0.1.3",
          "cross-spawn": "3.0.1",
          "gaze": "1.1.3",
          "get-stdin": "4.0.1",
 -        "glob": "7.1.3",
 +        "glob": "7.1.2",
          "in-publish": "2.0.0",
-         "lodash.clonedeep": "4.5.0",
+         "lodash": "4.17.14",
          "meow": "3.7.0",
          "mkdirp": "0.5.1",
-         "nan": "2.10.0",
-         "node-gyp": "3.6.2",
-         "request": "2.87.0",
-         "sass-graph": "2.2.4"
+         "nan": "2.14.0",
+         "node-gyp": "3.8.0",
+         "npmlog": "4.1.2",
+         "request": "2.88.0",
+         "sass-graph": "2.2.4",
+         "stdout-stream": "1.4.1",
+         "true-case-path": "1.0.3"
        },
        "dependencies": {
++        "ajv": {
++          "version": "6.10.2",
++          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
++          "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
++          "dev": true,
++          "requires": {
++            "fast-deep-equal": "2.0.1",
++            "fast-json-stable-stringify": "2.0.0",
++            "json-schema-traverse": "0.4.1",
++            "uri-js": "4.2.2"
++          }
++        },
++        "aws4": {
++          "version": "1.8.0",
++          "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
++          "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
++          "dev": true
++        },
 +        "cross-spawn": {
 +          "version": "3.0.1",
 +          "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz",
 +          "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
 +          "dev": true,
 +          "requires": {
 +            "lru-cache": "4.1.3",
 +            "which": "1.3.1"
 +          }
++        },
++        "fast-deep-equal": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
++          "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
++          "dev": true
++        },
++        "har-validator": {
++          "version": "5.1.3",
++          "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
++          "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
++          "dev": true,
++          "requires": {
++            "ajv": "6.10.2",
++            "har-schema": "2.0.0"
++          }
++        },
++        "json-schema-traverse": {
++          "version": "0.4.1",
++          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
++          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
++          "dev": true
++        },
++        "mime-db": {
++          "version": "1.40.0",
++          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
++          "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
++          "dev": true
++        },
++        "mime-types": {
++          "version": "2.1.24",
++          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
++          "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
++          "dev": true,
++          "requires": {
++            "mime-db": "1.40.0"
++          }
++        },
+         "nan": {
+           "version": "2.14.0",
+           "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
+           "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
+           "dev": true
++        },
++        "oauth-sign": {
++          "version": "0.9.0",
++          "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
++          "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
++          "dev": true
++        },
++        "request": {
++          "version": "2.88.0",
++          "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
++          "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
++          "dev": true,
++          "requires": {
++            "aws-sign2": "0.7.0",
++            "aws4": "1.8.0",
++            "caseless": "0.12.0",
++            "combined-stream": "1.0.6",
++            "extend": "3.0.2",
++            "forever-agent": "0.6.1",
++            "form-data": "2.3.2",
++            "har-validator": "5.1.3",
++            "http-signature": "1.2.0",
++            "is-typedarray": "1.0.0",
++            "isstream": "0.1.2",
++            "json-stringify-safe": "5.0.1",
++            "mime-types": "2.1.24",
++            "oauth-sign": "0.9.0",
++            "performance-now": "2.1.0",
++            "qs": "6.5.2",
++            "safe-buffer": "5.1.2",
++            "tough-cookie": "2.4.3",
++            "tunnel-agent": "0.6.0",
++            "uuid": "3.3.2"
++          }
++        },
++        "tough-cookie": {
++          "version": "2.4.3",
++          "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
++          "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
++          "dev": true,
++          "requires": {
++            "psl": "1.2.0",
++            "punycode": "1.4.1"
++          }
++        },
++        "uuid": {
++          "version": "3.3.2",
++          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
++          "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
++          "dev": true
          }
        }
      },
 -    "nodemailer-direct-transport": {
 -      "version": "3.3.2",
 -      "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz",
 -      "integrity": "sha1-6W+vuQNYVglH5WkBfZfmBzilCoY=",
 -      "optional": true,
 -      "requires": {
 -        "nodemailer-shared": "1.1.0",
 -        "smtp-connection": "2.12.0"
 -      }
 -    },
 -    "nodemailer-fetch": {
 -      "version": "1.6.0",
 -      "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
 -      "integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q="
 -    },
 -    "nodemailer-shared": {
 -      "version": "1.1.0",
 -      "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
 -      "integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=",
 -      "requires": {
 -        "nodemailer-fetch": "1.6.0"
 -      }
 -    },
 -    "nodemailer-smtp-pool": {
 -      "version": "2.8.2",
 -      "resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz",
 -      "integrity": "sha1-LrlNbPhXgLG0clzoU7nL1ejajHI=",
 -      "optional": true,
 -      "requires": {
 -        "nodemailer-shared": "1.1.0",
 -        "nodemailer-wellknown": "0.1.10",
 -        "smtp-connection": "2.12.0"
 -      }
 -    },
 -    "nodemailer-smtp-transport": {
 -      "version": "2.7.2",
 -      "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz",
 -      "integrity": "sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c=",
 -      "optional": true,
 -      "requires": {
 -        "nodemailer-shared": "1.1.0",
 -        "nodemailer-wellknown": "0.1.10",
 -        "smtp-connection": "2.12.0"
 -      }
 -    },
 -    "nodemailer-wellknown": {
 -      "version": "0.1.10",
 -      "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
 -      "integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U="
 -    },
      "nopt": {
        "version": "3.0.6",
        "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz",
        }
      },
      "normalize-package-data": {
 -      "version": "2.5.0",
 -      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
 -      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
 +      "version": "2.4.0",
 +      "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz",
 +      "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
        "dev": true,
        "requires": {
 -        "hosted-git-info": "2.7.1",
 -        "resolve": "1.11.0",
 -        "semver": "5.7.0",
 -        "validate-npm-package-license": "3.0.4"
 -      },
 -      "dependencies": {
 -        "path-parse": {
 -          "version": "1.0.6",
 -          "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
 -          "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
 -          "dev": true
 -        },
 -        "resolve": {
 -          "version": "1.11.0",
 -          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz",
 -          "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==",
 -          "dev": true,
 -          "requires": {
 -            "path-parse": "1.0.6"
 -          }
 -        }
 +        "hosted-git-info": "2.6.0",
 +        "is-builtin-module": "1.0.0",
 +        "semver": "5.5.0",
 +        "validate-npm-package-license": "3.0.3"
        }
      },
      "normalize-path": {
        "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
        "dev": true
      },
+     "normalize-url": {
+       "version": "1.9.1",
+       "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+       "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+       "dev": true,
+       "requires": {
+         "object-assign": "4.1.1",
+         "prepend-http": "1.0.4",
+         "query-string": "4.3.4",
+         "sort-keys": "1.1.2"
+       },
+       "dependencies": {
+         "query-string": {
+           "version": "4.3.4",
+           "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+           "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+           "dev": true,
+           "requires": {
+             "object-assign": "4.1.1",
+             "strict-uri-encode": "1.1.0"
+           }
+         }
+       }
+     },
 +    "npm-run-all": {
 +      "version": "4.1.3",
 +      "resolved": "http://registry.npm.taobao.org/npm-run-all/download/npm-run-all-4.1.3.tgz",
 +      "integrity": "sha1-SfFbVaZrtBAWZM4nDLGOcQP48YU=",
 +      "dev": true,
 +      "requires": {
 +        "ansi-styles": "3.2.1",
 +        "chalk": "2.4.1",
 +        "cross-spawn": "6.0.5",
 +        "memorystream": "0.3.1",
 +        "minimatch": "3.0.4",
 +        "ps-tree": "1.1.0",
 +        "read-pkg": "3.0.0",
 +        "shell-quote": "1.6.1",
 +        "string.prototype.padend": "3.0.0"
 +      },
 +      "dependencies": {
 +        "ansi-styles": {
 +          "version": "3.2.1",
 +          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
 +          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
 +          "dev": true,
 +          "requires": {
 +            "color-convert": "1.9.1"
 +          }
 +        },
 +        "chalk": {
 +          "version": "2.4.1",
 +          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz",
 +          "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
 +          "dev": true,
 +          "requires": {
 +            "ansi-styles": "3.2.1",
 +            "escape-string-regexp": "1.0.5",
 +            "supports-color": "5.4.0"
 +          }
 +        },
 +        "cross-spawn": {
 +          "version": "6.0.5",
 +          "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
 +          "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
 +          "dev": true,
 +          "requires": {
 +            "nice-try": "1.0.4",
 +            "path-key": "2.0.1",
 +            "semver": "5.5.0",
 +            "shebang-command": "1.2.0",
 +            "which": "1.3.1"
 +          }
 +        },
 +        "has-flag": {
 +          "version": "3.0.0",
 +          "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
 +          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
 +          "dev": true
 +        },
 +        "load-json-file": {
 +          "version": "4.0.0",
 +          "resolved": "http://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.11",
 +            "parse-json": "4.0.0",
 +            "pify": "3.0.0",
 +            "strip-bom": "3.0.0"
 +          }
 +        },
 +        "parse-json": {
 +          "version": "4.0.0",
 +          "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz",
 +          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
 +          "dev": true,
 +          "requires": {
 +            "error-ex": "1.3.1",
 +            "json-parse-better-errors": "1.0.2"
 +          }
 +        },
 +        "path-type": {
 +          "version": "3.0.0",
 +          "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz",
 +          "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
 +          "dev": true,
 +          "requires": {
 +            "pify": "3.0.0"
 +          }
 +        },
 +        "pify": {
 +          "version": "3.0.0",
 +          "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
 +          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
 +          "dev": true
 +        },
 +        "read-pkg": {
 +          "version": "3.0.0",
 +          "resolved": "http://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.4.0",
 +            "path-type": "3.0.0"
 +          }
 +        },
 +        "strip-bom": {
 +          "version": "3.0.0",
 +          "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz",
 +          "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
 +          "dev": true
 +        },
 +        "supports-color": {
 +          "version": "5.4.0",
 +          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz",
 +          "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=",
 +          "dev": true,
 +          "requires": {
 +            "has-flag": "3.0.0"
 +          }
 +        }
 +      }
 +    },
      "npm-run-path": {
        "version": "2.0.2",
        "resolved": "http://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz",
      },
      "npmlog": {
        "version": "4.1.2",
--      "resolved": "http://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz",
--      "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=",
++      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
++      "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
        "dev": true,
        "requires": {
          "are-we-there-yet": "1.1.5",
        "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
      },
      "oauth-sign": {
 -      "version": "0.9.0",
 -      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
 -      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
 +      "version": "0.8.2",
 +      "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz",
 +      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
        "dev": true
      },
      "object-assign": {
        "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
      },
      "object-keys": {
 -      "version": "1.1.1",
 -      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
 -      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
 +      "version": "0.4.0",
 +      "resolved": "http://registry.npm.taobao.org/object-keys/download/object-keys-0.4.0.tgz",
 +      "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
        "dev": true
      },
 -        "define-properties": "1.1.3",
+     "object.assign": {
+       "version": "4.1.0",
+       "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+       "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+       "dev": true,
+       "requires": {
 -        "define-properties": "1.1.3",
 -        "es-abstract": "1.13.0",
++        "define-properties": "1.1.2",
+         "function-bind": "1.1.1",
+         "has-symbols": "1.0.0",
+         "object-keys": "1.1.1"
++      },
++      "dependencies": {
++        "object-keys": {
++          "version": "1.1.1",
++          "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
++          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
++          "dev": true
++        }
+       }
+     },
+     "object.entries": {
+       "version": "1.1.0",
+       "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
+       "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
+       "dev": true,
+       "requires": {
+         "define-properties": "1.1.3",
+         "es-abstract": "1.13.0",
+         "function-bind": "1.1.1",
+         "has": "1.0.3"
++      },
++      "dependencies": {
++        "define-properties": {
++          "version": "1.1.3",
++          "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
++          "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
++          "dev": true,
++          "requires": {
++            "object-keys": "1.1.1"
++          }
++        },
++        "es-abstract": {
++          "version": "1.13.0",
++          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
++          "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
++          "dev": true,
++          "requires": {
++            "es-to-primitive": "1.2.0",
++            "function-bind": "1.1.1",
++            "has": "1.0.3",
++            "is-callable": "1.1.4",
++            "is-regex": "1.0.4",
++            "object-keys": "1.1.1"
++          }
++        },
++        "es-to-primitive": {
++          "version": "1.2.0",
++          "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
++          "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
++          "dev": true,
++          "requires": {
++            "is-callable": "1.1.4",
++            "is-date-object": "1.0.1",
++            "is-symbol": "1.0.2"
++          }
++        },
++        "has": {
++          "version": "1.0.3",
++          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
++          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
++          "dev": true,
++          "requires": {
++            "function-bind": "1.1.1"
++          }
++        },
++        "is-callable": {
++          "version": "1.1.4",
++          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
++          "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
++          "dev": true
++        },
++        "is-symbol": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
++          "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
++          "dev": true,
++          "requires": {
++            "has-symbols": "1.0.0"
++          }
++        },
++        "object-keys": {
++          "version": "1.1.1",
++          "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
++          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
++          "dev": true
++        }
+       }
+     },
+     "object.fromentries": {
+       "version": "2.0.0",
+       "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.0.tgz",
+       "integrity": "sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==",
+       "dev": true,
+       "requires": {
 -        "has": "1.0.3"
++        "define-properties": "1.1.2",
++        "es-abstract": "1.11.0",
+         "function-bind": "1.1.1",
++        "has": "1.0.1"
+       }
+     },
      "object.omit": {
        "version": "2.0.1",
 -      "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
 +      "resolved": "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz",
        "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
        "dev": true,
        "requires": {
          "is-extendable": "0.1.1"
        }
      },
+     "object.values": {
+       "version": "1.1.0",
+       "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
+       "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==",
+       "dev": true,
+       "requires": {
+         "define-properties": "1.1.3",
+         "es-abstract": "1.13.0",
+         "function-bind": "1.1.1",
+         "has": "1.0.3"
++      },
++      "dependencies": {
++        "define-properties": {
++          "version": "1.1.3",
++          "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
++          "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
++          "dev": true,
++          "requires": {
++            "object-keys": "1.1.1"
++          }
++        },
++        "es-abstract": {
++          "version": "1.13.0",
++          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
++          "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
++          "dev": true,
++          "requires": {
++            "es-to-primitive": "1.2.0",
++            "function-bind": "1.1.1",
++            "has": "1.0.3",
++            "is-callable": "1.1.4",
++            "is-regex": "1.0.4",
++            "object-keys": "1.1.1"
++          }
++        },
++        "es-to-primitive": {
++          "version": "1.2.0",
++          "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
++          "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
++          "dev": true,
++          "requires": {
++            "is-callable": "1.1.4",
++            "is-date-object": "1.0.1",
++            "is-symbol": "1.0.2"
++          }
++        },
++        "has": {
++          "version": "1.0.3",
++          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
++          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
++          "dev": true,
++          "requires": {
++            "function-bind": "1.1.1"
++          }
++        },
++        "is-callable": {
++          "version": "1.1.4",
++          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
++          "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
++          "dev": true
++        },
++        "is-symbol": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
++          "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
++          "dev": true,
++          "requires": {
++            "has-symbols": "1.0.0"
++          }
++        },
++        "object-keys": {
++          "version": "1.1.1",
++          "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
++          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
++          "dev": true
++        }
+       }
+     },
      "on-finished": {
        "version": "2.3.0",
        "resolved": "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
        }
      },
      "on-headers": {
 -      "version": "1.0.2",
 -      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
 -      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
 +      "version": "1.0.1",
 +      "resolved": "http://registry.npm.taobao.org/on-headers/download/on-headers-1.0.1.tgz",
 +      "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
        "dev": true
      },
      "once": {
        }
      },
      "onetime": {
-       "version": "1.1.0",
-       "resolved": "http://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz",
-       "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
-       "dev": true
+       "version": "2.0.1",
+       "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+       "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+       "dev": true,
+       "requires": {
+         "mimic-fn": "1.2.0"
+       }
      },
      "optimist": {
        "version": "0.6.1",
        "version": "0.8.2",
        "resolved": "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz",
        "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
 +      "dev": true,
        "requires": {
          "deep-is": "0.1.3",
          "fast-levenshtein": "2.0.6",
      },
      "osenv": {
        "version": "0.1.5",
--      "resolved": "http://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz",
--      "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=",
++      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
++      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
        "dev": true,
        "requires": {
          "os-homedir": "1.0.2",
      },
      "output-file-sync": {
        "version": "1.1.2",
 -      "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz",
 +      "resolved": "http://registry.npm.taobao.org/output-file-sync/download/output-file-sync-1.1.2.tgz",
        "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=",
        "dev": true,
        "requires": {
        "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
        "dev": true
      },
 -    "pac-proxy-agent": {
 -      "version": "3.0.0",
 -      "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.0.tgz",
 -      "integrity": "sha512-AOUX9jES/EkQX2zRz0AW7lSx9jD//hQS8wFXBvcnd/J2Py9KaMJMqV/LPqJssj1tgGufotb2mmopGPR15ODv1Q==",
 -      "optional": true,
 -      "requires": {
 -        "agent-base": "4.2.1",
 -        "debug": "3.1.0",
 -        "get-uri": "2.0.3",
 -        "http-proxy-agent": "2.1.0",
 -        "https-proxy-agent": "2.2.1",
 -        "pac-resolver": "3.0.0",
 -        "raw-body": "2.3.3",
 -        "socks-proxy-agent": "4.0.1"
 -      }
 -    },
 -    "pac-resolver": {
 -      "version": "3.0.0",
 -      "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz",
 -      "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==",
 -      "optional": true,
 -      "requires": {
 -        "co": "4.6.0",
 -        "degenerator": "1.0.4",
 -        "ip": "1.1.5",
 -        "netmask": "1.0.6",
 -        "thunkify": "2.1.2"
 -      }
 -    },
      "package-json": {
        "version": "4.0.1",
        "resolved": "http://registry.npm.taobao.org/package-json/download/package-json-4.0.1.tgz",
        "dev": true
      },
      "parseurl": {
 -      "version": "1.3.3",
 -      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
 -      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
 +      "version": "1.3.2",
 +      "resolved": "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.2.tgz",
 +      "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
        "dev": true
      },
      "pascalcase": {
        "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
        "dev": true
      },
 -    "path-proxy": {
 -      "version": "1.0.0",
 -      "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz",
 -      "integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=",
 -      "optional": true,
 -      "requires": {
 -        "inflection": "1.3.8"
 -      },
 -      "dependencies": {
 -        "inflection": {
 -          "version": "1.3.8",
 -          "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz",
 -          "integrity": "sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=",
 -          "optional": true
 -        }
 -      }
 -    },
      "path-to-regexp": {
        "version": "0.1.7",
        "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz",
      "performance-now": {
        "version": "2.1.0",
        "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
 -      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
 +      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
 +      "dev": true
      },
      "pify": {
        "version": "2.3.0",
      "pinkie": {
        "version": "2.0.4",
        "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
 -      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
 +      "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.4"
        }
          }
        }
      },
+     "postcss-calc": {
+       "version": "5.3.1",
+       "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
+       "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18",
+         "postcss-message-helpers": "2.0.0",
+         "reduce-css-calc": "1.3.0"
+       }
+     },
+     "postcss-colormin": {
+       "version": "2.2.2",
+       "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
+       "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+       "dev": true,
+       "requires": {
+         "colormin": "1.1.2",
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0"
+       }
+     },
+     "postcss-convert-values": {
+       "version": "2.6.1",
+       "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
+       "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0"
+       }
+     },
+     "postcss-discard-comments": {
+       "version": "2.0.4",
+       "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
+       "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18"
+       }
+     },
+     "postcss-discard-duplicates": {
+       "version": "2.1.0",
+       "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
+       "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18"
+       }
+     },
+     "postcss-discard-empty": {
+       "version": "2.1.0",
+       "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
+       "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18"
+       }
+     },
+     "postcss-discard-overridden": {
+       "version": "0.1.1",
+       "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
+       "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18"
+       }
+     },
+     "postcss-discard-unused": {
+       "version": "2.2.3",
+       "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
+       "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18",
+         "uniqs": "2.0.0"
+       }
+     },
+     "postcss-filter-plugins": {
+       "version": "2.0.3",
+       "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz",
+       "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18"
+       }
+     },
      "postcss-load-config": {
        "version": "1.2.0",
        "resolved": "http://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-1.2.0.tgz",
          "postcss-load-config": "1.2.0"
        }
      },
 -        "has": "1.0.3",
+     "postcss-merge-idents": {
+       "version": "2.1.7",
+       "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
+       "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+       "dev": true,
+       "requires": {
 -        "has": "1.0.3",
++        "has": "1.0.1",
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0"
+       }
+     },
+     "postcss-merge-longhand": {
+       "version": "2.0.2",
+       "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
+       "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18"
+       }
+     },
+     "postcss-merge-rules": {
+       "version": "2.1.2",
+       "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
+       "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+       "dev": true,
+       "requires": {
+         "browserslist": "1.7.7",
+         "caniuse-api": "1.6.1",
+         "postcss": "5.2.18",
+         "postcss-selector-parser": "2.2.3",
+         "vendors": "1.0.3"
+       }
+     },
+     "postcss-message-helpers": {
+       "version": "2.0.0",
+       "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
+       "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
+       "dev": true
+     },
+     "postcss-minify-font-values": {
+       "version": "1.0.5",
+       "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
+       "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+       "dev": true,
+       "requires": {
+         "object-assign": "4.1.1",
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0"
+       }
+     },
+     "postcss-minify-gradients": {
+       "version": "1.0.5",
+       "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
+       "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0"
+       }
+     },
+     "postcss-minify-params": {
+       "version": "1.2.2",
+       "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
+       "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+       "dev": true,
+       "requires": {
+         "alphanum-sort": "1.0.2",
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0",
+         "uniqs": "2.0.0"
+       }
+     },
+     "postcss-minify-selectors": {
+       "version": "2.1.1",
+       "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
+       "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+       "dev": true,
+       "requires": {
+         "alphanum-sort": "1.0.2",
 -            "color-convert": "1.9.3"
++        "has": "1.0.1",
+         "postcss": "5.2.18",
+         "postcss-selector-parser": "2.2.3"
+       }
+     },
+     "postcss-modules-extract-imports": {
+       "version": "1.2.1",
+       "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz",
+       "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==",
+       "dev": true,
+       "requires": {
+         "postcss": "6.0.23"
+       },
+       "dependencies": {
+         "ansi-styles": {
+           "version": "3.2.1",
+           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+           "dev": true,
+           "requires": {
 -        "source-map": {
 -          "version": "0.6.1",
 -          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
 -          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 -          "dev": true
 -        },
++            "color-convert": "1.9.1"
+           }
+         },
+         "chalk": {
+           "version": "2.4.2",
+           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+           "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+           "dev": true,
+           "requires": {
+             "ansi-styles": "3.2.1",
+             "escape-string-regexp": "1.0.5",
+             "supports-color": "5.5.0"
+           }
+         },
+         "has-flag": {
+           "version": "3.0.0",
+           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+           "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+           "dev": true
+         },
+         "postcss": {
+           "version": "6.0.23",
+           "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+           "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+           "dev": true,
+           "requires": {
+             "chalk": "2.4.2",
+             "source-map": "0.6.1",
+             "supports-color": "5.5.0"
+           }
+         },
 -            "color-convert": "1.9.3"
+         "supports-color": {
+           "version": "5.5.0",
+           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+           "dev": true,
+           "requires": {
+             "has-flag": "3.0.0"
+           }
+         }
+       }
+     },
+     "postcss-modules-local-by-default": {
+       "version": "1.2.0",
+       "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
+       "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+       "dev": true,
+       "requires": {
+         "css-selector-tokenizer": "0.7.1",
+         "postcss": "6.0.23"
+       },
+       "dependencies": {
+         "ansi-styles": {
+           "version": "3.2.1",
+           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+           "dev": true,
+           "requires": {
 -        "source-map": {
 -          "version": "0.6.1",
 -          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
 -          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 -          "dev": true
 -        },
++            "color-convert": "1.9.1"
+           }
+         },
+         "chalk": {
+           "version": "2.4.2",
+           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+           "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+           "dev": true,
+           "requires": {
+             "ansi-styles": "3.2.1",
+             "escape-string-regexp": "1.0.5",
+             "supports-color": "5.5.0"
+           }
+         },
+         "has-flag": {
+           "version": "3.0.0",
+           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+           "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+           "dev": true
+         },
+         "postcss": {
+           "version": "6.0.23",
+           "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+           "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+           "dev": true,
+           "requires": {
+             "chalk": "2.4.2",
+             "source-map": "0.6.1",
+             "supports-color": "5.5.0"
+           }
+         },
 -            "color-convert": "1.9.3"
+         "supports-color": {
+           "version": "5.5.0",
+           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+           "dev": true,
+           "requires": {
+             "has-flag": "3.0.0"
+           }
+         }
+       }
+     },
+     "postcss-modules-scope": {
+       "version": "1.1.0",
+       "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
+       "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+       "dev": true,
+       "requires": {
+         "css-selector-tokenizer": "0.7.1",
+         "postcss": "6.0.23"
+       },
+       "dependencies": {
+         "ansi-styles": {
+           "version": "3.2.1",
+           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+           "dev": true,
+           "requires": {
 -        "source-map": {
 -          "version": "0.6.1",
 -          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
 -          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 -          "dev": true
 -        },
++            "color-convert": "1.9.1"
+           }
+         },
+         "chalk": {
+           "version": "2.4.2",
+           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+           "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+           "dev": true,
+           "requires": {
+             "ansi-styles": "3.2.1",
+             "escape-string-regexp": "1.0.5",
+             "supports-color": "5.5.0"
+           }
+         },
+         "has-flag": {
+           "version": "3.0.0",
+           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+           "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+           "dev": true
+         },
+         "postcss": {
+           "version": "6.0.23",
+           "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+           "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+           "dev": true,
+           "requires": {
+             "chalk": "2.4.2",
+             "source-map": "0.6.1",
+             "supports-color": "5.5.0"
+           }
+         },
 -            "color-convert": "1.9.3"
+         "supports-color": {
+           "version": "5.5.0",
+           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+           "dev": true,
+           "requires": {
+             "has-flag": "3.0.0"
+           }
+         }
+       }
+     },
+     "postcss-modules-values": {
+       "version": "1.3.0",
+       "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
+       "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+       "dev": true,
+       "requires": {
+         "icss-replace-symbols": "1.1.0",
+         "postcss": "6.0.23"
+       },
+       "dependencies": {
+         "ansi-styles": {
+           "version": "3.2.1",
+           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+           "dev": true,
+           "requires": {
 -        "source-map": {
 -          "version": "0.6.1",
 -          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
 -          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 -          "dev": true
 -        },
++            "color-convert": "1.9.1"
+           }
+         },
+         "chalk": {
+           "version": "2.4.2",
+           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+           "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+           "dev": true,
+           "requires": {
+             "ansi-styles": "3.2.1",
+             "escape-string-regexp": "1.0.5",
+             "supports-color": "5.5.0"
+           }
+         },
+         "has-flag": {
+           "version": "3.0.0",
+           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+           "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+           "dev": true
+         },
+         "postcss": {
+           "version": "6.0.23",
+           "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+           "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+           "dev": true,
+           "requires": {
+             "chalk": "2.4.2",
+             "source-map": "0.6.1",
+             "supports-color": "5.5.0"
+           }
+         },
 -        "has": "1.0.3",
+         "supports-color": {
+           "version": "5.5.0",
+           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+           "dev": true,
+           "requires": {
+             "has-flag": "3.0.0"
+           }
+         }
+       }
+     },
+     "postcss-normalize-charset": {
+       "version": "1.1.1",
+       "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
+       "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18"
+       }
+     },
+     "postcss-normalize-url": {
+       "version": "3.0.8",
+       "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
+       "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+       "dev": true,
+       "requires": {
+         "is-absolute-url": "2.1.0",
+         "normalize-url": "1.9.1",
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0"
+       }
+     },
+     "postcss-ordered-values": {
+       "version": "2.2.3",
+       "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
+       "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0"
+       }
+     },
+     "postcss-reduce-idents": {
+       "version": "2.4.0",
+       "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
+       "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0"
+       }
+     },
+     "postcss-reduce-initial": {
+       "version": "1.0.1",
+       "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
+       "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+       "dev": true,
+       "requires": {
+         "postcss": "5.2.18"
+       }
+     },
+     "postcss-reduce-transforms": {
+       "version": "1.0.4",
+       "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
+       "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+       "dev": true,
+       "requires": {
++        "has": "1.0.1",
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0"
+       }
+     },
+     "postcss-selector-parser": {
+       "version": "2.2.3",
+       "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+       "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+       "dev": true,
+       "requires": {
+         "flatten": "1.0.2",
+         "indexes-of": "1.0.1",
+         "uniq": "1.0.1"
+       }
+     },
+     "postcss-svgo": {
+       "version": "2.1.6",
+       "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
+       "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+       "dev": true,
+       "requires": {
+         "is-svg": "2.1.0",
+         "postcss": "5.2.18",
+         "postcss-value-parser": "3.3.0",
+         "svgo": "0.7.2"
+       }
+     },
+     "postcss-unique-selectors": {
+       "version": "2.0.2",
+       "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
+       "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+       "dev": true,
+       "requires": {
+         "alphanum-sort": "1.0.2",
+         "postcss": "5.2.18",
+         "uniqs": "2.0.0"
+       }
+     },
      "postcss-value-parser": {
        "version": "3.3.0",
        "resolved": "http://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.0.tgz",
        "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
        "dev": true
      },
 -        "has": "1.0.3",
+     "postcss-zindex": {
+       "version": "2.2.0",
+       "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
+       "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+       "dev": true,
+       "requires": {
++        "has": "1.0.1",
+         "postcss": "5.2.18",
+         "uniqs": "2.0.0"
+       }
+     },
      "prelude-ls": {
        "version": "1.1.2",
        "resolved": "http://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
 -      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
 -    },
 -    "prepend-http": {
 -      "version": "1.0.4",
 -      "resolved": "http://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz",
 -      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
 +      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
        "dev": true
      },
      "prepend-http": {
        "version": "1.0.4",
 -      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
 +      "resolved": "http://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz",
        "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
        "dev": true
      },
        "dev": true
      },
      "process-nextick-args": {
 -      "version": "1.0.7",
 -      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
 -      "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
 -      "optional": true
 +      "version": "2.0.0",
 +      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
 +      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
      },
      "progress": {
-       "version": "1.1.8",
-       "resolved": "http://registry.npm.taobao.org/progress/download/progress-1.1.8.tgz",
-       "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
+       "version": "2.0.3",
+       "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+       "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
        "dev": true
      },
      "progress-stream": {
          "asap": "2.0.6"
        }
      },
 -    "promisify-call": {
 -      "version": "2.0.4",
 -      "resolved": "https://registry.npmjs.org/promisify-call/-/promisify-call-2.0.4.tgz",
 -      "integrity": "sha1-1IwtRWUszM1SgB3ey9UzptS9X7o=",
 -      "optional": true,
 -      "requires": {
 -        "with-callback": "1.0.2"
 -      }
 -    },
      "prop-types": {
        "version": "15.6.2",
        "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
        "dev": true
      },
      "proxy-addr": {
 -      "version": "2.0.5",
 -      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
 -      "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
 +      "version": "2.0.3",
 +      "resolved": "http://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.3.tgz",
 +      "integrity": "sha1-NV8mJQWmIWRrMTCnKOtkfiIFU0E=",
        "dev": true,
        "requires": {
          "forwarded": "0.1.2",
 -        "ipaddr.js": "1.9.0"
 -      }
 -    },
 -    "proxy-agent": {
 -      "version": "3.0.3",
 -      "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.3.tgz",
 -      "integrity": "sha512-PXVVVuH9tiQuxQltFJVSnXWuDtNr+8aNBP6XVDDCDiUuDN8eRCm+ii4/mFWmXWEA0w8jjJSlePa4LXlM4jIzNA==",
 -      "optional": true,
 -      "requires": {
 -        "agent-base": "4.2.1",
 -        "debug": "3.1.0",
 -        "http-proxy-agent": "2.1.0",
 -        "https-proxy-agent": "2.2.1",
 -        "lru-cache": "4.1.3",
 -        "pac-proxy-agent": "3.0.0",
 -        "proxy-from-env": "1.0.0",
 -        "socks-proxy-agent": "4.0.1"
 +        "ipaddr.js": "1.6.0"
        }
      },
 -    "proxy-from-env": {
 -      "version": "1.0.0",
 -      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
 -      "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=",
 -      "optional": true
 -    },
      "prr": {
        "version": "1.0.1",
        "resolved": "http://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz",
      "pseudomap": {
        "version": "1.0.2",
        "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
 -      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
 +      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
 +      "dev": true
      },
 -      "version": "1.1.32",
 -      "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.32.tgz",
 -      "integrity": "sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==",
+     "psl": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/psl/-/psl-1.2.0.tgz",
++      "integrity": "sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA==",
+       "dev": true
+     },
      "pump": {
        "version": "3.0.0",
        "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
      "punycode": {
        "version": "1.4.1",
        "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
 -      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
 +      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
 +      "dev": true
      },
+     "q": {
+       "version": "1.5.1",
+       "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+       "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+       "dev": true
+     },
      "qrcode": {
        "version": "1.3.3",
        "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.3.3.tgz",
      "qs": {
        "version": "6.5.2",
        "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz",
 -      "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY="
 +      "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
 +      "dev": true
      },
      "query-string": {
        "version": "3.0.3",
        "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
        "dev": true
      },
 -    "querystringify": {
 -      "version": "2.1.0",
 -      "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz",
 -      "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==",
 -      "optional": true
 -    },
      "randomatic": {
-       "version": "3.0.0",
-       "resolved": "http://registry.npm.taobao.org/randomatic/download/randomatic-3.0.0.tgz",
-       "integrity": "sha1-01SQAw6091eN4pLObfsEqRoSiSM=",
+       "version": "3.1.1",
+       "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
+       "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
        "dev": true,
        "requires": {
          "is-number": "4.0.0",
          "kind-of": "6.0.2",
-         "math-random": "1.0.1"
+         "math-random": "1.0.4"
        },
        "dependencies": {
          "is-number": {
            "version": "4.0.0",
--          "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-4.0.0.tgz",
--          "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=",
++          "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
++          "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
            "dev": true
          },
          "kind-of": {
            "version": "6.0.2",
--          "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz",
--          "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=",
++          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
++          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
            "dev": true
          }
        }
      },
      "range-parser": {
 -      "version": "1.2.1",
 -      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
 -      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
 +      "version": "1.2.0",
 +      "resolved": "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz",
 +      "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
        "dev": true
      },
 -    "raw-body": {
 -      "version": "2.4.0",
 -      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
 -      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
 -      "dev": true,
 -      "requires": {
 -        "bytes": "3.1.0",
 -        "http-errors": "1.7.2",
 -        "iconv-lite": "0.4.24",
 -        "unpipe": "1.0.0"
 -      }
 -    },
      "rc": {
        "version": "1.2.8",
        "resolved": "http://registry.npm.taobao.org/rc/download/rc-1.2.8.tgz",
          "strip-json-comments": "2.0.1"
        },
        "dependencies": {
 -        "bytes": {
 -          "version": "3.1.0",
 -          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
 -          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
 +        "minimist": {
 +          "version": "1.2.0",
 +          "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
 +          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
            "dev": true
          },
 -        "iconv-lite": {
 -          "version": "0.4.24",
 -          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 -          "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
 -          "dev": true,
 -          "requires": {
 -            "safer-buffer": "2.1.2"
 -          }
 +        "strip-json-comments": {
 +          "version": "2.0.1",
 +          "resolved": "http://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz",
 +          "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
 +          "dev": true
          }
        }
      },
        "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=",
        "dev": true,
        "requires": {
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
          "react-deep-force-update": "1.1.1"
        }
      },
          "create-react-class": "15.6.3",
          "hoist-non-react-statics": "2.5.0",
          "invariant": "2.2.4",
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
          "loose-envify": "1.3.1",
          "prop-types": "15.6.2"
        }
          "dotenv": "5.0.1",
          "dotenv-expand": "4.2.0",
          "fs-extra-p": "4.6.0",
--        "js-yaml": "3.11.0",
++        "js-yaml": "3.13.1",
          "json5": "1.0.1",
          "lazy-val": "1.0.3"
        },
        "dev": true,
        "requires": {
          "load-json-file": "1.1.0",
 -        "normalize-package-data": "2.5.0",
 +        "normalize-package-data": "2.4.0",
          "path-type": "1.1.0"
        }
      },
        "version": "1.1.14",
        "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
        "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
 +      "dev": true,
        "requires": {
          "core-util-is": "1.0.2",
          "inherits": "2.0.3",
          }
        }
      },
-     "readline2": {
-       "version": "1.0.1",
-       "resolved": "http://registry.npm.taobao.org/readline2/download/readline2-1.0.1.tgz",
-       "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
-       "dev": true,
-       "requires": {
-         "code-point-at": "1.1.0",
-         "is-fullwidth-code-point": "1.0.0",
-         "mute-stream": "0.0.5"
-       }
-     },
      "rechoir": {
        "version": "0.6.2",
        "resolved": "http://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz",
      },
      "redent": {
        "version": "1.0.0",
 -      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
 +      "resolved": "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz",
        "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
        "dev": true,
        "requires": {
          "strip-indent": "1.0.1"
        }
      },
 -    "redis": {
 -      "version": "2.8.0",
 -      "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
 -      "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==",
 -      "optional": true,
 -      "requires": {
 -        "double-ended-queue": "2.1.0-0",
 -        "redis-commands": "1.4.0",
 -        "redis-parser": "2.6.0"
 -      }
 -    },
 -    "redis-commands": {
 -      "version": "1.4.0",
 -      "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.4.0.tgz",
 -      "integrity": "sha512-cu8EF+MtkwI4DLIT0x9P8qNTLFhQD4jLfxLR0cCNkeGzs87FN6879JOJwNQR/1zD7aSYNbU0hgsV9zGY71Itvw==",
 -      "optional": true
 -    },
 -    "redis-parser": {
 -      "version": "2.6.0",
 -      "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz",
 -      "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=",
 -      "optional": true
 -    },
+     "reduce-css-calc": {
+       "version": "1.3.0",
+       "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
+       "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
+       "dev": true,
+       "requires": {
+         "balanced-match": "0.4.2",
+         "math-expression-evaluator": "1.2.17",
+         "reduce-function-call": "1.0.2"
+       },
+       "dependencies": {
+         "balanced-match": {
+           "version": "0.4.2",
+           "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+           "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+           "dev": true
+         }
+       }
+     },
+     "reduce-function-call": {
+       "version": "1.0.2",
+       "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
+       "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
+       "dev": true,
+       "requires": {
+         "balanced-match": "0.4.2"
+       },
+       "dependencies": {
+         "balanced-match": {
+           "version": "0.4.2",
+           "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+           "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+           "dev": true
+         }
+       }
+     },
      "redux": {
-       "version": "3.5.2",
-       "resolved": "http://registry.npm.taobao.org/redux/download/redux-3.5.2.tgz",
-       "integrity": "sha1-RTN0XpcLZH7CYGaoOqMOnib6+EM=",
+       "version": "4.0.4",
+       "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz",
+       "integrity": "sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==",
        "requires": {
-         "lodash": "4.17.11",
-         "lodash-es": "4.17.10",
-         "loose-envify": "1.3.1",
-         "symbol-observable": "0.2.4"
+         "loose-envify": "1.4.0",
+         "symbol-observable": "1.2.0"
+       },
+       "dependencies": {
+         "loose-envify": {
+           "version": "1.4.0",
+           "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+           "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+           "requires": {
+             "js-tokens": "3.0.2"
+           }
+         }
        }
      },
      "redux-form": {
        "dev": true
      },
      "repeat-element": {
-       "version": "1.1.2",
-       "resolved": "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz",
-       "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+       "version": "1.1.3",
+       "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+       "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
        "dev": true
      },
      "repeat-string": {
        }
      },
      "request": {
 -      "version": "2.88.0",
 -      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
 -      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
 +      "version": "2.87.0",
 +      "resolved": "http://registry.npm.taobao.org/request/download/request-2.87.0.tgz",
 +      "integrity": "sha1-MvACNc0I1IK00NaNuTqCnA7VdW4=",
        "dev": true,
        "requires": {
          "aws-sign2": "0.7.0",
 -        "aws4": "1.8.0",
 +        "aws4": "1.7.0",
          "caseless": "0.12.0",
 -        "combined-stream": "1.0.8",
 +        "combined-stream": "1.0.6",
          "extend": "3.0.2",
          "forever-agent": "0.6.1",
 -        "form-data": "2.3.3",
 -        "har-validator": "5.1.3",
 +        "form-data": "2.3.2",
 +        "har-validator": "5.0.3",
          "http-signature": "1.2.0",
          "is-typedarray": "1.0.0",
          "isstream": "0.1.2",
          "json-stringify-safe": "5.0.1",
 -        "mime-types": "2.1.24",
 -        "oauth-sign": "0.9.0",
 +        "mime-types": "2.1.18",
 +        "oauth-sign": "0.8.2",
          "performance-now": "2.1.0",
          "qs": "6.5.2",
          "safe-buffer": "5.1.2",
 -        "tough-cookie": "2.4.3",
 +        "tough-cookie": "2.3.4",
          "tunnel-agent": "0.6.0",
 -        "uuid": "3.3.2"
 +        "uuid": "3.2.1"
        },
        "dependencies": {
 -        "mime-db": {
 -          "version": "1.40.0",
 -          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
 -          "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
 -          "dev": true
 -        },
 -        "mime-types": {
 -          "version": "2.1.24",
 -          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
 -          "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
 -          "dev": true,
 -          "requires": {
 -            "mime-db": "1.40.0"
 -          }
 -        },
          "uuid": {
 -          "version": "3.3.2",
 -          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
 -          "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
 +          "version": "3.2.1",
 +          "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-3.2.1.tgz",
 +          "integrity": "sha1-EsUou51Y0LkmXZovbw/ovhf/HxQ=",
            "dev": true
          }
        }
      },
 -    "requestretry": {
 -      "version": "1.13.0",
 -      "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz",
 -      "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==",
 -      "optional": true,
 -      "requires": {
 -        "extend": "3.0.2",
 -        "lodash": "4.17.11",
 -        "request": "2.87.0",
 -        "when": "3.7.8"
 -      }
 -    },
      "require-directory": {
        "version": "2.1.1",
        "resolved": "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
      "requires-port": {
        "version": "1.0.0",
        "resolved": "http://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz",
 -      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
 +      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
 +      "dev": true
      },
      "reselect": {
        "version": "3.0.1",
        }
      },
      "restore-cursor": {
-       "version": "1.0.1",
-       "resolved": "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz",
-       "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+       "version": "2.0.0",
+       "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+       "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
        "dev": true,
        "requires": {
-         "exit-hook": "1.1.1",
-         "onetime": "1.1.0"
+         "onetime": "2.0.1",
+         "signal-exit": "3.0.2"
        }
      },
      "rework": {
        "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=",
        "dev": true
      },
 +    "rfdc": {
 +      "version": "1.1.2",
 +      "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.2.tgz",
 +      "integrity": "sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA=="
 +    },
      "right-align": {
        "version": "0.1.3",
        "resolved": "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz",
        "dev": true
      },
      "run-async": {
-       "version": "0.1.0",
-       "resolved": "http://registry.npm.taobao.org/run-async/download/run-async-0.1.0.tgz",
-       "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
+       "version": "2.3.0",
+       "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+       "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
        "dev": true,
        "requires": {
-         "once": "1.4.0"
+         "is-promise": "2.1.0"
        }
      },
      "rx-lite": {
-       "version": "3.1.2",
-       "resolved": "http://registry.npm.taobao.org/rx-lite/download/rx-lite-3.1.2.tgz",
-       "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
+       "version": "4.0.8",
+       "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
+       "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
        "dev": true
      },
+     "rx-lite-aggregates": {
+       "version": "4.0.8",
+       "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
+       "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
+       "dev": true,
+       "requires": {
+         "rx-lite": "4.0.8"
+       }
+     },
      "safe-buffer": {
        "version": "5.1.2",
        "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
        "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
        "dev": true,
        "requires": {
 -        "glob": "7.1.3",
 +        "glob": "7.1.2",
-         "lodash": "4.17.11",
+         "lodash": "4.17.14",
          "scss-tokenizer": "0.2.3",
          "yargs": "7.1.0"
        },
              "wrap-ansi": "2.1.0"
            }
          },
 +        "os-locale": {
 +          "version": "1.4.0",
 +          "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz",
 +          "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
 +          "dev": true,
 +          "requires": {
 +            "lcid": "1.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
 +        },
          "yargs": {
            "version": "7.1.0",
            "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz",
        }
      },
      "sass-loader": {
-       "version": "4.0.2",
-       "resolved": "http://registry.npm.taobao.org/sass-loader/download/sass-loader-4.0.2.tgz",
-       "integrity": "sha1-phbrdwNmVD5k9UfIYw85xNp18V0=",
+       "version": "7.1.0",
+       "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",
+       "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==",
        "dev": true,
        "requires": {
-         "async": "2.6.1",
-         "loader-utils": "0.2.17",
-         "object-assign": "4.1.1"
+         "clone-deep": "2.0.2",
+         "loader-utils": "1.2.3",
+         "lodash.tail": "4.1.1",
+         "neo-async": "2.6.1",
+         "pify": "3.0.0",
 -        "semver": "5.7.0"
++        "semver": "5.5.0"
+       },
+       "dependencies": {
+         "big.js": {
+           "version": "5.2.2",
+           "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+           "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+           "dev": true
+         },
+         "json5": {
+           "version": "1.0.1",
+           "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+           "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+           "dev": true,
+           "requires": {
+             "minimist": "1.2.0"
+           }
+         },
+         "loader-utils": {
+           "version": "1.2.3",
+           "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
+           "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
+           "dev": true,
+           "requires": {
+             "big.js": "5.2.2",
+             "emojis-list": "2.1.0",
+             "json5": "1.0.1"
+           }
+         },
+         "minimist": {
+           "version": "1.2.0",
+           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+           "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+           "dev": true
+         },
+         "pify": {
+           "version": "3.0.0",
+           "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+           "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+           "dev": true
+         }
        }
      },
      "sass-resources-loader": {
      },
      "sax": {
        "version": "1.2.4",
 -      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
 -      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
 +      "resolved": "http://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
 +      "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=",
        "dev": true
      },
      "scroll-behavior": {
        "integrity": "sha1-v0RNev7rlK1Dw5rS+yYVFifMuio="
      },
      "semver": {
 -      "version": "5.7.0",
 -      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
 -      "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
 -      "dev": true
 +      "version": "5.5.0",
 +      "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.5.0.tgz",
 +      "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs="
 +    },
 +    "semver-diff": {
 +      "version": "2.1.0",
 +      "resolved": "http://registry.npm.taobao.org/semver-diff/download/semver-diff-2.1.0.tgz",
 +      "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
 +      "dev": true,
 +      "requires": {
 +        "semver": "5.5.0"
 +      }
      },
      "send": {
 -      "version": "0.17.1",
 -      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
 -      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
 +      "version": "0.16.2",
 +      "resolved": "http://registry.npm.taobao.org/send/download/send-0.16.2.tgz",
 +      "integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=",
        "dev": true,
        "requires": {
          "debug": "2.6.9",
          "escape-html": "1.0.3",
          "etag": "1.8.1",
          "fresh": "0.5.2",
 -        "http-errors": "1.7.2",
 -        "mime": "1.6.0",
 -        "ms": "2.1.1",
 +        "http-errors": "1.6.3",
 +        "mime": "1.4.1",
 +        "ms": "2.0.0",
          "on-finished": "2.3.0",
 -        "range-parser": "1.2.1",
 -        "statuses": "1.5.0"
 +        "range-parser": "1.2.0",
 +        "statuses": "1.4.0"
        },
        "dependencies": {
 -        "ms": {
 -          "version": "2.1.1",
 -          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
 -          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
 +        "debug": {
 +          "version": "2.6.9",
 +          "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
 +          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
 +          "dev": true,
 +          "requires": {
 +            "ms": "2.0.0"
 +          }
 +        },
 +        "mime": {
 +          "version": "1.4.1",
 +          "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.4.1.tgz",
 +          "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=",
 +          "dev": true
 +        },
 +        "statuses": {
 +          "version": "1.4.0",
 +          "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.4.0.tgz",
 +          "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=",
            "dev": true
          }
        }
      },
      "serve-static": {
 -      "version": "1.14.1",
 -      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
 -      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
 +      "version": "1.13.2",
 +      "resolved": "http://registry.npm.taobao.org/serve-static/download/serve-static-1.13.2.tgz",
 +      "integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=",
        "dev": true,
        "requires": {
          "encodeurl": "1.0.2",
          "escape-html": "1.0.3",
 -        "parseurl": "1.3.3",
 -        "send": "0.17.1"
 +        "parseurl": "1.3.2",
 +        "send": "0.16.2"
        }
      },
      "set-blocking": {
        "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
      },
      "setprototypeof": {
 -      "version": "1.1.1",
 -      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
 -      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
 +      "version": "1.1.0",
 +      "resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz",
 +      "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=",
        "dev": true
      },
      "sha.js": {
          "safe-buffer": "5.1.2"
        }
      },
+     "shallow-clone": {
+       "version": "1.0.0",
+       "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
+       "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
+       "dev": true,
+       "requires": {
+         "is-extendable": "0.1.1",
+         "kind-of": "5.1.0",
+         "mixin-object": "2.0.1"
+       },
+       "dependencies": {
+         "kind-of": {
+           "version": "5.1.0",
+           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+           "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+           "dev": true
+         }
+       }
+     },
      "shallow-equal": {
        "version": "1.0.0",
        "resolved": "http://registry.npm.taobao.org/shallow-equal/download/shallow-equal-1.0.0.tgz",
        "version": "1.1.2",
        "resolved": "http://registry.npm.taobao.org/single-line-log/download/single-line-log-1.1.2.tgz",
        "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=",
 -      "dev": true,
 -      "requires": {
 -        "string-width": "1.0.2"
 -      }
 -    },
 -    "slack-node": {
 -      "version": "0.2.0",
 -      "resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz",
 -      "integrity": "sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA=",
 -      "optional": true,
 +      "dev": true,
        "requires": {
 -        "requestretry": "1.13.0"
 +        "string-width": "1.0.2"
        }
      },
      "slash": {
        "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
      },
      "slice-ansi": {
-       "version": "0.0.4",
-       "resolved": "http://registry.npm.taobao.org/slice-ansi/download/slice-ansi-0.0.4.tgz",
-       "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
-       "dev": true
+       "version": "1.0.0",
+       "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+       "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+       "dev": true,
+       "requires": {
+         "is-fullwidth-code-point": "2.0.0"
+       },
+       "dependencies": {
+         "is-fullwidth-code-point": {
+           "version": "2.0.0",
+           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+           "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+           "dev": true
+         }
+       }
+     },
+     "sort-keys": {
+       "version": "1.1.2",
+       "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+       "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+       "dev": true,
+       "requires": {
+         "is-plain-obj": "1.1.0"
+       }
      },
 -    "smart-buffer": {
 -      "version": "4.0.2",
 -      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz",
 -      "integrity": "sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw=="
 -    },
 -    "smtp-connection": {
 -      "version": "2.12.0",
 -      "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
 -      "integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=",
 -      "requires": {
 -        "httpntlm": "1.6.1",
 -        "nodemailer-shared": "1.1.0"
 -      }
 -    },
 -    "sntp": {
 -      "version": "1.0.9",
 -      "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
 -      "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
 -      "optional": true,
 -      "requires": {
 -        "hoek": "2.16.3"
 -      }
 -    },
 -    "socks": {
 -      "version": "2.2.3",
 -      "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.3.tgz",
 -      "integrity": "sha512-+2r83WaRT3PXYoO/1z+RDEBE7Z2f9YcdQnJ0K/ncXXbV5gJ6wYfNAebYFYiiUjM6E4JyXnPY8cimwyvFYHVUUA==",
 -      "requires": {
 -        "ip": "1.1.5",
 -        "smart-buffer": "4.0.2"
 -      }
 -    },
 -    "socks-proxy-agent": {
 -      "version": "4.0.1",
 -      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz",
 -      "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==",
 -      "requires": {
 -        "agent-base": "4.2.1",
 -        "socks": "2.2.3"
 -      }
 -    },
      "source-list-map": {
        "version": "0.1.8",
        "resolved": "http://registry.npm.taobao.org/source-list-map/download/source-list-map-0.1.8.tgz",
      "source-map": {
        "version": "0.6.1",
        "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
 -      "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
 +      "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
 +      "dev": true
      },
      "source-map-resolve": {
        "version": "0.5.2",
        }
      },
      "spdx-correct": {
 -      "version": "3.1.0",
 -      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
 -      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
 +      "version": "3.0.0",
 +      "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.0.0.tgz",
 +      "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=",
        "dev": true,
        "requires": {
          "spdx-expression-parse": "3.0.0",
 -        "spdx-license-ids": "3.0.4"
 +        "spdx-license-ids": "3.0.0"
        }
      },
      "spdx-exceptions": {
 -      "version": "2.2.0",
 -      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
 -      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
 +      "version": "2.1.0",
 +      "resolved": "http://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.1.0.tgz",
 +      "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=",
        "dev": true
      },
      "spdx-expression-parse": {
        "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=",
        "dev": true,
        "requires": {
 -        "spdx-exceptions": "2.2.0",
 -        "spdx-license-ids": "3.0.4"
 +        "spdx-exceptions": "2.1.0",
 +        "spdx-license-ids": "3.0.0"
        }
      },
      "spdx-license-ids": {
 -      "version": "3.0.4",
 -      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz",
 -      "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==",
 +      "version": "3.0.0",
 +      "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.0.tgz",
 +      "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=",
 +      "dev": true
 +    },
 +    "speedometer": {
 +      "version": "0.1.4",
 +      "resolved": "http://registry.npm.taobao.org/speedometer/download/speedometer-0.1.4.tgz",
 +      "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=",
        "dev": true
      },
      "split": {
        "dev": true
      },
      "sshpk": {
 -      "version": "1.16.1",
 -      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
 -      "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
 +      "version": "1.14.1",
 +      "resolved": "http://registry.npm.taobao.org/sshpk/download/sshpk-1.14.1.tgz",
 +      "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
        "dev": true,
        "requires": {
 -        "asn1": "0.2.4",
 +        "asn1": "0.2.3",
          "assert-plus": "1.0.0",
 -        "bcrypt-pbkdf": "1.0.2",
 +        "bcrypt-pbkdf": "1.0.1",
          "dashdash": "1.14.1",
 -        "ecc-jsbn": "0.1.2",
 +        "ecc-jsbn": "0.1.1",
          "getpass": "0.1.7",
          "jsbn": "0.1.1",
 -        "safer-buffer": "2.1.2",
          "tweetnacl": "0.14.5"
        }
      },
        "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=",
        "dev": true
      },
 +    "stat-mode": {
 +      "version": "0.2.2",
 +      "resolved": "http://registry.npm.taobao.org/stat-mode/download/stat-mode-0.2.2.tgz",
 +      "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
 +      "dev": true
 +    },
      "statuses": {
        "version": "1.5.0",
 -      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
 +      "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz",
        "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
        "dev": true
      },
+     "stdout-stream": {
+       "version": "1.4.1",
+       "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
+       "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
+       "dev": true,
+       "requires": {
+         "readable-stream": "2.3.6"
++      },
++      "dependencies": {
++        "isarray": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
++          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
++          "dev": true
++        },
++        "readable-stream": {
++          "version": "2.3.6",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
++          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
++          "dev": true,
++          "requires": {
++            "core-util-is": "1.0.2",
++            "inherits": "2.0.3",
++            "isarray": "1.0.0",
++            "process-nextick-args": "2.0.0",
++            "safe-buffer": "5.1.2",
++            "string_decoder": "1.1.1",
++            "util-deprecate": "1.0.2"
++          }
++        },
++        "string_decoder": {
++          "version": "1.1.1",
++          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
++          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
++          "dev": true,
++          "requires": {
++            "safe-buffer": "5.1.2"
++          }
++        }
+       }
+     },
      "stream-browserify": {
 -      "version": "2.0.2",
 -      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
 -      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
 +      "version": "2.0.1",
 +      "resolved": "http://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.1.tgz",
 +      "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
        "dev": true,
        "requires": {
          "inherits": "2.0.3",
        }
      },
      "stream-http": {
 -      "version": "2.8.3",
 -      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
 -      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
 +      "version": "2.8.2",
 +      "resolved": "http://registry.npm.taobao.org/stream-http/download/stream-http-2.8.2.tgz",
 +      "integrity": "sha1-QSboxrEHAERlkYqi/DVUnndALIc=",
        "dev": true,
        "requires": {
          "builtin-status-codes": "3.0.0",
        "dependencies": {
          "isarray": {
            "version": "1.0.0",
--          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
++          "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
            "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
          },
 -        "process-nextick-args": {
 -          "version": "2.0.0",
 -          "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
 -          "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
 -        },
          "readable-stream": {
            "version": "2.3.6",
--          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
++          "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
            "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
            "requires": {
              "core-util-is": "1.0.2",
      "string_decoder": {
        "version": "0.10.31",
        "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
 -      "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
 -    },
 -    "stringstream": {
 -      "version": "0.0.6",
 -      "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
 -      "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
 -      "optional": true
 +      "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
 +      "dev": true
      },
      "strip-ansi": {
        "version": "3.0.1",
          }
        }
      },
 +    "supports-color": {
 +      "version": "2.0.0",
 +      "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
 +      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
 +    },
+     "svgo": {
+       "version": "0.7.2",
+       "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
+       "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+       "dev": true,
+       "requires": {
+         "coa": "1.0.4",
+         "colors": "1.1.2",
+         "csso": "2.3.2",
+         "js-yaml": "3.7.0",
+         "mkdirp": "0.5.1",
+         "sax": "1.2.4",
+         "whet.extend": "0.9.9"
+       },
+       "dependencies": {
+         "esprima": {
+           "version": "2.7.3",
+           "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+           "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+           "dev": true
+         },
+         "js-yaml": {
+           "version": "3.7.0",
+           "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+           "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+           "dev": true,
+           "requires": {
+             "argparse": "1.0.10",
+             "esprima": "2.7.3"
+           }
+         }
+       }
+     },
      "symbol-observable": {
-       "version": "0.2.4",
-       "resolved": "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-0.2.4.tgz",
-       "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A="
+       "version": "1.2.0",
+       "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+       "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
      },
      "table": {
-       "version": "3.8.3",
-       "resolved": "http://registry.npm.taobao.org/table/download/table-3.8.3.tgz",
-       "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=",
+       "version": "4.0.2",
+       "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
+       "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
        "dev": true,
        "requires": {
-         "ajv": "4.11.8",
-         "ajv-keywords": "1.5.1",
-         "chalk": "1.1.3",
-         "lodash": "4.17.11",
-         "slice-ansi": "0.0.4",
+         "ajv": "5.5.2",
+         "ajv-keywords": "2.1.1",
+         "chalk": "2.4.2",
+         "lodash": "4.17.14",
+         "slice-ansi": "1.0.0",
          "string-width": "2.1.1"
        },
        "dependencies": {
--        "ajv": {
-           "version": "4.11.8",
-           "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz",
-           "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
 -          "version": "5.5.2",
 -          "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
 -          "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
--          "dev": true,
--          "requires": {
--            "co": "4.6.0",
-             "json-stable-stringify": "1.0.1"
 -            "fast-deep-equal": "1.1.0",
 -            "fast-json-stable-stringify": "2.0.0",
 -            "json-schema-traverse": "0.3.1"
--          }
--        },
          "ajv-keywords": {
--          "version": "1.5.1",
--          "resolved": "http://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-1.5.1.tgz",
--          "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
++          "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
            "dev": true
          },
          "ansi-regex": {
            "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
            "dev": true
          },
 -            "color-convert": "1.9.3"
+         "ansi-styles": {
+           "version": "3.2.1",
+           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+           "dev": true,
+           "requires": {
 -        "fast-deep-equal": {
 -          "version": "1.1.0",
 -          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
 -          "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
 -          "dev": true
 -        },
++            "color-convert": "1.9.1"
+           }
+         },
+         "chalk": {
+           "version": "2.4.2",
+           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+           "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+           "dev": true,
+           "requires": {
+             "ansi-styles": "3.2.1",
+             "escape-string-regexp": "1.0.5",
+             "supports-color": "5.5.0"
+           }
+         },
+         "has-flag": {
+           "version": "3.0.0",
+           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+           "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+           "dev": true
+         },
          "is-fullwidth-code-point": {
            "version": "2.0.0",
            "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
            "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
            "dev": true
          },
 -        "json-schema-traverse": {
 -          "version": "0.3.1",
 -          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
 -          "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
 -          "dev": true
 -        },
          "string-width": {
            "version": "2.1.1",
--          "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz",
--          "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
++          "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
++          "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
            "dev": true,
            "requires": {
              "is-fullwidth-code-point": "2.0.0",
            "requires": {
              "ansi-regex": "3.0.0"
            }
+         },
+         "supports-color": {
+           "version": "5.5.0",
+           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+           "dev": true,
+           "requires": {
+             "has-flag": "3.0.0"
+           }
          }
        }
      },
        "dev": true
      },
      "tar": {
-       "version": "2.2.1",
-       "resolved": "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz",
-       "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+       "version": "2.2.2",
+       "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
+       "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
        "dev": true,
        "requires": {
          "block-stream": "0.0.9",
-         "fstream": "1.0.11",
+         "fstream": "1.0.12",
          "inherits": "2.0.3"
        }
      },
          }
        }
      },
 -    "thunkify": {
 -      "version": "2.1.2",
 -      "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz",
 -      "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=",
 -      "optional": true
 -    },
      "time-stamp": {
 -      "version": "2.2.0",
 -      "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz",
 -      "integrity": "sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==",
 +      "version": "2.0.0",
 +      "resolved": "http://registry.npm.taobao.org/time-stamp/download/time-stamp-2.0.0.tgz",
 +      "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=",
        "dev": true
      },
      "timed-out": {
          "setimmediate": "1.0.5"
        }
      },
+     "tmp": {
+       "version": "0.0.33",
+       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+       "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+       "dev": true,
+       "requires": {
+         "os-tmpdir": "1.0.2"
+       }
+     },
      "to-arraybuffer": {
        "version": "1.0.1",
        "resolved": "http://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
        "resolved": "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz",
        "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
      },
 -    "toidentifier": {
 -      "version": "1.0.0",
 -      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
 -      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
 -      "dev": true
+     "to-regex-range": {
+       "version": "5.0.1",
+       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+       "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+       "dev": true,
+       "requires": {
+         "is-number": "7.0.0"
++      },
++      "dependencies": {
++        "is-number": {
++          "version": "7.0.0",
++          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
++          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
++          "dev": true
++        }
+       }
+     },
 +    "toml": {
 +      "version": "2.3.3",
 +      "resolved": "http://registry.npm.taobao.org/toml/download/toml-2.3.3.tgz",
 +      "integrity": "sha1-jWg9cpV3yyhiMd/HqK/+WNMXKPs="
      },
      "tough-cookie": {
 -      "version": "2.4.3",
 -      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
 -      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
 +      "version": "2.3.4",
 +      "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.4.tgz",
 +      "integrity": "sha1-7GDO44rGdQY//JelwYlwV47oNlU=",
        "dev": true,
        "requires": {
 -        "psl": "1.1.32",
          "punycode": "1.4.1"
        }
      },
        "resolved": "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
        "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
      },
 -        "glob": "7.1.3"
+     "true-case-path": {
+       "version": "1.0.3",
+       "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
+       "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
+       "dev": true,
+       "requires": {
++        "glob": "7.1.2"
++      }
++    },
 +    "truncate-utf8-bytes": {
 +      "version": "1.0.2",
 +      "resolved": "http://registry.npm.taobao.org/truncate-utf8-bytes/download/truncate-utf8-bytes-1.0.2.tgz",
 +      "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=",
 +      "dev": true,
 +      "requires": {
 +        "utf8-byte-length": "1.0.4"
        }
      },
      "tty-browserify": {
        "version": "0.6.0",
        "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
        "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
 +      "dev": true,
        "requires": {
          "safe-buffer": "5.1.2"
        }
        "version": "0.14.5",
        "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
        "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
 -      "dev": true
 +      "dev": true,
 +      "optional": true
      },
      "type-check": {
        "version": "0.3.2",
        "resolved": "http://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz",
        "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
 +      "dev": true,
        "requires": {
          "prelude-ls": "1.1.2"
        }
        "dev": true
      },
      "type-is": {
 -      "version": "1.6.18",
 -      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
 -      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
 +      "version": "1.6.16",
 +      "resolved": "http://registry.npm.taobao.org/type-is/download/type-is-1.6.16.tgz",
 +      "integrity": "sha1-+JzjQVQcZysl7nrjxz3uOyvlAZQ=",
        "dev": true,
        "requires": {
          "media-typer": "0.3.0",
 -        "mime-types": "2.1.24"
 -      },
 -      "dependencies": {
 -        "mime-db": {
 -          "version": "1.40.0",
 -          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
 -          "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
 -          "dev": true
 -        },
 -        "mime-types": {
 -          "version": "2.1.24",
 -          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
 -          "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
 -          "dev": true,
 -          "requires": {
 -            "mime-db": "1.40.0"
 -          }
 -        }
 +        "mime-types": "2.1.18"
        }
      },
      "typedarray": {
          "invariant": "2.2.4"
        }
      },
+     "uniq": {
+       "version": "1.0.1",
+       "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+       "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+       "dev": true
+     },
+     "uniqs": {
+       "version": "2.0.0",
+       "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+       "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+       "dev": true
+     },
 +    "unique-string": {
 +      "version": "1.0.0",
 +      "resolved": "http://registry.npm.taobao.org/unique-string/download/unique-string-1.0.0.tgz",
 +      "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
 +      "dev": true,
 +      "requires": {
 +        "crypto-random-string": "1.0.0"
 +      }
 +    },
 +    "universalify": {
 +      "version": "0.1.1",
 +      "resolved": "http://registry.npm.taobao.org/universalify/download/universalify-0.1.1.tgz",
 +      "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=",
 +      "dev": true
 +    },
      "unpipe": {
        "version": "1.0.0",
        "resolved": "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
 -      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
 +      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
 +      "dev": true
      },
      "unzip-response": {
        "version": "2.0.1",
        "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
        "dev": true
      },
 +    "update-notifier": {
 +      "version": "2.5.0",
 +      "resolved": "http://registry.npm.taobao.org/update-notifier/download/update-notifier-2.5.0.tgz",
 +      "integrity": "sha1-0HRFk+E/Fh5AassdlAi3LK0Ir/Y=",
 +      "dev": true,
 +      "requires": {
 +        "boxen": "1.3.0",
 +        "chalk": "2.4.1",
 +        "configstore": "3.1.2",
 +        "import-lazy": "2.1.0",
 +        "is-ci": "1.1.0",
 +        "is-installed-globally": "0.1.0",
 +        "is-npm": "1.0.0",
 +        "latest-version": "3.1.0",
 +        "semver-diff": "2.1.0",
 +        "xdg-basedir": "3.0.0"
 +      },
 +      "dependencies": {
 +        "ansi-styles": {
 +          "version": "3.2.1",
 +          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
 +          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
 +          "dev": true,
 +          "requires": {
 +            "color-convert": "1.9.1"
 +          }
 +        },
 +        "chalk": {
 +          "version": "2.4.1",
 +          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz",
 +          "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
 +          "dev": true,
 +          "requires": {
 +            "ansi-styles": "3.2.1",
 +            "escape-string-regexp": "1.0.5",
 +            "supports-color": "5.4.0"
 +          }
 +        },
 +        "has-flag": {
 +          "version": "3.0.0",
 +          "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
 +          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
 +          "dev": true
 +        },
 +        "supports-color": {
 +          "version": "5.4.0",
 +          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz",
 +          "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=",
 +          "dev": true,
 +          "requires": {
 +            "has-flag": "3.0.0"
 +          }
 +        }
 +      }
 +    },
      "uri-js": {
        "version": "4.2.2",
 -      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
 -      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
 +      "resolved": "http://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz",
 +      "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=",
        "dev": true,
        "requires": {
          "punycode": "2.1.1"
        "dependencies": {
          "punycode": {
            "version": "2.1.1",
 -          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
 -          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
 +          "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
 +          "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=",
            "dev": true
          }
        }
          }
        }
      },
 -    "url-parse": {
 -      "version": "1.4.4",
 -      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz",
 -      "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==",
 -      "optional": true,
 -      "requires": {
 -        "querystringify": "2.1.0",
 -        "requires-port": "1.0.0"
 -      }
 -    },
      "url-parse-lax": {
        "version": "1.0.0",
        "resolved": "http://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-1.0.0.tgz",
      },
      "user-home": {
        "version": "1.1.1",
 -      "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
 +      "resolved": "http://registry.npm.taobao.org/user-home/download/user-home-1.1.1.tgz",
        "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
        "dev": true
      },
        "dev": true
      },
      "util": {
 -      "version": "0.10.4",
 -      "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
 -      "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
 +      "version": "0.10.3",
 +      "resolved": "http://registry.npm.taobao.org/util/download/util-0.10.3.tgz",
 +      "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
        "dev": true,
        "requires": {
 -        "inherits": "2.0.3"
 +        "inherits": "2.0.1"
 +      },
 +      "dependencies": {
 +        "inherits": {
 +          "version": "2.0.1",
 +          "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz",
 +          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
 +          "dev": true
 +        }
        }
      },
      "util-deprecate": {
      },
      "v8flags": {
        "version": "2.1.1",
 -      "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
 +      "resolved": "http://registry.npm.taobao.org/v8flags/download/v8flags-2.1.1.tgz",
        "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
        "dev": true,
        "requires": {
        }
      },
      "validate-npm-package-license": {
 -      "version": "3.0.4",
 -      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
 -      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
 +      "version": "3.0.3",
 +      "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.3.tgz",
 +      "integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=",
        "dev": true,
        "requires": {
 -        "spdx-correct": "3.1.0",
 +        "spdx-correct": "3.0.0",
          "spdx-expression-parse": "3.0.0"
        }
      },
        "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
        "dev": true
      },
+     "vendors": {
+       "version": "1.0.3",
+       "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz",
+       "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==",
+       "dev": true
+     },
      "verror": {
        "version": "1.10.0",
        "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
        "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
 +      "dev": true,
        "requires": {
          "assert-plus": "1.0.0",
          "core-util-is": "1.0.2",
          "memory-fs": "0.4.1",
          "mime": "1.6.0",
          "path-is-absolute": "1.0.1",
 -        "range-parser": "1.2.1",
 -        "time-stamp": "2.2.0"
 +        "range-parser": "1.2.0",
 +        "time-stamp": "2.0.0"
        },
        "dependencies": {
          "isarray": {
              "errno": "0.1.7",
              "readable-stream": "2.3.6"
            }
 +        },
 +        "mime": {
 +          "version": "1.6.0",
 +          "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz",
 +          "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
 +          "dev": true
 +        },
 +        "process-nextick-args": {
 +          "version": "2.0.0",
 +          "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz",
 +          "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=",
 +          "dev": true
 +        },
 +        "readable-stream": {
 +          "version": "2.3.6",
 +          "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz",
 +          "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
 +          "dev": true,
 +          "requires": {
 +            "core-util-is": "1.0.2",
 +            "inherits": "2.0.3",
 +            "isarray": "1.0.0",
 +            "process-nextick-args": "2.0.0",
 +            "safe-buffer": "5.1.2",
 +            "string_decoder": "1.1.1",
 +            "util-deprecate": "1.0.2"
 +          }
 +        },
 +        "string_decoder": {
 +          "version": "1.1.1",
 +          "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
 +          "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
 +          "dev": true,
 +          "requires": {
 +            "safe-buffer": "5.1.2"
 +          }
          }
        }
      },
      "webpack-hot-middleware": {
 -      "version": "2.25.0",
 -      "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz",
 -      "integrity": "sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==",
 +      "version": "2.22.2",
 +      "resolved": "http://registry.npm.taobao.org/webpack-hot-middleware/download/webpack-hot-middleware-2.22.2.tgz",
 +      "integrity": "sha1-Yjt3zlkfzU4fuZ8YFneBRD5Qr6w=",
        "dev": true,
        "requires": {
          "ansi-html": "0.0.7",
        "resolved": "http://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-2.0.4.tgz",
        "integrity": "sha1-3eal3zFfnTmZGqF2IYU9cguFVm8="
      },
 -    "when": {
 -      "version": "3.7.8",
 -      "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
 -      "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=",
 -      "optional": true
 -    },
+     "whet.extend": {
+       "version": "0.9.9",
+       "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
+       "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
+       "dev": true
+     },
      "which": {
        "version": "1.3.1",
        "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.1.tgz",
      },
      "wide-align": {
        "version": "1.1.3",
-       "resolved": "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz",
-       "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=",
+       "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+       "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
        "dev": true,
        "requires": {
          "string-width": "1.0.2"
        "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
        "dev": true
      },
 -    "with-callback": {
 -      "version": "1.0.2",
 -      "resolved": "https://registry.npmjs.org/with-callback/-/with-callback-1.0.2.tgz",
 -      "integrity": "sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE=",
 -      "optional": true
 -    },
      "wordwrap": {
        "version": "1.0.0",
        "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz",
 -      "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
 +      "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
 +      "dev": true
      },
      "wrap-ansi": {
        "version": "2.1.0",
        "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=",
        "dev": true
      },
 -    "xregexp": {
 -      "version": "2.0.0",
 -      "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
 -      "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=",
 -      "optional": true
 -    },
      "xss-filters": {
        "version": "1.2.7",
        "resolved": "http://registry.npm.taobao.org/xss-filters/download/xss-filters-1.2.7.tgz",
      "xtend": {
        "version": "4.0.1",
        "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz",
 -      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
 +      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
 +      "dev": true
      },
      "y18n": {
        "version": "3.2.1",
      "yallist": {
        "version": "2.1.2",
        "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
 -      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
 +      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
 +      "dev": true
      },
      "yargs": {
        "version": "11.0.0",
diff --combined package.json
@@@ -11,7 -11,7 +11,7 @@@
      "files": [
        "node_modules/**/*",
        "main.js",
 -      "main-process/**/*",
 +      "modules/**/*",
        "static/**/*",
        "public/**",
        "!node_modules/electron/",
@@@ -60,7 -60,7 +60,7 @@@
      },
      "asar": true
    },
 -  "version": "1.0.2",
 +  "version": "1.0.9",
    "description": "Bytom Wallet Desktop",
    "main": "main.js",
    "scripts": {
      "postinstall": "npm run build:dll",
      "electron-dev": "DEV_URL=http://localhost:3000/index.html  electron --inspect=5858 main.js .",
      "build": "NODE_ENV=production webpack --config webpack/webpack.app.js ",
 -    "build-electron": "NODE_ENV=production MODE=electron webpack --config webpack/webpack.app.js ",
      "lint": "eslint \"src/**\"",
      "start": "hjs-dev-server webpack/webpack.app.js --hot --host 0.0.0.0",
      "generate-component": "babel-node bin/generate.js component",
 -    "package": "npm run build-electron && npm-run-all package:* ",
 +    "package": "npm run build && npm-run-all package:* ",
      "package:mac": "electron-builder -m ",
      "package:win-32": "ARCH_VARIABLE=386 electron-builder --win --ia32",
      "package:win-64": "ARCH_VARIABLE=amd64 electron-builder --win --x64 ",
    ],
    "dependencies": {
      "babel-polyfill": "~6.16.0",
 +    "babel-register": "~6.22.0",
      "bignumber.js": "^7.2.1",
      "bootstrap-sass": "~3.4.1",
      "btoa": "^1.1.2",
      "classnames": "~2.2.5",
      "electron-settings": "~3.1.4",
 +    "fetch-ponyfill": "~3.0.2",
      "glob": "~7.1.2",
      "i18next": "^11.9.1",
 -    "log4js": "^2.5.3",
 -    "fetch-ponyfill": "~3.0.2",
      "i18next-browser-languagedetector": "^2.2.3",
-     "lodash": "~4.17.11",
 +    "log4js": "^3.0.5",
+     "lodash": "~4.17.14",
      "moment": "^2.22.1",
      "moment-timezone": "^0.5.17",
      "pluralize": "~3.0.0",
      "react-router": "~2.6.0",
      "react-router-redux": "~4.0.5",
      "react-router-scroll": "~0.3.2",
-     "redux": "~3.5.2",
+     "redux": "~4.0.4",
      "redux-form": "~5.3.6",
      "redux-thunk": "~2.1.0",
      "reselect": "^3.0.0",
      "babel-preset-es2015": "~6.9.0",
      "babel-preset-react": "~6.5.0",
      "babel-preset-react-hmre": "~1.1.1",
 -    "babel-register": "~6.22.0",
      "bootstrap-loader": "~1.0.10",
-     "extend": "~3.0.2",
+     "braces": "^3.0.2",
      "chai": "~3.5.0",
      "chai-as-promised": "~6.0.0",
      "command-line-args": "~3.0.1",
      "command-line-commands": "~1.0.4",
-     "css-loader": "0.14.5",
 -    "electron": "~1.8.3",
 -    "electron-builder": "^20.10.0",
+     "css-loader": "0.26.1",
 +    "electron": "~1.8.8",
 +    "electron-builder": "^20.10.0",
-     "eslint": "~3.7.0",
-     "eslint-plugin-react": "~6.4.0",
+     "eslint": "~4.18.2",
+     "eslint-plugin-react": "~7.14.2",
+     "extend": "~3.0.2",
      "file-loader": "~0.9.0",
-     "hjs-webpack": "~8.4.0",
+     "hjs-webpack": "~8.4.3",
+     "js-yaml": "^3.13.1",
      "json-loader": "~0.5.4",
      "nock": "~4.0.0",
-     "node-sass": "~3.8.0",
      "npm-run-all": "^4.1.2",
+     "node-sass": "~4.12.0",
      "postcss-loader": "~1.1.0",
      "react-hot-loader": "~1.3.0",
      "resolve-url-loader": "~1.6.0",
-     "sass-loader": "~4.0.0",
+     "sass-loader": "~7.1.0",
      "sass-resources-loader": "~1.1.0",
      "shelljs": "~0.7.4",
      "style-loader": "~0.13.1",