commit 6cd216628a57bd43413080d24dfb39ed2faf7abb Author: 编码猿 Date: Fri Sep 27 01:07:59 2024 +0800 first commit diff --git a/.babelrc b/.babelrc new file mode 100755 index 0000000..b10dbaf --- /dev/null +++ b/.babelrc @@ -0,0 +1,30 @@ +{ + "comments": false, + "env": { + "main": { + "presets": [ + ["env", { + "targets": { "node": 7 } + }], + "stage-0" + ] + }, + "renderer": { + "presets": [ + ["env", { + "modules": false + }], + "stage-0" + ] + }, + "web": { + "presets": [ + ["env", { + "modules": false + }], + "stage-0" + ] + } + }, + "plugins": ["transform-runtime"] +} diff --git a/.electron-vue/.pydio b/.electron-vue/.pydio new file mode 100644 index 0000000..c3045ec --- /dev/null +++ b/.electron-vue/.pydio @@ -0,0 +1 @@ +10fa0628-4dc5-4c15-b1da-9c73cdfe350a \ No newline at end of file diff --git a/.electron-vue/build.js b/.electron-vue/build.js new file mode 100755 index 0000000..0551ede --- /dev/null +++ b/.electron-vue/build.js @@ -0,0 +1,115 @@ +'use strict' + +process.env.NODE_ENV = 'production' + +const { say } = require('cfonts') +const chalk = require('chalk') +const del = require('del') +const { spawn } = require('child_process') +const webpack = require('webpack') +const Multispinner = require('multispinner') + + +const mainConfig = require('./webpack.main.config') +const rendererConfig = require('./webpack.renderer.config') + +const doneLog = chalk.bgGreen.white(' DONE ') + ' ' +const errorLog = chalk.bgRed.white(' ERROR ') + ' ' +const okayLog = chalk.bgBlue.white(' OKAY ') + ' ' +const isCI = process.env.CI || false + +if (process.env.BUILD_TARGET === 'clean') clean() +else build() + +function clean () { + del.sync(['build/*', '!build/icons', '!build/icons/icon.*']) + console.log(`\n${doneLog}\n`) + process.exit() +} + +function build () { + greeting() + + del.sync(['dist/electron/*', '!.gitkeep']) + + const tasks = ['main', 'renderer'] + const m = new Multispinner(tasks, { + preText: 'building', + postText: 'process' + }) + + let results = '' + + m.on('success', () => { + process.stdout.write('\x1B[2J\x1B[0f') + console.log(`\n\n${results}`) + console.log(`${okayLog}take it away ${chalk.yellow('`electron-builder`')}\n`) + process.exit() + }) + + pack(mainConfig).then(result => { + results += result + '\n\n' + m.success('main') + }).catch(err => { + m.error('main') + console.log(`\n ${errorLog}failed to build main process`) + console.error(`\n${err}\n`) + process.exit(1) + }) + + pack(rendererConfig).then(result => { + results += result + '\n\n' + m.success('renderer') + }).catch(err => { + m.error('renderer') + console.log(`\n ${errorLog}failed to build renderer process`) + console.error(`\n${err}\n`) + process.exit(1) + }) +} + +function pack (config) { + return new Promise((resolve, reject) => { + config.mode = 'production' + webpack(config, (err, stats) => { + if (err) reject(err.stack || err) + else if (stats.hasErrors()) { + let err = '' + + stats.toString({ + chunks: false, + colors: true + }) + .split(/\r?\n/) + .forEach(line => { + err += ` ${line}\n` + }) + + reject(err) + } else { + resolve(stats.toString({ + chunks: false, + colors: true + })) + } + }) + }) +} + +function greeting () { + const cols = process.stdout.columns + let text = '' + + if (cols > 85) text = 'lets-build' + else if (cols > 60) text = 'lets-|build' + else text = false + + if (text && !isCI) { + say(text, { + colors: ['yellow'], + font: 'simple3d', + space: false + }) + } else console.log(chalk.yellow.bold('\n lets-build')) + console.log() +} \ No newline at end of file diff --git a/.electron-vue/dev-client.js b/.electron-vue/dev-client.js new file mode 100755 index 0000000..2913ea4 --- /dev/null +++ b/.electron-vue/dev-client.js @@ -0,0 +1,40 @@ +const hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') + +hotClient.subscribe(event => { + /** + * Reload browser when HTMLWebpackPlugin emits a new index.html + * + * Currently disabled until jantimon/html-webpack-plugin#680 is resolved. + * https://github.com/SimulatedGREG/electron-vue/issues/437 + * https://github.com/jantimon/html-webpack-plugin/issues/680 + */ + // if (event.action === 'reload') { + // window.location.reload() + // } + + /** + * Notify `mainWindow` when `main` process is compiling, + * giving notice for an expected reload of the `electron` process + */ + if (event.action === 'compiling') { + document.body.innerHTML += ` + + +
+ Compiling Main Process... +
+ ` + } +}) diff --git a/.electron-vue/dev-runner.js b/.electron-vue/dev-runner.js new file mode 100755 index 0000000..51633de --- /dev/null +++ b/.electron-vue/dev-runner.js @@ -0,0 +1,190 @@ +'use strict' + +const chalk = require('chalk') +const electron = require('electron') +const path = require('path') +const { say } = require('cfonts') +const { spawn } = require('child_process') +const webpack = require('webpack') +const WebpackDevServer = require('webpack-dev-server') +const webpackHotMiddleware = require('webpack-hot-middleware') + +const mainConfig = require('./webpack.main.config') +const rendererConfig = require('./webpack.renderer.config') + +let electronProcess = null +let manualRestart = false +let hotMiddleware + +function logStats (proc, data) { + let log = '' + + log += chalk.yellow.bold(`┏ ${proc} Process ${new Array((19 - proc.length) + 1).join('-')}`) + log += '\n\n' + + if (typeof data === 'object') { + data.toString({ + colors: true, + chunks: false + }).split(/\r?\n/).forEach(line => { + log += ' ' + line + '\n' + }) + } else { + log += ` ${data}\n` + } + + log += '\n' + chalk.yellow.bold(`┗ ${new Array(28 + 1).join('-')}`) + '\n' + + console.log(log) +} + +function startRenderer () { + return new Promise((resolve, reject) => { + rendererConfig.entry.renderer = [path.join(__dirname, 'dev-client')].concat(rendererConfig.entry.renderer) + rendererConfig.mode = 'development' + const compiler = webpack(rendererConfig) + hotMiddleware = webpackHotMiddleware(compiler, { + log: false, + heartbeat: 2500 + }) + + compiler.hooks.compilation.tap('compilation', compilation => { + compilation.hooks.htmlWebpackPluginAfterEmit.tapAsync('html-webpack-plugin-after-emit', (data, cb) => { + hotMiddleware.publish({ action: 'reload' }) + cb() + }) + }) + + compiler.hooks.done.tap('done', stats => { + logStats('Renderer', stats) + }) + + const server = new WebpackDevServer( + compiler, + { + contentBase: path.join(__dirname, '../'), + quiet: true, + before (app, ctx) { + app.use(hotMiddleware) + ctx.middleware.waitUntilValid(() => { + resolve() + }) + } + } + ) + + server.listen(9080) + }) +} + +function startMain () { + return new Promise((resolve, reject) => { + mainConfig.entry.main = [path.join(__dirname, '../src/main/index.dev.js')].concat(mainConfig.entry.main) + mainConfig.mode = 'development' + const compiler = webpack(mainConfig) + + compiler.hooks.watchRun.tapAsync('watch-run', (compilation, done) => { + logStats('Main', chalk.white.bold('compiling...')) + hotMiddleware.publish({ action: 'compiling' }) + done() + }) + + compiler.watch({}, (err, stats) => { + if (err) { + console.log(err) + return + } + + logStats('Main', stats) + + if (electronProcess && electronProcess.kill) { + manualRestart = true + process.kill(electronProcess.pid) + electronProcess = null + startElectron() + + setTimeout(() => { + manualRestart = false + }, 5000) + } + + resolve() + }) + }) +} + +function startElectron () { + var args = [ + '--inspect=5858', + path.join(__dirname, '../dist/electron/main.js') + ] + + // detect yarn or npm and process commandline args accordingly + if (process.env.npm_execpath.endsWith('yarn.js')) { + args = args.concat(process.argv.slice(3)) + } else if (process.env.npm_execpath.endsWith('npm-cli.js')) { + args = args.concat(process.argv.slice(2)) + } + + electronProcess = spawn(electron, args) + + electronProcess.stdout.on('data', data => { + electronLog(data, 'blue') + }) + electronProcess.stderr.on('data', data => { + electronLog(data, 'red') + }) + + electronProcess.on('close', () => { + if (!manualRestart) process.exit() + }) +} + +function electronLog (data, color) { + let log = '' + data = data.toString().split(/\r?\n/) + data.forEach(line => { + log += ` ${line}\n` + }) + if (/[0-9A-z]+/.test(log)) { + console.log( + chalk[color].bold('┏ Electron -------------------') + + '\n\n' + + log + + chalk[color].bold('┗ ----------------------------') + + '\n' + ) + } +} + +function greeting () { + const cols = process.stdout.columns + let text = '' + + if (cols > 104) text = 'electron-vue' + else if (cols > 76) text = 'electron-|vue' + else text = false + + if (text) { + say(text, { + colors: ['yellow'], + font: 'simple3d', + space: false + }) + } else console.log(chalk.yellow.bold('\n electron-vue')) + console.log(chalk.blue(' getting ready...') + '\n') +} + +function init () { + greeting() + + Promise.all([startRenderer(), startMain()]) + .then(() => { + startElectron() + }) + .catch(err => { + console.error(err) + }) +} + +init() diff --git a/.electron-vue/webpack.main.config.js b/.electron-vue/webpack.main.config.js new file mode 100755 index 0000000..b52b2dd --- /dev/null +++ b/.electron-vue/webpack.main.config.js @@ -0,0 +1,71 @@ +'use strict' + +process.env.BABEL_ENV = 'main' + +const path = require('path') +const { dependencies } = require('../package.json') +const webpack = require('webpack') +const fs= require('fs') +// 检测是否有用户配置文件,没有的话根据模板生成一个 +const userConfigPath=path.resolve(__dirname,'../.user-config.js') + +if(!fs.existsSync(userConfigPath)){ + fs.copyFileSync(path.resolve(__dirname,'../user-config.template.js'), userConfigPath) +} + +let mainConfig = { + entry: { + main: path.join(__dirname, '../src/main/index.js') + }, + externals: [ + ...Object.keys(dependencies || {}) + ], + module: { + rules: [ + { + test: /\.node$/, + use: 'node-loader' + }, + ] + }, + node: { + __dirname: process.env.NODE_ENV !== 'production', + __filename: process.env.NODE_ENV !== 'production' + }, + output: { + filename: '[name].js', + libraryTarget: 'commonjs2', + path: path.join(__dirname, '../dist/electron') + }, + plugins: [ + new webpack.NoEmitOnErrorsPlugin() + ], + resolve: { + extensions: ['.js', '.json', '.node'] + }, + target: 'electron-main' +} + +/** + * Adjust mainConfig for development settings + */ +if (process.env.NODE_ENV !== 'production') { + mainConfig.plugins.push( + new webpack.DefinePlugin({ + '__static': `"${path.join(__dirname, '../static').replace(/\\/g, '\\\\')}"` + }) + ) +} + +/** + * Adjust mainConfig for production settings + */ +if (process.env.NODE_ENV === 'production') { + mainConfig.plugins.push( + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': '"production"' + }) + ) +} + +module.exports = mainConfig diff --git a/.electron-vue/webpack.renderer.config.js b/.electron-vue/webpack.renderer.config.js new file mode 100755 index 0000000..5180a4a --- /dev/null +++ b/.electron-vue/webpack.renderer.config.js @@ -0,0 +1,175 @@ +'use strict' + +process.env.BABEL_ENV = 'renderer' + +const path = require('path') +const { dependencies } = require('../package.json') +const webpack = require('webpack') + +// const BabiliWebpackPlugin = require('babili-webpack-plugin') +const CopyWebpackPlugin = require('copy-webpack-plugin') +const MiniCssExtractPlugin = require('mini-css-extract-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const { VueLoaderPlugin } = require('vue-loader') +function resolve(dir) { + return path.join(__dirname, '..', dir) +} + +/** + * List of node_modules to include in webpack bundle + * + * Required for specific packages like Vue UI libraries + * that provide pure *.vue files that need compiling + * https://simulatedgreg.gitbooks.io/electron-vue/content/en/webpack-configurations.html#white-listing-externals + */ +// let whiteListedModules = ['vue'] + +let whiteListedModules = ['vue', 'vue-router', 'axios', 'vuex', 'vue-electron'] + +let rendererConfig = { + devtool: '#cheap-module-eval-source-map', + entry: { + renderer: path.join(__dirname, '../src/renderer/main.js') + }, + externals: [ + ...Object.keys(dependencies || {}).filter(d => !whiteListedModules.includes(d)) + ], + module: { + rules: [ + { + test: /\.less$/, + use: ['vue-style-loader', 'css-loader', 'less-loader'] + }, + { + test: /\.css$/, + use: ['vue-style-loader', 'css-loader'] + }, + { + test: /\.html$/, + use: 'vue-html-loader' + }, + { + test: /\.(js|vue)$/, + loader: 'eslint-loader', + enforce: 'pre', + include: [resolve('src')], + options: { + formatter: require('eslint-friendly-formatter'), + emitWarning: true + } + }, + { + test: /\.vue$/, + use: { + loader: 'vue-loader', + options: { + extractCSS: process.env.NODE_ENV === 'production', + loaders: { + less: 'vue-style-loader!css-loader!less-loader' + } + } + } + }, + { + test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, + use: { + loader: 'url-loader', + query: { + limit: 10000, + name: 'imgs/[name]--[folder].[ext]' + } + } + }, + { + test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, + loader: 'url-loader', + options: { + limit: 10000, + name: 'media/[name]--[folder].[ext]' + } + }, + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, + use: { + loader: 'url-loader', + query: { + limit: 10000, + name: 'fonts/[name]--[folder].[ext]' + } + } + } + ] + }, + node: { + __dirname: process.env.NODE_ENV !== 'production', + __filename: process.env.NODE_ENV !== 'production' + }, + plugins: [ + new VueLoaderPlugin(), + new MiniCssExtractPlugin({ + filename: 'styles.css' + }), + new HtmlWebpackPlugin({ + filename: 'index.html', + template: path.resolve(__dirname, '../src/index.ejs'), + minify: { + collapseWhitespace: true, + removeAttributeQuotes: true, + removeComments: true + }, + nodeModules: process.env.NODE_ENV !== 'production' ? + path.resolve(__dirname, '../node_modules') : + false + }), + new webpack.HotModuleReplacementPlugin(), + new webpack.NoEmitOnErrorsPlugin() + ], + output: { + filename: '[name].js', + libraryTarget: 'commonjs2', + path: path.join(__dirname, '../dist/electron') + }, + resolve: { + alias: { + '@': path.join(__dirname, '../src/renderer'), + 'vue$': 'vue/dist/vue.esm.js', + 'static': path.join(__dirname, '../static') + }, + extensions: ['.js', '.vue', '.json', '.css', '.node'] + }, + target: 'electron-renderer' +} + +/** + * Adjust rendererConfig for development settings + */ +if (process.env.NODE_ENV !== 'production') { + rendererConfig.plugins.push( + new webpack.DefinePlugin({ + '__static': `"${path.join(__dirname, '../static').replace(/\\/g, '\\\\')}"` + }) + ) +} + +/** + * Adjust rendererConfig for production settings + */ +if (process.env.NODE_ENV === 'production') { + rendererConfig.devtool = '' + + rendererConfig.plugins.push( + new CopyWebpackPlugin([{ + from: path.join(__dirname, '../static'), + to: path.join(__dirname, '../dist/electron/static'), + ignore: ['.*'] + }]), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': '"production"' + }), + new webpack.LoaderOptionsPlugin({ + minimize: true + }) + ) +} + +module.exports = rendererConfig diff --git a/.eslintignore b/.eslintignore new file mode 100755 index 0000000..1d177db --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +/*.ejs +src/out +docs/* \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100755 index 0000000..42bed6e --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,112 @@ +module.exports = { + root: true, + parserOptions: { + parser: 'babel-eslint' + }, + "env": { + "browser": true, + "commonjs": true, + "es6": true, + "browser": true, + "node": true, + "amd": true + }, + extends: ['plugin:vue/essential', 'airbnb-base'], + globals: { + Atomics: 'readonly', + SharedArrayBuffer: 'readonly' + }, + parserOptions: { + ecmaVersion: 2018, + sourceType: 'module', + parser: "babel-eslint" + }, + plugins: ['vue', 'html'], + // check if imports actually resolve + settings: { + 'import/resolver': { + webpack: { + config: '.electron-vue/webpack.renderer.config.js' + } + } + }, + rules: { + // 句尾分号可以省略 + 'semi': ['error', 'never'], + // 代码中console/debugger处理 + 'no-console': 'off', + 'no-debugger': 'off', + // 代码使用4个空格的缩进风格 + 'indent': ['error', 4], + // 关闭命名function表达式规则 + 'func-names': 'off', + // 可以行尾空白 + 'no-trailing-spaces': 'off', + // 关闭拖尾逗号 + 'comma-dangle': 'off', + // 关闭换行符转换 + 'linebreak-style': 'off', + // 禁止使用指定语法 + 'no-restricted-syntax': ['error', 'WithStatement'], + // 关闭语句块之前的空格保持一致 + 'space-before-blocks': 'off', + // 可以使用++/-- + 'no-plusplus': 'off', + // 禁止未使用过的变量包括全局变量和函数中的最后一个参数必须使用 + 'no-unused-vars': [ + 'error', { + 'vars': 'all', + 'args': 'after-used' + } + ], + // 使用单引号 + 'quotes': [ + 'error', 'single' + ], + // 强制最大可嵌深度为8 + 'max-depth': 0, + // 强制函数块中的语句最大50行 + 'max-statements': [ + 'error', 50 + ], + // 强制行的最大长度150,注释200 + 'max-len': [ + 'error', { + 'code': 200, + 'comments': 800 + } + ], + + // NodeJs rules, 9.0之后全部使用import + // 关闭require()强制在模块顶部调用 + 'global-require': 'off', + + // ES6 rules + // 箭头函数的箭头前后都要有空格 + 'arrow-spacing': 'error', + // 接收const被修改的通知 + 'no-const-assign': 'error', + // 要求使用let或const而不是var + 'no-var': 'error', + // 如果一个变量不会被重新赋值,则使用const声明 + 'prefer-const': 'error', + // 关闭强制在花括号内使用一致的换行符 + 'object-curly-newline': 'off', + + // 链接地址中可以使用 javascript: + 'no-script-url': 'off', + // 关闭点击元素上强制增加onKey**事件 + 'click-events-have-key-events': 'off', + // 关闭引用依赖检查 + 'import/no-extraneous-dependencies': 'off', + // 关闭路径处理依赖 + 'import/no-cycle': 'off', + "no-param-reassign": 0, //禁止给参数重新赋值 + "no-use-before-define": 0, + "no-unused-vars": 'off', + "no-underscore-dangle":0, + "brace-style":0, + // 扩展名处理 + 'import/extensions': 'off', + } +}; \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..1511fd0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +dist/* +build/* +node_modules/ +npm-debug.log.* +thumbs.db +.user-config.js +!.gitkeep diff --git a/.pydio b/.pydio new file mode 100644 index 0000000..5d7785a --- /dev/null +++ b/.pydio @@ -0,0 +1 @@ +ff5d96d1-0826-4699-a12c-e5cd85fb0c37 \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100755 index 0000000..fd14ca5 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,36 @@ +osx_image: xcode8.3 +sudo: required +dist: trusty +language: c +matrix: + include: + - os: osx + - os: linux + env: CC=clang CXX=clang++ npm_config_clang=1 + compiler: clang +cache: + directories: + - node_modules + - "$HOME/.electron" + - "$HOME/.cache" +addons: + apt: + packages: + - libgnome-keyring-dev + - icnsutils +before_install: +- mkdir -p /tmp/git-lfs && curl -L https://github.com/github/git-lfs/releases/download/v1.2.1/git-lfs-$([ + "$TRAVIS_OS_NAME" == "linux" ] && echo "linux" || echo "darwin")-amd64-1.2.1.tar.gz + | tar -xz -C /tmp/git-lfs --strip-components 1 && /tmp/git-lfs/git-lfs pull +- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils; fi +install: +- nvm install 7 +- curl -o- -L https://yarnpkg.com/install.sh | bash +- source ~/.bashrc +- npm install -g xvfb-maybe +- yarn +script: +- yarn run build +branches: + only: + - master diff --git a/.vscode/.pydio b/.vscode/.pydio new file mode 100644 index 0000000..6d6f7dd --- /dev/null +++ b/.vscode/.pydio @@ -0,0 +1 @@ +a2beb42a-53d7-4c5b-b4be-7f513fcdfdd8 \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100755 index 0000000..9a22b18 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,21 @@ +{ + // 使用 IntelliSense 了解相关属性。 + // 悬停以查看现有属性的描述。 + // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Electron Main", + "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", + "program": "${workspaceFolder}/src/main/index.js" + }, + // { + // "type": "node", + // "request": "launch", + // "name": "Launch Program", + // "program": "${workspaceFolder}/src/get-image/500px.js" + // } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100755 index 0000000..8253b7e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,12 @@ +{ + // 忽略的文件 + "csscomb.ignoreFilesOnSave": [ + ".git/**", + "node_modules/**", + "dist/**", + "dll/**", + ], + // 规则路径,也可以为一个对象自定义规则 + "csscomb.preset": "csscomb.js", + "csscomb.formatOnSave": true, +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100755 index 0000000..a50f849 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 peng + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100755 index 0000000..b33e3a6 --- /dev/null +++ b/README.md @@ -0,0 +1,119 @@ + +## Strawberry Wallpaper 草莓壁纸🍓 + +> 采用electron-vue开发的壁纸应用 +> 本应用相关图片都源自于网络,壁纸图片的一切版权归壁纸来源网站所有,切不可将版权图片作为商用。 + + +#### 开发 +``` +npm install +npm run dev +``` +#### 打包 +1.先执行webpack打包页面 +``` +npm run build +``` +2.按平台打包 `electron-builder` 会默认当前平台进行打包 +``` +npm run build-mac +npm run build-win +``` + +## 使用说明 + +### 1.适用范围 + +Works on macOS 10.12+, and Windows 10+. + +目前只在mac10.14.3与win10上进行了测试 + +#### 1.安装软件 + +提供两个打包好的下载地址: + +[Strawberry Wallpaper-mac](http://sw.taoacat.com/Strawberry%20Wallpaper-mac.dmg) + +[Strawberry Wallpaper-win](http://sw.taoacat.com/Strawberry%20Wallpaper-win.exe) + +macOS可以使用[homebrew](https://brew.sh/index_zh-cn)进行安装: + +```bash +brew cask install strawberry-wallpaper +``` + +#### 2.软件介绍 + +【软件主页】 + +用于显示壁纸照片,可以切换图库,可以进行关键词搜索,并可存储最近搜索的关键词。 + + + +【设置】 + + + + +【检测更新】 + + + + +【意见反馈】 + + + +【公告】 + + + +【网页模式】 + +可在网页中对图库图片进行搜索、下载、设置为壁纸 + + + + +## 更新日志 + +> v1.4.2 +- 修复1.4.1已知问题 + +> v1.4.1 +- 修复新安装用户不能设置壁纸问题 + +> v1.4 +- 修复pexels图库加载不成功问题 +- 增加设置壁纸的填充方式(mac下有效) +- 增加是否自动应用到所有屏幕设置(mac下有效) +- 增加壁纸方向与尺寸的筛选 +- 增加网页模式,网页模式下加载相关网页,并可直接在网页中可以下载图片到本地以及设置壁纸 +- 增加公告展示 + + +[历史更新](./update-log.md) + + +## 用户统计 +草莓壁纸会针对用户安装量以及用户的活跃量进行统计,根据用户的网卡信息生成唯一UID。统计信息只获取用户的电脑系统,用户电脑用户名。 +可以打开[草莓壁纸后台统计平台](http://sw.taoacat.com)进行查看相关统计数据。后台统计相关接口采用go语言开发,[项目地址](https://github.com/wangkaibo/strawberry-wallpaper):https://github.com/wangkaibo/strawberry-wallpaper 欢迎点赞,支持。 + +## LICENSE + +MIT + +## 点👍 + +如果觉得本项目不错,请点击页面右上角的的小星星。也可以为作者点👍,欢迎打赏。 + +![👍](http://file.qiniu.taoacat.com/github-start.png) + + + +## 感谢 +- vue +- electron +- vue-electron +- ... diff --git a/appveyor.yml b/appveyor.yml new file mode 100755 index 0000000..c9e3248 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,29 @@ +version: 0.1.{build} + +branches: + only: + - master + +image: Visual Studio 2017 +platform: + - x64 + +cache: + - node_modules + - '%APPDATA%\npm-cache' + - '%USERPROFILE%\.electron' + - '%USERPROFILE%\AppData\Local\Yarn\cache' + +init: + - git config --global core.autocrlf input + +install: + - ps: Install-Product node 8 x64 + - git reset --hard HEAD + - yarn + - node --version + +build_script: + - yarn build + +test: off diff --git a/build-config/.pydio b/build-config/.pydio new file mode 100644 index 0000000..0d330b6 --- /dev/null +++ b/build-config/.pydio @@ -0,0 +1 @@ +ed5f7899-add2-43b2-aff7-2c63e4603fff \ No newline at end of file diff --git a/build-config/icons/.pydio b/build-config/icons/.pydio new file mode 100644 index 0000000..d35084a --- /dev/null +++ b/build-config/icons/.pydio @@ -0,0 +1 @@ +2e10cfaa-9570-4d45-8179-9a1fbb20ed05 \ No newline at end of file diff --git a/build-config/icons/256x256.png b/build-config/icons/256x256.png new file mode 100755 index 0000000..15845a9 Binary files /dev/null and b/build-config/icons/256x256.png differ diff --git a/build-config/icons/icon.icns b/build-config/icons/icon.icns new file mode 100755 index 0000000..2267c7b Binary files /dev/null and b/build-config/icons/icon.icns differ diff --git a/build-config/icons/icon.ico b/build-config/icons/icon.ico new file mode 100755 index 0000000..e247c5e Binary files /dev/null and b/build-config/icons/icon.ico differ diff --git a/csscomb.js b/csscomb.js new file mode 100755 index 0000000..45bec66 --- /dev/null +++ b/csscomb.js @@ -0,0 +1,208 @@ +module.exports = { + exclude: [ + '.git/**', + 'node_modules/**', + 'bower_components/**', + 'dist/**', + 'dll/**', + 'src/css/**' + ], + 'always-semicolon': true, // 总是显示分号 + 'block-indent': ' ', // 代码块缩进,可以是数字或字符串与空白和制表符等 + 'color-case': 'lower', // 十六进制颜色统一,可选值'lower'全部小写;'upper'全部大写 + 'color-hex-case': 'lower', // 颜色值统一小写 + 'color-shorthand': false, // 十六进制颜色缩写与否 + 'element-case': 'lower', // 选择器元素统一,可选值'lower'全部小写;'upper'全部大写 + 'eof-newline': true, // 文件结束后添换行 + 'leading-zero': true, // 是否需要小数点前的0 + quotes: 'double', // 引号风格,可选值'single'单引号,'double'双引号 + 'remove-empty-rulesets': true, // 是否移除空规则集,为true时,如:'a{ }'这样的空规则集将被移除 + 'space-after-colon': ' ', // 冒号后规则 + 'space-after-combinator': ' ', // 选择符后规则 + 'space-between-declarations': '\n', // 属性后的规则 + 'space-after-opening-brace': '\n', // '{' 之后的规则 + 'space-after-selector-delimiter': '\n', // 选择器之后的规则 + 'space-before-closing-brace': '\n', // '}' 之后的规则 + 'space-before-colon': '', // 冒号前的规则 + 'space-before-combinator': ' ', // 选择符前规则 + 'space-before-opening-brace': ' ', // '{' 之前的规则 + 'space-before-selector-delimiter': '', // 选择器之前的规则 + 'strip-spaces': true, // 是否修剪尾随的空格 + 'tab-size': 4, // 缩进大小 + 'unitless-zero': true, // 是否移除0后的单位值,比如'0px'格式化为'0' + 'vendor-prefix-align': true, // 是否对齐属性和值中的前缀 + 'lines-between-rulesets': 1, // 规则与规则之间的换行数 + 'sort-order': [ + // Directions about where and how the box is placed + + // ['@include'], + + 'display', + + 'grid', + 'grid-area', + 'grid-auto-flow', + 'grid-auto-columns', + 'grid-auto-rows', + 'grid-gap', + 'grid-column', + 'grid-column-start', + 'grid-column-end', + 'grid-column-gap', + 'grid-row', + 'grid-row-start', + 'grid-row-end', + 'grid-row-gap', + 'grid-template', + 'grid-template-areas', + 'grid-template-columns', + 'grid-template-rows', + + 'flex', + 'flex-basis', + 'flex-direction', + 'flex-flow', + 'flex-grow', + 'flex-shrink', + 'flex-wrap', + 'align-content', + 'align-items', + 'align-self', + 'justify-self', + 'justify-content', + 'order', + + 'position', + 'top', + 'right', + 'bottom', + 'left', + + 'columns', + 'column-gap', + 'column-fill', + 'column-rule', + 'column-span', + 'column-count', + 'column-width', + + 'float', + 'clear', + + 'transform', + 'transform-origin', + + // can the box be seen? + 'visibility', + 'opacity', + 'z-index', + + // Layers of the box model, from outside to inside + 'margin', + 'margin-top', + 'margin-right', + 'margin-bottom', + 'margin-left', + + 'outline', + + 'border', + 'border-top', + 'border-right', + 'border-bottom', + 'border-left', + 'border-width', + 'border-top-width', + 'border-right-width', + 'border-bottom-width', + 'border-left-width', + 'border-style', + 'border-top-style', + 'border-right-style', + 'border-bottom-style', + 'border-left-style', + 'border-color', + 'border-top-color', + 'border-right-color', + 'border-bottom-color', + 'border-left-color', + 'border-radius', + 'border-top-left-radius', + 'border-top-right-radius', + 'border-bottom-left-radius', + 'border-bottom-right-radius', + + 'box-shadow', + 'box-sizing', + + // Content dimensions and background and scrollbars + 'background', + 'background-clip', + 'background-color', + 'background-image', + 'background-position', + 'background-repeat', + 'background-size', + 'cursor', + + 'width', + 'min-width', + 'max-width', + 'height', + 'min-height', + 'max-height', + + 'overflow', + 'overflow-x', + 'overflow-y', + + // (Padding after dimensions because of `box-sizing: border-box`) + 'padding', + 'padding-top', + 'padding-right', + 'padding-bottom', + 'padding-left', + + // Special content types: lists, tables + 'list-style', + 'caption-side', + 'table-layout', + 'border-collapse', + 'border-spacing', + 'empty-cells', + + // Textual content + 'vertical-align', + 'text-align', + 'text-decoration', + 'text-indent', + 'text-overflow', + 'text-rendering', + 'text-shadow', + 'text-transform', + + 'line-height', + 'word-spacing', + 'letter-spacing', + 'white-space', + + 'color', + + 'font', + 'font-family', + 'font-size', + 'font-weight', + 'font-style', + 'font-smoothing', + + 'content', + 'quotes', + + // Transitions change previously defined properties + 'transition', + 'transition-property', + 'transition-duration', + 'transition-timing-function', + 'transition-delay' + ] +} diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100755 index 0000000..e69de29 diff --git a/docs/.pydio b/docs/.pydio new file mode 100644 index 0000000..3696130 --- /dev/null +++ b/docs/.pydio @@ -0,0 +1 @@ +bea3cae9-474d-415a-a5d3-98173ba38eac \ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100755 index 0000000..39e7bab --- /dev/null +++ b/docs/README.md @@ -0,0 +1,41 @@ + +## Strawberry Wallpaper 草莓壁纸 🍓 + +### 一款追求更好用的桌面壁纸APP + + + + +###### `Strawberry Wallpaper` 是一款针对macOS以及windows的一款精美壁纸应用。自动更新各大图库的高清壁纸,非常适合寻找各种美的图片的你。 + +##### 功能: + +- 目前支持pexels、500px、paper、unsplash、wallhaven、NASA每日一图、 themoviedb(类似豆瓣) +- 同时支持macOS与windows +- 支持壁纸预览,通过缩略图就可预览众多壁纸,同时对壁纸的尺寸做了明显的标记 +- 支持关键词搜索,想要什么样的图片一触即得 +- 支持定时自动设置壁纸 +- 支持方向、尺寸筛选, +- 支持设置壁纸平铺方式(mac系统) +- 支持网页模式,在浏览原生网页的时候也可以设置壁纸 +- 对设置过的壁纸存放到固定目录,方便随时查看 +- 长期更新、完全免费 + +##### 亮点: + +###### 简单而又不失优雅的UI设计(仿Pap.er) + + + +###### 支持不同图库的自由切换以及支持自动定时更新壁纸 + + + +###### 支持网页模式 +可在网页中对图库图片进行搜索、下载、设置为壁纸 + + + +##### [项目地址](https://github.com/aitexiaoy/Strawberry-Wallpaper) +##### [Windows下载](http://sw.taoacat.com/Strawberry%20Wallpaper-win.exe) +##### [Mac下载](http://sw.taoacat.com/Strawberry%20Wallpaper-mac.dmg) \ No newline at end of file diff --git a/docs/_coverpage.md b/docs/_coverpage.md new file mode 100755 index 0000000..02232cb --- /dev/null +++ b/docs/_coverpage.md @@ -0,0 +1,10 @@ +# Strawberry Wallpaper + +> 一款非常好用的桌面壁纸APP + +[GitHub](https://github.com/aitexiaoy/Strawberry-Wallpaper) +[Get Started](#quick-start) + +![](./img/bk.png) + +![color](#f0f0f0) \ No newline at end of file diff --git a/docs/_sidebar.md b/docs/_sidebar.md new file mode 100755 index 0000000..5058002 --- /dev/null +++ b/docs/_sidebar.md @@ -0,0 +1,8 @@ +* 开发笔记 + * [如何利用Node进行图片的抓取](zh-cn/reptile.md) + * [将图片保存到本地](zh-cn/save-image.md) + * [如何设置壁纸](zh-cn/set-wallpaper.md) + * [项目搭建](zh-cn/start.md) + * [主窗口定位-tarbar](zh-cn/tarbar.md) + * [如何进行远程升级](zh-cn/updata.md) + * [遇到的问题](zh-cn/problem.md) \ No newline at end of file diff --git a/docs/img/.pydio b/docs/img/.pydio new file mode 100644 index 0000000..6b59cfb --- /dev/null +++ b/docs/img/.pydio @@ -0,0 +1 @@ +6ab41161-5a2a-45ad-b5a8-89b0c8421b13 \ No newline at end of file diff --git a/docs/img/bk.png b/docs/img/bk.png new file mode 100755 index 0000000..5fc8a3b Binary files /dev/null and b/docs/img/bk.png differ diff --git a/docs/img/bk1.png b/docs/img/bk1.png new file mode 100755 index 0000000..7e9373d Binary files /dev/null and b/docs/img/bk1.png differ diff --git a/docs/img/bk2.png b/docs/img/bk2.png new file mode 100755 index 0000000..c2504a7 Binary files /dev/null and b/docs/img/bk2.png differ diff --git a/docs/img/logo.png b/docs/img/logo.png new file mode 100755 index 0000000..57e93cd Binary files /dev/null and b/docs/img/logo.png differ diff --git a/docs/img/stwallpaper-1.png b/docs/img/stwallpaper-1.png new file mode 100755 index 0000000..2c3e392 Binary files /dev/null and b/docs/img/stwallpaper-1.png differ diff --git a/docs/img/stwallpaper-2.png b/docs/img/stwallpaper-2.png new file mode 100755 index 0000000..c2504a7 Binary files /dev/null and b/docs/img/stwallpaper-2.png differ diff --git a/docs/img/stwallpaper-3.png b/docs/img/stwallpaper-3.png new file mode 100755 index 0000000..1c6a4b0 Binary files /dev/null and b/docs/img/stwallpaper-3.png differ diff --git a/docs/img/stwallpaper-4.png b/docs/img/stwallpaper-4.png new file mode 100755 index 0000000..766236d Binary files /dev/null and b/docs/img/stwallpaper-4.png differ diff --git a/docs/img/stwallpaper-5.png b/docs/img/stwallpaper-5.png new file mode 100755 index 0000000..8161203 Binary files /dev/null and b/docs/img/stwallpaper-5.png differ diff --git a/docs/img/stwallpaper-6.png b/docs/img/stwallpaper-6.png new file mode 100755 index 0000000..eb9f95b Binary files /dev/null and b/docs/img/stwallpaper-6.png differ diff --git a/docs/index.html b/docs/index.html new file mode 100755 index 0000000..c2c065c --- /dev/null +++ b/docs/index.html @@ -0,0 +1,213 @@ + + + + + + strawberrywallpaper - a wallpaper app by electron + + + + + + + + + + + + + + + + + + + +
loading...
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/zh-cn/.pydio b/docs/zh-cn/.pydio new file mode 100644 index 0000000..ea21819 --- /dev/null +++ b/docs/zh-cn/.pydio @@ -0,0 +1 @@ +d51c4cfd-204c-4d1f-b63f-975d8241cdaa \ No newline at end of file diff --git a/docs/zh-cn/problem.md b/docs/zh-cn/problem.md new file mode 100755 index 0000000..7ab88ab --- /dev/null +++ b/docs/zh-cn/problem.md @@ -0,0 +1,30 @@ +### 软件在window下会存在重复运行的问题 +即双击打开软件,在windows下会创建一个新的运行程序。 + +#### 解决方法 +```js +// 创建程序锁,保证只能打开单个实例 +if (isWin()) { + const gotTheLock = app.requestSingleInstanceLock() + if (!gotTheLock) { + app.quit() + } else { + app.on('second-instance', (event, commandLine, workingDirectory) => { + if (mainWindow) { + if (!mainWindow.isVisible()) { + mainWindowShow() + } + mainWindow.focus() + } + }) + } + } +``` + +### win.setPosition方法报错 +##### 原因:setPosition方法中的参数不支持浮点数,只支持整数 + +### 远程升级相关问题 +#### 1.远程升级只能在build后生效 +#### 2.mac端远程升级需要development ID 到官网申请 +#### 3.安装最新的electron-update后,运行提示缺少`whenReady()`方法,那是因为`electron-vue`的`electron`版本为2.7的而`whenReady()`为electron3.0.0更新的。解决办法就是升级electron diff --git a/docs/zh-cn/reptile.md b/docs/zh-cn/reptile.md new file mode 100755 index 0000000..09b1a64 --- /dev/null +++ b/docs/zh-cn/reptile.md @@ -0,0 +1,8 @@ +### 分析网页接口 +> 在此处拿https://www.pexels.com 的图库进行分析 + +pexels为一个面版权的图库网站, + +### 模拟请求 + +### 处理DOM \ No newline at end of file diff --git a/docs/zh-cn/save-image.md b/docs/zh-cn/save-image.md new file mode 100755 index 0000000..a3345dd --- /dev/null +++ b/docs/zh-cn/save-image.md @@ -0,0 +1,94 @@ +#### 文件代码在 src/file.js + +起初采用axios进行图片的下载,但是axios在服务端不支持进度条,最后又换成了request请求。 + +```js +export const downloadPic = async function (src, mainWindow) { + // 返回一个Promise方便处理 + return new Promise((resolve, reject) => { + // 先检测目录,没有相关目录的话会自动创建新的目录 + mkdirSync(hostdir) + // 自动重命名 + let dstpath = `${hostdir}/${(new Date()).getTime()}_${(new Date()).getMilliseconds()}` + // webp格式的图片标志,500px下载的图片为webp格式的 + let isWebp = false + // 判断图片格式 + if (src.match('webp=true')) { + dstpath += '.webp' + isWebp = true + } else { + dstpath += '.jpg' + isWebp = false + } + + // 已经接受的文件的大小 + let receivedBytes = 0 + // 文件总的字大小 + let totalBytes = 0 + + // 创建一个文件流 + const writeStream = fs.createWriteStream(dstpath, { + autoClose: true + }) + // 创建一个请求 + myRequest = request({ + url: src, + headers: browserHeader, + }) + myRequest.pipe(writeStream) + myRequest.on('response', (data) => { + // 更新总文件字节大小 + totalBytes = parseInt(data.headers['content-length'], 10) + }) + myRequest.on('data', (chunk) => { + // 更新下载的文件块字节大小 + receivedBytes += chunk.length + // 更新进度条 + mainWindow.webContents.send('datainfo', { + type: 'updaterProgress', + data: parseFloat(((receivedBytes / totalBytes) * 100)) + }) + }) + + myRequest.on('finish', () => { + myRequest = null + }) + myRequest.on('error', () => { + reject() + }) + writeStream.on('finish', () => { + writeStream.end() + myRequest = null + if (receivedBytes === totalBytes){ + if (isWebp) { + // 将webp图片转成jpg图片 + webp.dwebp(dstpath, dstpath.replace('webp', 'jpg'), '-o', (status) => { + // status 101->fails || 100->successful + if (status === '100'){ + fs.unlink(dstpath, (err) => { + if (err) throw err + // console.log('文件已删除') + }) + resolve(dstpath.replace('webp', 'jpg')) + } else { + reject() + } + }) + } else { + resolve(dstpath) + } + } else { + fs.unlink(dstpath, (err) => { + if (err) throw err + }) + // 更新进度条 + mainWindow.webContents.send('datainfo', { + type: 'updaterProgress', + data: 0 + }) + reject() + } + }) + }) +} +``` \ No newline at end of file diff --git a/docs/zh-cn/set-wallpaper.md b/docs/zh-cn/set-wallpaper.md new file mode 100755 index 0000000..5217aad --- /dev/null +++ b/docs/zh-cn/set-wallpaper.md @@ -0,0 +1 @@ +不支持 \ No newline at end of file diff --git a/docs/zh-cn/start.md b/docs/zh-cn/start.md new file mode 100755 index 0000000..a096a97 --- /dev/null +++ b/docs/zh-cn/start.md @@ -0,0 +1 @@ +xiangmudajian \ No newline at end of file diff --git a/docs/zh-cn/tarbar.md b/docs/zh-cn/tarbar.md new file mode 100755 index 0000000..9a56378 --- /dev/null +++ b/docs/zh-cn/tarbar.md @@ -0,0 +1,79 @@ +#### 定位 +```js + appTray.on('click', (event, bounds, position) => { + // mainWindow === null ? createWindow() : mainWindow.close() + // return + // 点击时显示窗口,并修改窗口的显示位置 + function setMainWinPosition(win, trayBounds) { + try { + const { screen } = electron + const winWidth = mainWindow.getSize()[0] + const winHeight = mainWindow.getSize()[1] + const cursorPosition = screen.getCursorScreenPoint() + const currentScreen = screen.getDisplayNearestPoint(cursorPosition) + const screens = screen.getAllDisplays() + + let screenWidth = 0 + + // 这目前判断多屏都是横着拼的多屏, + for (let i = 0; i < screens.length; i++) { + screenWidth += screens[i].workAreaSize.width + } + + cursorPosition.x = trayBounds.x + trayBounds.width / 2 + + const parallelType = cursorPosition.x < screenWidth / 2 ? 'left' : 'right' + const verticaType = cursorPosition.y < currentScreen.workAreaSize.height / 2 ? 'top' : 'bottom' + + let trayPositionType = '' // 任务栏的位置 + let trayPositionSize = 0 + + if (currentScreen.workAreaSize.height < currentScreen.size.height) { + trayPositionType = verticaType === 'top' ? 'top' : 'bottom' + trayPositionSize = currentScreen.size.height - currentScreen.workAreaSize.height + } else if (currentScreen.workAreaSize.width < currentScreen.size.width) { + trayPositionType = parallelType === 'left' ? 'left' : 'right' + trayPositionSize = currentScreen.size.width - currentScreen.workAreaSize.width + } + + let winPositionX = 1 + let winPositionY = 1 + + if (trayPositionType === 'top') { + winPositionX = Math.max(Math.min(screenWidth - winWidth, cursorPosition.x - (winWidth / 2)), 1) + winPositionY = trayBounds.height + 2 + } else if (trayPositionType === 'bottom') { + winPositionX = Math.max(Math.min(screenWidth - winWidth, cursorPosition.x - (winWidth / 2)), 1) + winPositionY = currentScreen.size.height - trayPositionSize - winHeight + } else if (trayPositionType === 'left') { + winPositionX = trayPositionSize + winPositionY = Math.max(Math.min(currentScreen.size.height - winHeight, cursorPosition.y - (winHeight / 2)), 1) + } else if (trayPositionType === 'right') { + winPositionX = screenWidth - trayPositionSize - winWidth + winPositionY = Math.max(Math.min(currentScreen.size.height - winHeight, cursorPosition.y - (winHeight / 2)), 1) + } + win.setPosition(parseInt(winPositionX, 10), winPositionY) + } catch (error) { + log.error(error) + } + } + try { + if (mainWindow.isVisible()) { + mainWindow.webContents.send('datainfo', { + type: 'windowShow', + data: false + }) + mainWindowHide() + } else { + mainWindow.webContents.send('datainfo', { + type: 'windowShow', + data: true + }) + mainWindowShow() + setMainWinPosition(mainWindow, bounds) + } + } catch (error) { + log.error(error) + } + }) +``` \ No newline at end of file diff --git a/docs/zh-cn/updata.md b/docs/zh-cn/updata.md new file mode 100755 index 0000000..5de6b5e --- /dev/null +++ b/docs/zh-cn/updata.md @@ -0,0 +1,3 @@ +### 远程升级 + +采用`electron-updater`模块 \ No newline at end of file diff --git a/icons/.pydio b/icons/.pydio new file mode 100644 index 0000000..9597c2a --- /dev/null +++ b/icons/.pydio @@ -0,0 +1 @@ +20ff6b22-6de6-486e-829b-9760a83e63dd \ No newline at end of file diff --git a/icons/icon_128x128.png b/icons/icon_128x128.png new file mode 100755 index 0000000..1e9a938 Binary files /dev/null and b/icons/icon_128x128.png differ diff --git a/icons/icon_128x128@2x.png b/icons/icon_128x128@2x.png new file mode 100755 index 0000000..44dd9e5 Binary files /dev/null and b/icons/icon_128x128@2x.png differ diff --git a/icons/icon_16x16.png b/icons/icon_16x16.png new file mode 100755 index 0000000..3dd0a3a Binary files /dev/null and b/icons/icon_16x16.png differ diff --git a/icons/icon_16x16@2x.png b/icons/icon_16x16@2x.png new file mode 100755 index 0000000..5a5ef74 Binary files /dev/null and b/icons/icon_16x16@2x.png differ diff --git a/icons/icon_256x256.png b/icons/icon_256x256.png new file mode 100755 index 0000000..44dd9e5 Binary files /dev/null and b/icons/icon_256x256.png differ diff --git a/icons/icon_256x256@2x.png b/icons/icon_256x256@2x.png new file mode 100755 index 0000000..7c33009 Binary files /dev/null and b/icons/icon_256x256@2x.png differ diff --git a/icons/icon_32x32.png b/icons/icon_32x32.png new file mode 100755 index 0000000..5a5ef74 Binary files /dev/null and b/icons/icon_32x32.png differ diff --git a/icons/icon_512x512.png b/icons/icon_512x512.png new file mode 100755 index 0000000..7c33009 Binary files /dev/null and b/icons/icon_512x512.png differ diff --git a/icons/icon_512x512@2x.png b/icons/icon_512x512@2x.png new file mode 100755 index 0000000..3bc0709 Binary files /dev/null and b/icons/icon_512x512@2x.png differ diff --git a/package-lock.json b/package-lock.json new file mode 100755 index 0000000..7a08a32 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,13237 @@ +{ + "name": "strawberrywallpaper", + "version": "v1.4.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "7zip": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/7zip/download/7zip-0.0.6.tgz", + "integrity": "sha1-nK+xca+CMpSQNTtIFvAzR6oVCjA=", + "dev": true + }, + "7zip-bin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.0.3.tgz", + "integrity": "sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==", + "dev": true + }, + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz", + "integrity": "sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4=", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.4", + "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.8.4.tgz", + "integrity": "sha1-NbvHRIaVb+QlGCn59sSDMOjQmF4=", + "dev": true, + "requires": { + "@babel/types": "^7.8.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.8.3.tgz", + "integrity": "sha1-7utmWgGx8RBo6fuGrVahyxqCTMo=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.8.3.tgz?cache=0&sync_timestamp=1578952186401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.8.3.tgz", + "integrity": "sha1-uJS5R70AQ4HOY+odufCFR+kgq9U=", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.8.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.8.3.tgz", + "integrity": "sha1-ManzAHD5E2inGCzwX4MXgQZfx6k=", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.8.3.tgz", + "integrity": "sha1-KPFz0EIj6qpZvB1Dmjg25tEmV5c=", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/node": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.10.1.tgz", + "integrity": "sha512-HoLxelFIekiipykhN0d3cTSLZVxnl0aZiwv6oW4mxjeQEMOt1J/YGnBaIDyYWQ5tIHkUL1cqqn8LOvmWhFoCyw==", + "dev": true, + "requires": { + "@babel/register": "^7.10.1", + "commander": "^4.0.1", + "core-js": "^3.2.1", + "lodash": "^4.17.13", + "node-environment-flags": "^1.0.5", + "regenerator-runtime": "^0.13.4", + "resolve": "^1.13.1", + "v8flags": "^3.1.1" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + } + } + }, + "@babel/parser": { + "version": "7.8.4", + "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.8.4.tgz?cache=0&sync_timestamp=1580387974017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.8.4.tgz", + "integrity": "sha1-0dvmRpHWA1ipdClfpT2gdN0s6Og=", + "dev": true + }, + "@babel/register": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.10.1.tgz", + "integrity": "sha512-sl96+kB3IA2B9EzpwwBmYadOT14vw3KaXOknGDbJaZCOj52GDA4Tivudq9doCJcB+bEIKCEARZYwRgBBsCGXyg==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.13", + "make-dir": "^2.1.0", + "pirates": "^4.0.0", + "source-map-support": "^0.5.16" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.8.3.tgz", + "integrity": "sha1-4CrQT+JipleAkyf1eAVsoV/U0bg=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/traverse": { + "version": "7.8.4", + "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.8.4.tgz?cache=0&sync_timestamp=1580387975267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.8.4.tgz", + "integrity": "sha1-8IRYIjZfnVsOMS7TlZ0/gn+Gnjw=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.4", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.4", + "@babel/types": "^7.8.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.8.3.tgz", + "integrity": "sha1-Wjg9/6VBbbG3Pe3/0xH/0HiPsxw=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@develar/schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + } + } + }, + "@electron/get": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz", + "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^2.0.2", + "global-tunnel-ng": "^2.7.1", + "got": "^9.6.0", + "progress": "^2.0.3", + "sanitize-filename": "^1.6.2", + "sumchecker": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "env-paths": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "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 + } + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz?cache=0&sync_timestamp=1580841712213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcolor-name%2Fdownload%2F%40types%2Fcolor-name-1.1.1.tgz", + "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=", + "dev": true + }, + "@types/debug": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", + "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==", + "dev": true + }, + "@types/fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "13.7.0", + "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-13.7.0.tgz?cache=0&sync_timestamp=1580842699956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-13.7.0.tgz", + "integrity": "sha1-tBfe2hjPhADyeHM0ma1VR+0avsQ=" + }, + "@types/semver": { + "version": "6.2.1", + "resolved": "https://registry.npm.taobao.org/@types/semver/download/@types/semver-6.2.1.tgz", + "integrity": "sha1-ojYYVnCnhg8Vl89zvqLhbQAUYbo=" + }, + "@types/yargs": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", + "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "@vue/component-compiler-utils": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcomponent-compiler-utils%2Fdownload%2F%40vue%2Fcomponent-compiler-utils-3.1.1.tgz", + "integrity": "sha1-1O+PgCkmdARK1iEeM2owLk0qZXU=", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.14", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz", + "integrity": "sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k=", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.8.5.tgz", + "integrity": "sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE=", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.8.5.tgz", + "integrity": "sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc=", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.8.5.tgz", + "integrity": "sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ=", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz?cache=0&sync_timestamp=1580600760540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.8.5.tgz", + "integrity": "sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4=", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz?cache=0&sync_timestamp=1580599471846&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.8.5.tgz", + "integrity": "sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI=", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz", + "integrity": "sha1-3vS5knsBAdyMu9jR7bW3ucguskU=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz?cache=0&sync_timestamp=1580600708901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha1-U3p1Dt31weky83RCBlUckcG5PmE=", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz", + "integrity": "sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.8.5.tgz", + "integrity": "sha1-cSMp2+8kDza/V70ve4+5v0FUQh4=", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz", + "integrity": "sha1-BE7es06mefPgTNT9mCTV41dnrhA=", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.8.5.tgz", + "integrity": "sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw=", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz", + "integrity": "sha1-li2hKqWswcExyBxCMpkcgs5W4Bo=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz", + "integrity": "sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz", + "integrity": "sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz", + "integrity": "sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz", + "integrity": "sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz", + "integrity": "sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", + "dev": true + }, + "abab": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/abab/download/abab-2.0.3.tgz?cache=0&sync_timestamp=1573609091746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fabab%2Fdownload%2Fabab-2.0.3.tgz", + "integrity": "sha1-Yj4gdeAustPyR15J+ZyRhGRnkHo=" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "accessibility-developer-tools": { + "version": "2.12.0", + "resolved": "https://registry.npm.taobao.org/accessibility-developer-tools/download/accessibility-developer-tools-2.12.0.tgz", + "integrity": "sha1-PaDM6dbsY3OWS4TzXbfPw996tRQ=", + "dev": true + }, + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-4.3.4.tgz", + "integrity": "sha1-n6GSat3BHJcwjE5m163Q1Awycuc=", + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "acorn-jsx": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.1.0.tgz", + "integrity": "sha1-KUrbcbVzmLBoABXwo4xWPuHbU4Q=", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-6.2.0.tgz", + "integrity": "sha1-Ejy487hMIXHx9/slJhWxx4prGow=" + }, + "ajv": { + "version": "6.11.0", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.11.0.tgz", + "integrity": "sha1-w2B8vIrjktilpTbyWyH45fP4f+k=", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz", + "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz", + "integrity": "sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "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": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz", + "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1577903718856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "app-builder-bin": { + "version": "3.5.9", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.9.tgz", + "integrity": "sha512-NSjtqZ3x2kYiDp3Qezsgukx/AUzKPr3Xgf9by4cYt05ILWGAptepeeu0Uv+7MO+41o6ujhLixTou8979JGg2Kg==", + "dev": true + }, + "app-builder-lib": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.7.0.tgz", + "integrity": "sha512-blRKwV8h0ztualXS50ciCTo39tbuDGNS+ldcy8+KLvKXuT6OpYnSJ7M6MSfPT+xWatshMHJV1rJx3Tl+k/Sn/g==", + "dev": true, + "requires": { + "7zip-bin": "~5.0.3", + "@develar/schema-utils": "~2.6.5", + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.9", + "builder-util": "22.7.0", + "builder-util-runtime": "8.7.1", + "chromium-pickle-js": "^0.2.0", + "debug": "^4.2.0", + "ejs": "^3.1.3", + "electron-publish": "22.7.0", + "fs-extra": "^9.0.0", + "hosted-git-info": "^3.0.4", + "is-ci": "^2.0.0", + "isbinaryfile": "^4.0.6", + "js-yaml": "^3.14.0", + "lazy-val": "^1.0.4", + "minimatch": "^3.0.4", + "normalize-package-data": "^2.5.0", + "read-config-file": "6.0.0", + "sanitize-filename": "^1.6.3", + "semver": "^7.3.2", + "temp-file": "^3.3.7" + }, + "dependencies": { + "builder-util-runtime": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", + "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", + "dev": true, + "requires": { + "debug": "^4.2.0", + "sax": "^1.2.4" + } + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", + "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", + "dev": true, + "requires": { + "lru-cache": "^5.1.1" + } + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "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 + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "applescript": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/applescript/download/applescript-1.0.0.tgz", + "integrity": "sha1-u4evVoytA0pOSMS9r2Bno6JwExc=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "array-find": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/array-find/download/array-find-1.0.0.tgz", + "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", + "dev": true + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.1.tgz", + "integrity": "sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/array.prototype.flat/download/array.prototype.flat-1.2.3.tgz?cache=0&sync_timestamp=1576170357219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray.prototype.flat%2Fdownload%2Farray.prototype.flat-1.2.3.tgz", + "integrity": "sha1-DegrQmsDGNv9uUAInjiwQ9N/bHs=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", + "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz", + "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz", + "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1562337713422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npm.taobao.org/ast-types/download/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz", + "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=", + "dev": true + }, + "async": { + "version": "0.2.10", + "resolved": "https://registry.npm.taobao.org/async/download/async-0.2.10.tgz?cache=0&sync_timestamp=1579910314292&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync%2Fdownload%2Fasync-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", + "dev": true + }, + "async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-limiter%2Fdownload%2Fasync-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=" + }, + "async-validator": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz?cache=0&sync_timestamp=1575620555389&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-validator%2Fdownload%2Fasync-validator-1.8.5.tgz", + "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=", + "requires": { + "babel-runtime": "6.x" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", + "dev": true + }, + "auto-launch": { + "version": "5.0.5", + "resolved": "https://registry.npm.taobao.org/auto-launch/download/auto-launch-5.0.5.tgz", + "integrity": "sha1-0UvQArHvZC+F6ZGmGV/1MAyK08A=", + "requires": { + "applescript": "^1.0.0", + "mkdirp": "^0.5.1", + "path-is-absolute": "^1.0.0", + "untildify": "^3.0.2", + "winreg": "1.2.4" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.9.1.tgz", + "integrity": "sha1-fjPY99RJs/ZzzXLeuavcVS2+Uo4=" + }, + "axios": { + "version": "0.18.1", + "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.18.1.tgz", + "integrity": "sha1-/z8N4ue10YDnV62YAA8Qgbh7zqM=", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + } + }, + "babel-eslint": { + "version": "10.0.3", + "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.0.3.tgz", + "integrity": "sha1-gaLGab4PIF4ZRi/tJILTPkaHqIo=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY=" + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz", + "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", + "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbluebird%2Fdownload%2Fbluebird-3.7.2.tgz", + "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", + "dev": true + }, + "bluebird-lst": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", + "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5" + } + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz", + "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "boolean": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz", + "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==", + "dev": true + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/browser-process-hrtime/download/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha1-YW8A+u8d9+wbW/nP4r3DFw8mx7Q=" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", + "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", + "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", + "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz", + "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builder-util": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.7.0.tgz", + "integrity": "sha512-UV3MKL0mwjMq2y9JlBf28Cegpj0CrIXcjGkO0TXn+QZ6Yy9rY6lHOuUvpQ19ct2Qh1o+QSwH3Q1nKUf5viJBBg==", + "dev": true, + "requires": { + "7zip-bin": "~5.0.3", + "@types/debug": "^4.1.5", + "@types/fs-extra": "^9.0.1", + "app-builder-bin": "3.5.9", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "8.7.1", + "chalk": "^4.0.0", + "debug": "^4.2.0", + "fs-extra": "^9.0.0", + "is-ci": "^2.0.0", + "js-yaml": "^3.14.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.3.7" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "builder-util-runtime": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", + "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", + "dev": true, + "requires": { + "debug": "^4.2.0", + "sax": "^1.2.4" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.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 + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + } + } + }, + "builder-util-runtime": { + "version": "8.4.0", + "resolved": "https://registry.npm.taobao.org/builder-util-runtime/download/builder-util-runtime-8.4.0.tgz?cache=0&sync_timestamp=1579547466021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuilder-util-runtime%2Fdownload%2Fbuilder-util-runtime-8.4.0.tgz", + "integrity": "sha1-MWP//AeOa4891bbrEqg0VXNZBoI=", + "requires": { + "debug": "^4.1.1", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" + } + } + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-10.0.4.tgz", + "integrity": "sha1-ZFI2eZnv+dQYiu/ZoU6dfGomNGA=", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1576721717499&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "cfonts": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/cfonts/download/cfonts-2.5.2.tgz", + "integrity": "sha1-Q3lx6pcCRVyHI1j3jLqQhZn+Z8c=", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "window-size": "^1.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz?cache=0&sync_timestamp=1577903718856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.2.1.tgz", + "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-3.0.0.tgz", + "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz", + "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "change-case": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/change-case/download/change-case-3.0.2.tgz", + "integrity": "sha1-/Uh0bM4C8D8KZyV30dOo3C7OsDc=", + "dev": true, + "requires": { + "camel-case": "^3.0.0", + "constant-case": "^2.0.0", + "dot-case": "^2.1.0", + "header-case": "^1.0.0", + "is-lower-case": "^1.1.0", + "is-upper-case": "^1.1.0", + "lower-case": "^1.1.1", + "lower-case-first": "^1.0.0", + "no-case": "^2.3.2", + "param-case": "^2.1.0", + "pascal-case": "^2.0.0", + "path-case": "^2.1.0", + "sentence-case": "^2.1.0", + "snake-case": "^2.1.0", + "swap-case": "^1.1.0", + "title-case": "^2.1.0", + "upper-case": "^1.1.1", + "upper-case-first": "^1.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1562887878067&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz", + "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npm.taobao.org/cheerio/download/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha1-CUY21CWy6cD065GkbAVjDJoai/Y=", + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.3.tgz", + "integrity": "sha1-Qtg31SOWiNVfMDADpQgjD6ZycUI=", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz", + "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz", + "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "cli-boxes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", + "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz", + "integrity": "sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "coalescy": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/coalescy/download/coalescy-1.0.0.tgz", + "integrity": "sha1-SwZYRrg2NhrabEtKSr9LwcrDG/E=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", + "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1580710587667&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", + "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "conf": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/conf/download/conf-2.2.0.tgz", + "integrity": "sha1-7igu+vwUULYeIFNyBBrX2GaALZo=", + "requires": { + "dot-prop": "^4.1.0", + "env-paths": "^1.0.0", + "make-dir": "^1.0.0", + "pkg-up": "^2.0.0", + "write-file-atomic": "^2.3.0" + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "optional": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "confusing-browser-globals": { + "version": "1.0.9", + "resolved": "https://registry.npm.taobao.org/confusing-browser-globals/download/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha1-crwTtIPAJ2gBaBhx1ImFFvj1T90=", + "dev": true + }, + "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==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz?cache=0&sync_timestamp=1572252287978&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsole-browserify%2Fdownload%2Fconsole-browserify-1.2.0.tgz", + "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz", + "integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constant-case": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/constant-case/download/constant-case-2.0.0.tgz", + "integrity": "sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=", + "dev": true, + "requires": { + "snake-case": "^2.1.0", + "upper-case": "^1.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "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" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", + "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha1-5/QN2KaEd9QF3Rt6hUquMksVi64=", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + } + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&sync_timestamp=1578957006406&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz", + "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz", + "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", + "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", + "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/cross-env/download/cross-env-5.2.1.tgz", + "integrity": "sha1-ssdsHKet1m3IdNEXmEZglPVRs00=", + "dev": true, + "requires": { + "cross-spawn": "^6.0.5" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://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.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1580434257623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "cross-unzip": { + "version": "0.0.2", + "resolved": "https://registry.npm.taobao.org/cross-unzip/download/cross-unzip-0.0.2.tgz", + "integrity": "sha1-UYO8R6CVWb78+YzEZXlkmZNZNy8=", + "dev": true + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "css-loader": { + "version": "3.4.2", + "resolved": "https://registry.npm.taobao.org/css-loader/download/css-loader-3.4.2.tgz?cache=0&sync_timestamp=1578676189563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-3.4.2.tgz", + "integrity": "sha1-0/2zNYtD8jO3hQHF7XscbaYTMgI=", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.23", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.1.1", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.0.2", + "schema-utils": "^2.6.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.6.4", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.6.4.tgz", + "integrity": "sha1-on779uTnhonZGHLuPM+lfXvdD1M=", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz", + "integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", + "dev": true + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz", + "integrity": "sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=" + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/cssstyle/download/cssstyle-1.4.0.tgz?cache=0&sync_timestamp=1579795217326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssstyle%2Fdownload%2Fcssstyle-1.4.0.tgz", + "integrity": "sha1-nTEyginTxWXGHlhrAgQaKPzNzPE=", + "requires": { + "cssom": "0.3.x" + } + }, + "custom-electron-titlebar": { + "version": "3.2.2-hotfix62", + "resolved": "https://registry.npm.taobao.org/custom-electron-titlebar/download/custom-electron-titlebar-3.2.2-hotfix62.tgz", + "integrity": "sha1-lLkI8PK/gS5PZUR6Jrk7iPenYIg=" + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/data-urls/download/data-urls-1.1.0.tgz", + "integrity": "sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4=", + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz", + "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=" + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + } + } + }, + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/del/download/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz", + "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/detect-file/download/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz", + "integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=", + "dev": true + }, + "devtron": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/devtron/download/devtron-1.4.0.tgz", + "integrity": "sha1-tedIvW6Vu+cL/MaKrm/mlhGUQeE=", + "dev": true, + "requires": { + "accessibility-developer-tools": "^2.11.0", + "highlight.js": "^9.3.0", + "humanize-plus": "^1.8.1" + } + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", + "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", + "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dmg-builder": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.7.0.tgz", + "integrity": "sha512-5Ea2YEz6zSNbyGzZD+O9/MzmaXb6oa15cSKWo4JQ1xP4rorOpte7IOj2jcwYjtc+Los2gu1lvT314OC1OZIWgg==", + "dev": true, + "requires": { + "app-builder-lib": "22.7.0", + "builder-util": "22.7.0", + "fs-extra": "^9.0.0", + "iconv-lite": "^0.5.1", + "js-yaml": "^3.14.0", + "sanitize-filename": "^1.6.3" + }, + "dependencies": { + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "iconv-lite": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz", + "integrity": "sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + } + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz", + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", + "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.1.1.tgz", + "integrity": "sha1-HsQFnihLq+027sKUHUqXChic58A=", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=" + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/domexception/download/domexception-1.0.1.tgz", + "integrity": "sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA=", + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz", + "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/dot-case/download/dot-case-2.1.1.tgz", + "integrity": "sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-4.2.0.tgz", + "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=", + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "drop-console-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/drop-console-webpack-plugin/download/drop-console-webpack-plugin-3.0.2.tgz", + "integrity": "sha1-CHlQSnK8jz74HvskthNUWMvbc+w=", + "dev": true, + "requires": { + "webpack-sources": "^1.1.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz", + "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.3.tgz", + "integrity": "sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg==", + "dev": true, + "requires": { + "jake": "^10.6.1" + } + }, + "electron": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.4.tgz", + "integrity": "sha512-QzkeZNAiNB7KxcdoQKSoaiVT/GQdB4Vt0/ZZOuU8tIKABAsni2I7ztiAbUzxcsnQsqEBSfChuPuDQ5A4VbbzPg==", + "dev": true, + "requires": { + "@electron/get": "^1.0.1", + "@types/node": "^12.0.12", + "extract-zip": "^1.0.3" + }, + "dependencies": { + "@types/node": { + "version": "12.12.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.47.tgz", + "integrity": "sha512-yzBInQFhdY8kaZmqoL2+3U5dSTMrKaYcb561VU+lDzAYvqt+2lojvBEy+hmpSNuXnPTx7m9+04CzWYOUqWME2A==", + "dev": true + } + } + }, + "electron-builder": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.7.0.tgz", + "integrity": "sha512-t6E3oMutpST64YWbZCg7HodEwJOsnjUF1vnDIHm2MW6CFZPX8tlCK6efqaV66LU0E0Nkp/JH6TE5bCqQ1+VdPQ==", + "dev": true, + "requires": { + "@types/yargs": "^15.0.5", + "app-builder-lib": "22.7.0", + "bluebird-lst": "^1.0.9", + "builder-util": "22.7.0", + "builder-util-runtime": "8.7.1", + "chalk": "^4.0.0", + "dmg-builder": "22.7.0", + "fs-extra": "^9.0.0", + "is-ci": "^2.0.0", + "lazy-val": "^1.0.4", + "read-config-file": "6.0.0", + "sanitize-filename": "^1.6.3", + "update-notifier": "^4.1.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "builder-util-runtime": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", + "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", + "dev": true, + "requires": { + "debug": "^4.2.0", + "sax": "^1.2.4" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.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 + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + } + } + }, + "electron-debug": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/electron-debug/download/electron-debug-2.2.0.tgz", + "integrity": "sha1-QIZyqvF0NoGCh0CcSKskUebnY5Q=", + "dev": true, + "requires": { + "electron-is-dev": "^0.3.0", + "electron-localshortcut": "^3.1.0" + } + }, + "electron-devtools-installer": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/electron-devtools-installer/download/electron-devtools-installer-2.2.4.tgz", + "integrity": "sha1-JhpQM343Eh0zi5ZvB5IutJOah2M=", + "dev": true, + "requires": { + "7zip": "0.0.6", + "cross-unzip": "0.0.2", + "rimraf": "^2.5.2", + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1580434257623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "electron-is-accelerator": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/electron-is-accelerator/download/electron-is-accelerator-0.1.2.tgz", + "integrity": "sha1-UJ5RDCala1Xhf4Y6SwThEYRqsns=", + "dev": true + }, + "electron-is-dev": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/electron-is-dev/download/electron-is-dev-0.3.0.tgz", + "integrity": "sha1-FOb9pcaOnk7L7/nM8DfL18BcWv4=", + "dev": true + }, + "electron-localshortcut": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/electron-localshortcut/download/electron-localshortcut-3.2.1.tgz", + "integrity": "sha1-z8g6Pv9eKPr5jdzIf4Cizk9iPNM=", + "dev": true, + "requires": { + "debug": "^4.0.1", + "electron-is-accelerator": "^0.1.0", + "keyboardevent-from-electron-accelerator": "^2.0.0", + "keyboardevents-areequal": "^0.2.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + } + } + }, + "electron-log": { + "version": "3.0.9", + "resolved": "https://registry.npm.taobao.org/electron-log/download/electron-log-3.0.9.tgz", + "integrity": "sha1-U/8fzbLz5Kc+pwltL3IEEhEJ7G8=" + }, + "electron-publish": { + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.7.0.tgz", + "integrity": "sha512-hmU69xlb6vvAV3QfpHYDlkdZMFdBAgDbptoxbLFrnTq5bOkcL8AaDbvxeoZ4+lvqgs29NwqGpkHo2oN+p/hCfg==", + "dev": true, + "requires": { + "@types/fs-extra": "^9.0.1", + "bluebird-lst": "^1.0.9", + "builder-util": "22.7.0", + "builder-util-runtime": "8.7.1", + "chalk": "^4.0.0", + "fs-extra": "^9.0.0", + "lazy-val": "^1.0.4", + "mime": "^2.4.5" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "builder-util-runtime": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", + "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", + "dev": true, + "requires": { + "debug": "^4.2.0", + "sax": "^1.2.4" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "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 + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + } + } + }, + "electron-store": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/electron-store/download/electron-store-2.0.0.tgz", + "integrity": "sha1-EDXMoqlUCdH1THRmYGNFhSRQ1ko=", + "requires": { + "conf": "^2.0.0" + } + }, + "electron-updater": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/electron-updater/download/electron-updater-4.2.0.tgz", + "integrity": "sha1-+ez8ZX9l6tc31Cue/s9ijTdWtVA=", + "requires": { + "@types/semver": "^6.0.2", + "builder-util-runtime": "8.4.0", + "fs-extra": "^8.1.0", + "js-yaml": "^3.13.1", + "lazy-val": "^1.0.4", + "lodash.isequal": "^4.5.0", + "pako": "^1.0.10", + "semver": "^6.3.0" + } + }, + "element-ui": { + "version": "2.13.0", + "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.13.0.tgz", + "integrity": "sha1-9rsE5bCnbqX2JGYES3dEB7pOvS0=", + "requires": { + "async-validator": "~1.8.1", + "babel-helper-vue-jsx-merge-props": "^2.0.0", + "deepmerge": "^1.2.0", + "normalize-wheel": "^1.0.1", + "resize-observer-polyfill": "^1.5.0", + "throttle-debounce": "^1.0.1" + } + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.2.tgz", + "integrity": "sha1-BcVnjXFzwEnYykM1UiJKSV0ON2I=", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "0.9.1", + "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-0.9.1.tgz", + "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=" + }, + "env-paths": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/env-paths/download/env-paths-1.0.0.tgz", + "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz", + "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.4", + "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.4.tgz?cache=0&sync_timestamp=1579624493239&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.4.tgz", + "integrity": "sha1-467fGXBrIOfCWUw1/A1XYFp54YQ=", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + } + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "optional": true + }, + "es6-templates": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/es6-templates/download/es6-templates-0.2.3.tgz", + "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", + "dev": true, + "requires": { + "recast": "~0.11.12", + "through": "~2.3.6" + } + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.13.0", + "resolved": "https://registry.npm.taobao.org/escodegen/download/escodegen-1.13.0.tgz", + "integrity": "sha1-x635vT88xnW7dS8gL3mnIBicqyk=", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "eslint": { + "version": "5.16.0", + "resolved": "https://registry.npm.taobao.org/eslint/download/eslint-5.16.0.tgz?cache=0&sync_timestamp=1579280174524&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-5.16.0.tgz", + "integrity": "sha1-oeOsGq5KP72Clvz496tzFMu2q+o=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1580434257623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "eslint-config-airbnb-base": { + "version": "13.2.0", + "resolved": "https://registry.npm.taobao.org/eslint-config-airbnb-base/download/eslint-config-airbnb-base-13.2.0.tgz", + "integrity": "sha1-9uqBRZ/03sLdogDDXx2PdBnVeUM=", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.5", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0" + } + }, + "eslint-friendly-formatter": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/eslint-friendly-formatter/download/eslint-friendly-formatter-4.0.1.tgz", + "integrity": "sha1-J9UE3IN/fK3b8gGy6EpO5zC6Pvo=", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "coalescy": "1.0.0", + "extend": "^3.0.0", + "minimist": "^1.2.0", + "strip-ansi": "^4.0.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "eslint-import-resolver-node": { + "version": "0.3.3", + "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.3.tgz", + "integrity": "sha1-26pStrKBa1C8ZxGvdUIt6AjphAQ=", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "eslint-import-resolver-webpack": { + "version": "0.11.1", + "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-webpack/download/eslint-import-resolver-webpack-0.11.1.tgz?cache=0&sync_timestamp=1578727609085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-import-resolver-webpack%2Fdownload%2Feslint-import-resolver-webpack-0.11.1.tgz", + "integrity": "sha1-/PH9V6d19R4Y9EKRX4Xda6RdLyY=", + "dev": true, + "requires": { + "array-find": "^1.0.0", + "debug": "^2.6.8", + "enhanced-resolve": "~0.9.0", + "find-root": "^1.1.0", + "has": "^1.0.1", + "interpret": "^1.0.0", + "lodash": "^4.17.4", + "node-libs-browser": "^1.0.0 || ^2.0.0", + "resolve": "^1.10.0", + "semver": "^5.3.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1580434257623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz", + "integrity": "sha1-KLnBLaVAV68IReKmEScBova/gzc=", + "dev": true, + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-module-utils": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.5.2.tgz", + "integrity": "sha1-eHj3UEgk4bhX3SUFtZqOXtompwg=", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "eslint-plugin-es": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-es/download/eslint-plugin-es-1.4.1.tgz", + "integrity": "sha1-EqyuD0lT52ukRL/RsicQgaxiCZg=", + "dev": true, + "requires": { + "eslint-utils": "^1.4.2", + "regexpp": "^2.0.1" + } + }, + "eslint-plugin-html": { + "version": "5.0.5", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-html/download/eslint-plugin-html-5.0.5.tgz", + "integrity": "sha1-4jiPgT91sih83ohIEeqyh96OD1Y=", + "dev": true, + "requires": { + "htmlparser2": "^3.10.0" + } + }, + "eslint-plugin-import": { + "version": "2.20.1", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.20.1.tgz", + "integrity": "sha1-gCQjGW3LEdnOhDWl/AKm07RpObM=", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.1", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "eslint-plugin-node": { + "version": "8.0.1", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-node/download/eslint-plugin-node-8.0.1.tgz", + "integrity": "sha1-Va41YAIoY9FB+noReZUyNApoWWQ=", + "dev": true, + "requires": { + "eslint-plugin-es": "^1.3.1", + "eslint-utils": "^1.3.1", + "ignore": "^5.0.2", + "minimatch": "^3.0.4", + "resolve": "^1.8.1", + "semver": "^5.5.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-5.1.4.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-5.1.4.tgz", + "integrity": "sha1-hLez2+ZFUrbvDsqZ9nQ9vsbZet8=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1580434257623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "eslint-plugin-promise": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-promise/download/eslint-plugin-promise-4.2.1.tgz", + "integrity": "sha1-hF/YsiYK2PglZMEiL85ErXHZQYo=", + "dev": true + }, + "eslint-plugin-vue": { + "version": "5.2.3", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-5.2.3.tgz", + "integrity": "sha1-PudZfYI7VHiASy/rqYY7G3QnOWE=", + "dev": true, + "requires": { + "vue-eslint-parser": "^5.0.0" + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz", + "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.3.tgz?cache=0&sync_timestamp=1577351142754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-utils%2Fdownload%2Feslint-utils-1.4.3.tgz", + "integrity": "sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz?cache=0&sync_timestamp=1565705523991&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.1.0.tgz", + "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=", + "dev": true + }, + "espree": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/espree/download/espree-5.0.1.tgz", + "integrity": "sha1-XWUm+k/H8HiKXPdbFfMDI+L4H3o=", + "dev": true, + "requires": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.0.1.tgz", + "integrity": "sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz", + "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1565734335990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/events/download/events-3.1.0.tgz?cache=0&sync_timestamp=1578498150700&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevents%2Fdownload%2Fevents-3.1.0.tgz", + "integrity": "sha1-hCea8bNMt1qoi/X/KR9tC9mzGlk=", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/exit-hook/download/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/expand-tilde/download/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "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", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "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", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz", + "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz", + "integrity": "sha1-VFFFB3xQFJHjOxXsQIwpQ3bpSuQ=" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/fastparse/download/fastparse-1.1.2.tgz", + "integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz?cache=0&sync_timestamp=1571715625804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz", + "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-1.1.11.tgz?cache=0&sync_timestamp=1574689320406&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-1.1.11.tgz", + "integrity": "sha1-b+iGRJsPKpNuQ8q6rAzb+zaVBvg=", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^0.4.5" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", + "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", + "dev": true, + "optional": true + }, + "filelist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", + "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "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", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/find-root/download/find-root-1.1.0.tgz", + "integrity": "sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/findup-sync/download/findup-sync-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffindup-sync%2Fdownload%2Ffindup-sync-3.0.0.tgz", + "integrity": "sha1-F7EI+e5RLft6XH88iyfqnhqcCNE=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz", + "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1580183403036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/flatted/download/flatted-2.0.1.tgz?cache=0&sync_timestamp=1561466276595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.1.tgz", + "integrity": "sha1-aeV8qo8OrLwoHS4stFjUb9tEngg=", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", + "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.10.tgz", + "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=", + "requires": { + "debug": "=3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz", + "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npm.taobao.org/fs/download/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.11", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.11.tgz", + "integrity": "sha1-Z79X9HWPAu3oj7KhcS/vTRU1i+M=", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "3.2.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.9.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.14.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.7.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.13", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.1.1", + "bundled": true, + "dev": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + }, + "dependencies": { + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "global-agent": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz", + "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "core-js": "^3.6.5", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "dependencies": { + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "dev": true, + "optional": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "optional": true + } + } + }, + "global-dirs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", + "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", + "dev": true, + "requires": { + "ini": "^1.3.5" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/global-modules/download/global-modules-2.0.0.tgz", + "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz", + "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/global-prefix/download/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "global-tunnel-ng": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", + "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", + "dev": true, + "optional": true, + "requires": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true + }, + "globalthis": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", + "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz", + "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM=" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz", + "integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz?cache=0&sync_timestamp=1573950719586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.1.tgz", + "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", + "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "dev": true + }, + "header-case": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/header-case/download/header-case-1.0.1.tgz", + "integrity": "sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.3" + } + }, + "highlight.js": { + "version": "9.18.1", + "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.18.1.tgz", + "integrity": "sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw=", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/homedir-polyfill/download/homedir-polyfill-1.0.3.tgz", + "integrity": "sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg=", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.5.tgz", + "integrity": "sha1-dZz88sTRVq3lmwst+r3cQqa5xww=", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "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.0" + } + } + } + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg=", + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", + "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + } + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", + "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", + "dev": true + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1564773692945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1572997318670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "http2-client": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/http2-client/download/http2-client-1.3.3.tgz", + "integrity": "sha1-kPwV1kbMqGlWsVbQfIOUfVfWWak=" + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "humanize-plus": { + "version": "1.8.2", + "resolved": "https://registry.npm.taobao.org/humanize-plus/download/humanize-plus-1.8.2.tgz", + "integrity": "sha1-pls0RZrWNnrbs3B6gqPJ+RYWcDA=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz", + "integrity": "sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz", + "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz", + "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz?cache=0&sync_timestamp=1569840751769&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimage-size%2Fdownload%2Fimage-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz", + "integrity": "sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY=", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", + "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.2.2.tgz", + "integrity": "sha1-YSebZ3IfUoeqHBOpp/u8SMkpGx4=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "dev": true + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.2.tgz?cache=0&sync_timestamp=1579939839625&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-6.5.2.tgz", + "integrity": "sha1-rVCUI3XQNtMn/1KMCL1fqwiZKMo=", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + } + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.2.0.tgz?cache=0&sync_timestamp=1571708742673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finterpret%2Fdownload%2Finterpret-1.2.0.tgz", + "integrity": "sha1-1QYaYiS+WOgIOYX1AU2EQ1lXYpY=", + "dev": true + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz", + "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz", + "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.1.5.tgz", + "integrity": "sha1-9+RrWWiQRW23Tn9ul2yzJz0G+qs=", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz?cache=0&sync_timestamp=1576729165697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.2.tgz", + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", + "dev": true + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dev": true, + "requires": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + }, + "dependencies": { + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true + } + } + }, + "is-lower-case": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/is-lower-case/download/is-lower-case-1.1.3.tgz", + "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=", + "dev": true, + "requires": { + "lower-case": "^1.1.0" + } + }, + "is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz?cache=0&sync_timestamp=1562347283002&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-1.0.1.tgz", + "integrity": "sha1-WsSLNF72dTOb1sekipEhELJBz1I=", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz?cache=0&sync_timestamp=1569836695493&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-path-inside%2Fdownload%2Fis-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-promise%2Fdownload%2Fis-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.5.tgz?cache=0&sync_timestamp=1576454499491&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.0.5.tgz", + "integrity": "sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-string%2Fdownload%2Fis-string-1.0.5.tgz", + "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz?cache=0&sync_timestamp=1574296307739&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-upper-case": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/is-upper-case/download/is-upper-case-1.1.2.tgz?cache=0&sync_timestamp=1575602004811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-upper-case%2Fdownload%2Fis-upper-case-1.1.2.tgz", + "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=", + "dev": true, + "requires": { + "upper-case": "^1.1.0" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1569219566107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz", + "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jake": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "dev": true, + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "13.2.0", + "resolved": "https://registry.npm.taobao.org/jsdom/download/jsdom-13.2.0.tgz", + "integrity": "sha1-saDb2twlVDUmK+jqNyPS26DX6zo=", + "requires": { + "abab": "^2.0.0", + "acorn": "^6.0.4", + "acorn-globals": "^4.3.0", + "array-equal": "^1.0.0", + "cssom": "^0.3.4", + "cssstyle": "^1.1.1", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.0", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.0.9", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "saxes": "^3.1.5", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.5.0", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^6.1.2", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.0.tgz", + "integrity": "sha1-xZNByXI/QUxFKXVWTHwApo1YrNI=" + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1567740720822&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keyboardevent-from-electron-accelerator": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/keyboardevent-from-electron-accelerator/download/keyboardevent-from-electron-accelerator-2.0.0.tgz", + "integrity": "sha1-rOIbGqTkcUiBXRYAV/nttmVnxQw=", + "dev": true + }, + "keyboardevents-areequal": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/keyboardevents-areequal/download/keyboardevents-areequal-0.2.2.tgz", + "integrity": "sha1-iBkexzjOn3WRwl6QVt6Si0AncZQ=", + "dev": true + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lazy-val": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/lazy-val/download/lazy-val-1.0.4.tgz", + "integrity": "sha1-iCY2pyRcLP5uCk47psXWihN+XGU=" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz", + "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "less": { + "version": "3.10.3", + "resolved": "https://registry.npm.taobao.org/less/download/less-3.10.3.tgz", + "integrity": "sha1-QXoJddXu7MUs/0vPo8CdNXgeZ5I=", + "dev": true, + "requires": { + "clone": "^2.1.2", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.4.1", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", + "request": "^2.83.0", + "source-map": "~0.6.0" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone%2Fdownload%2Fclone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true, + "optional": true + } + } + }, + "less-loader": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/less-loader/download/less-loader-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless-loader%2Fdownload%2Fless-loader-5.0.0.tgz", + "integrity": "sha1-SY3eOmxsT4h0WO6e0/CGoSrRtGY=", + "dev": true, + "requires": { + "clone": "^2.1.1", + "loader-utils": "^1.1.0", + "pify": "^4.0.1" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone%2Fdownload%2Fclone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true + } + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", + "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz", + "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz", + "integrity": "sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=" + }, + "lodash._arraycopy": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/lodash._arraycopy/download/lodash._arraycopy-3.0.0.tgz", + "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=", + "dev": true + }, + "lodash._arrayeach": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/lodash._arrayeach/download/lodash._arrayeach-3.0.0.tgz", + "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=", + "dev": true + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/lodash._baseassign/download/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._baseclone": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/lodash._baseclone/download/lodash._baseclone-3.3.0.tgz", + "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=", + "dev": true, + "requires": { + "lodash._arraycopy": "^3.0.0", + "lodash._arrayeach": "^3.0.0", + "lodash._baseassign": "^3.0.0", + "lodash._basefor": "^3.0.0", + "lodash.isarray": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/lodash._basecopy/download/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basefor": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/lodash._basefor/download/lodash._basefor-3.0.3.tgz", + "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=", + "dev": true + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/lodash._bindcallback/download/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "dev": true + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/lodash._createassigner/download/lodash._createassigner-3.1.1.tgz", + "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", + "dev": true, + "requires": { + "lodash._bindcallback": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash.restparam": "^3.0.0" + } + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npm.taobao.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npm.taobao.org/lodash._isiterateecall/download/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.clonedeep": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-3.0.2.tgz", + "integrity": "sha1-oKHkDYKl6on/WxR7hETtY9koJ9s=", + "dev": true, + "requires": { + "lodash._baseclone": "^3.0.0", + "lodash._bindcallback": "^3.0.0" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/lodash.isarguments/download/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/lodash.isarray/download/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "lodash.isplainobject": { + "version": "3.2.0", + "resolved": "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-3.2.0.tgz", + "integrity": "sha1-moI4rhayAEMpYM1zRlEtASP79MU=", + "dev": true, + "requires": { + "lodash._basefor": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.keysin": "^3.0.0" + } + }, + "lodash.istypedarray": { + "version": "3.0.6", + "resolved": "https://registry.npm.taobao.org/lodash.istypedarray/download/lodash.istypedarray-3.0.6.tgz", + "integrity": "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/lodash.keys/download/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.keysin": { + "version": "3.0.8", + "resolved": "https://registry.npm.taobao.org/lodash.keysin/download/lodash.keysin-3.0.8.tgz", + "integrity": "sha1-IsRJPrvtsUJ5YqVLRFssinZ/tH8=", + "dev": true, + "requires": { + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.merge": { + "version": "3.3.2", + "resolved": "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-3.3.2.tgz", + "integrity": "sha1-DZDZPtY3sYeEN7s+IWASYNev6ZQ=", + "dev": true, + "requires": { + "lodash._arraycopy": "^3.0.0", + "lodash._arrayeach": "^3.0.0", + "lodash._createassigner": "^3.0.0", + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0", + "lodash.isplainobject": "^3.0.0", + "lodash.istypedarray": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.keysin": "^3.0.0", + "lodash.toplainobject": "^3.0.0" + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npm.taobao.org/lodash.restparam/download/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "lodash.toplainobject": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/lodash.toplainobject/download/lodash.toplainobject-3.0.0.tgz", + "integrity": "sha1-KHkK2ULSk9eKpmOgfs9/UsoEGY0=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keysin": "^3.0.0" + } + }, + "log-update": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/log-update/download/log-update-1.0.2.tgz?cache=0&sync_timestamp=1580662169293&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flog-update%2Fdownload%2Flog-update-1.0.2.tgz", + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", + "dev": true, + "requires": { + "ansi-escapes": "^1.0.0", + "cli-cursor": "^1.0.2" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + } + } + }, + "loglevel": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", + "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz?cache=0&sync_timestamp=1575601555695&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case%2Fdownload%2Flower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lower-case-first": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/lower-case-first/download/lower-case-first-1.0.2.tgz?cache=0&sync_timestamp=1575602003155&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case-first%2Fdownload%2Flower-case-first-1.0.2.tgz", + "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=", + "dev": true, + "requires": { + "lower-case": "^1.1.2" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "macaddress": { + "version": "0.2.9", + "resolved": "https://registry.npm.taobao.org/macaddress/download/macaddress-0.2.9.tgz", + "integrity": "sha1-NXm4uazVuWtFU6vw85QYWoaBPLM=" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "requires": { + "pify": "^3.0.0" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz", + "integrity": "sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q=", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz", + "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^4.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "optional": true + } + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", + "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz", + "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true + } + } + }, + "memory-fs": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.2.0.tgz", + "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz", + "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.4.4.tgz", + "integrity": "sha1-vXuRE1/GsBzePpuuM9ZZtj2IV+U=", + "dev": true + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.43.0.tgz?cache=0&sync_timestamp=1578281173535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.43.0.tgz", + "integrity": "sha1-ChLgUCZQ5HPXNVNQUOfI9OtPrlg=" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.26.tgz?cache=0&sync_timestamp=1578282559977&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.26.tgz", + "integrity": "sha1-nJIfwJt+FJpl39wNpNIJlyALCgY=", + "requires": { + "mime-db": "1.43.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.4.0.tgz?cache=0&sync_timestamp=1576856499989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.4.0.tgz", + "integrity": "sha1-/zvwi+6W5hjhd8FsphMb/s73B/k=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "webpack-sources": "^1.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimatch%2Fdownload%2Fminimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", + "integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "multispinner": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/multispinner/download/multispinner-0.2.1.tgz", + "integrity": "sha1-wcwQDPxAxpe4oSw6JegVmOzMKfQ=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "figures": "^1.4.0", + "kind-of": "^2.0.1", + "lodash.clonedeep": "^3.0.2", + "lodash.merge": "^3.3.2", + "log-update": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1577903718856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz?cache=0&sync_timestamp=1571715625804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz", + "integrity": "sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw=", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "ncname": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/ncname/download/ncname-1.0.0.tgz", + "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", + "dev": true, + "requires": { + "xml-char-classes": "^1.0.0" + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.1.tgz", + "integrity": "sha1-rCetpmFn+ohJpq3dg39rGJrSCBw=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz", + "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", + "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1562337713422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz", + "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + } + } + }, + "node-loader": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/node-loader/download/node-loader-0.6.0.tgz", + "integrity": "sha1-x5fvUQle1YWZArFX9jhPY2HgWug=", + "dev": true + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-os-utils": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/node-os-utils/download/node-os-utils-1.2.2.tgz", + "integrity": "sha1-V6y2omp5MUoBVoBLPzR2CNtAZXE=" + }, + "nodemailer": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/nodemailer/download/nodemailer-5.1.1.tgz", + "integrity": "sha1-DEjR7KsC6G2f9sYg7nXtlEt2NQU=" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1580434257623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "dev": true + }, + "normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz", + "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dev": true, + "optional": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", + "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", + "requires": { + "boolbase": "~1.0.0" + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.2.0.tgz?cache=0&sync_timestamp=1572824577484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnwsapi%2Fdownload%2Fnwsapi-2.2.0.tgz", + "integrity": "sha1-IEh5qePQaP8qVROcLHcngGgaOLc=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", + "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz", + "integrity": "sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=", + "dev": true + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.7.0.tgz", + "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=", + "dev": true + }, + "object-is": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", + "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + } + } + }, + "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-visit": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz", + "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + } + } + }, + "object.entries": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object.entries/download/object.entries-1.1.1.tgz", + "integrity": "sha1-7hzwQVPeArsJP+wzaDkA9XzlOZs=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha1-Npvx+VktiridcS3O1cuBx8U1Jkk=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz", + "integrity": "sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "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==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.8.3.tgz", + "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-3.1.0.tgz", + "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-finally%2Fdownload%2Fp-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz", + "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz", + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparallel-transform%2Fdownload%2Fparallel-transform-1.2.0.tgz", + "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz", + "integrity": "sha1-ADJxND2ljclMrOSU+u89IUfs6g4=", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/parse-passwd/download/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-3.0.3.tgz", + "integrity": "sha1-BC95L/3TaFFVHPTp4Gazh0q0W1w=", + "requires": { + "@types/node": "*" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascal-case": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pascal-case/download/pascal-case-2.0.1.tgz", + "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=", + "dev": true, + "requires": { + "camel-case": "^3.0.0", + "upper-case-first": "^1.1.0" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npm.taobao.org/path/download/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz", + "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=", + "dev": true + }, + "path-case": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/path-case/download/path-case-2.1.1.tgz", + "integrity": "sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1574441404712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", + "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.17.tgz", + "integrity": "sha1-l2wgZTBhexTrsyEUI597CTNuk6Y=", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "requires": { + "find-up": "^2.1.0" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/pn/download/pn-1.1.0.tgz", + "integrity": "sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs=" + }, + "portfinder": { + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", + "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "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.1" + } + }, + "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 + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.26", + "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.26.tgz?cache=0&sync_timestamp=1577751049981&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.26.tgz", + "integrity": "sha1-XtYVz8qzW6m7uCQUpPqI6hBClYc=", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-extract-imports%2Fdownload%2Fpostcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha1-6KZWG+kUqvPAUodjd1JMqQ27eRU=", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.16", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.0" + } + }, + "postcss-modules-scope": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.1.1.tgz?cache=0&sync_timestamp=1574936968130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-2.1.1.tgz", + "integrity": "sha1-M9T8lGYC616TVcQWXWihBydonbo=", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-3.0.0.tgz", + "integrity": "sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA=", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw=", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-value-parser": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.0.2.tgz?cache=0&sync_timestamp=1565203765685&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.0.2.tgz", + "integrity": "sha1-SCKCwJpCcG0fyaBptz9E7Ag5Hck=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1573329332710&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz", + "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz", + "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprogress%2Fdownload%2Fprogress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "dev": true, + "optional": true, + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true, + "optional": true + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.7.0.tgz", + "integrity": "sha1-8cTEeo75cWfepda79IFtc26ISjw=" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", + "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&sync_timestamp=1569938104994&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz", + "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" + }, + "pupa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", + "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.9.1.tgz", + "integrity": "sha1-IAgsZct4IjY1qxqerKiHWim/jsk=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "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==", + "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" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read-config-file": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.0.0.tgz", + "integrity": "sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA==", + "dev": true, + "requires": { + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "js-yaml": "^3.13.1", + "json5": "^2.1.2", + "lazy-val": "^1.0.4" + }, + "dependencies": { + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.5.0.tgz", + "integrity": "sha1-Rl1w5tEIf2Fi0HnNC123++v9FgY=", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npm.taobao.org/recast/download/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz", + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz", + "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=", + "dev": true + }, + "registry-auth-token": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", + "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz", + "integrity": "sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk=", + "dev": true, + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz", + "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.0.tgz", + "integrity": "sha1-nC/KT301tZLv5Xx/ClXoEFIST+8=", + "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.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "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" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=" + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.4.3.tgz", + "integrity": "sha1-U/Nto/R3g7CSWvoG/587FlKA94E=", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.3.tgz", + "integrity": "sha1-6aPAgbUTgN/qZ3M2Bh/qh5qCnuk=", + "requires": { + "lodash": "^4.17.15" + } + }, + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.8.tgz?cache=0&sync_timestamp=1572829773221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest-promise-native%2Fdownload%2Frequest-promise-native-1.0.8.tgz", + "integrity": "sha1-pFW5YLgm5E4r+Jma9k3/K/5YyzY=", + "requires": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresize-observer-polyfill%2Fdownload%2Fresize-observer-polyfill-1.5.1.tgz", + "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=" + }, + "resolve": { + "version": "1.15.0", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.15.0.tgz?cache=0&sync_timestamp=1579709925738&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.15.0.tgz", + "integrity": "sha1-G3ypYHPrtS50H/15n2s56kYsZ/U=", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/resolve-dir/download/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/global-modules/download/global-modules-1.0.0.tgz", + "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz", + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fretry%2Fdownload%2Fretry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1580183403036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", + "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "roarr": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.3.tgz", + "integrity": "sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.0", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true, + "optional": true + } + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.4.tgz?cache=0&sync_timestamp=1577465700679&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.5.4.tgz", + "integrity": "sha1-4Hd/4NGEzseHLfFH8wNXLUFOIRw=", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.0.tgz", + "integrity": "sha1-t02uxJsRSPiMZLaNSbHoFcHy9Rk=" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz?cache=0&sync_timestamp=1571687334026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-regex%2Fdownload%2Fsafe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" + }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dev": true, + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "sass-loader": { + "version": "7.3.1", + "resolved": "https://registry.npm.taobao.org/sass-loader/download/sass-loader-7.3.1.tgz?cache=0&sync_timestamp=1578921665787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-loader%2Fdownload%2Fsass-loader-7.3.1.tgz", + "integrity": "sha1-pb9ooEvOocE/+ELXRxUPerfQ0j8=", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.0.1", + "neo-async": "^2.5.0", + "pify": "^4.0.1", + "semver": "^6.3.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" + }, + "saxes": { + "version": "3.1.11", + "resolved": "https://registry.npm.taobao.org/saxes/download/saxes-3.1.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsaxes%2Fdownload%2Fsaxes-3.1.11.tgz", + "integrity": "sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs=", + "requires": { + "xmlchars": "^2.1.1" + } + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz", + "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "dev": true, + "requires": { + "node-forge": "0.9.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1580434257623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=" + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true, + "optional": true + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "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", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": 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==", + "dev": true + } + } + }, + "sentence-case": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/sentence-case/download/sentence-case-2.1.1.tgz", + "integrity": "sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case-first": "^1.1.2" + } + }, + "serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "optional": true, + "requires": { + "type-fest": "^0.13.1" + }, + "dependencies": { + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true + } + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz", + "integrity": "sha1-z8IArvd7YAxH2pu4FJyUPnmML9s=", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://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.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "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==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-3.0.1.tgz", + "integrity": "sha1-jymBrZJTH1UDWwH7IwdppA4C76M=", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshebang-command%2Fdownload%2Fshebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz", + "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "snake-case": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/snake-case/download/snake-case-2.1.0.tgz", + "integrity": "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.4.0", + "websocket-driver": "0.6.5" + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "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.1" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "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 + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", + "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.16.tgz?cache=0&sync_timestamp=1572390065703&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.16.tgz", + "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz", + "integrity": "sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ=", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz", + "integrity": "sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz", + "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "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 + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "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 + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", + "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-5.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-5.3.0.tgz", + "integrity": "sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY=", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz", + "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", + "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz", + "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz?cache=0&sync_timestamp=1576147145118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-shift%2Fdownload%2Fstream-shift-1.0.1.tgz", + "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + } + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimleft/download/string.prototype.trimleft-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimleft%2Fdownload%2Fstring.prototype.trimleft-2.1.1.tgz", + "integrity": "sha1-m9uKxqvW1gKxek7TIYcNL43O/HQ=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimright/download/string.prototype.trimright-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimright%2Fdownload%2Fstring.prototype.trimright-2.1.1.tgz", + "integrity": "sha1-RAMUsVmWyGbOigNBiU1FGGIAxdk=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + } + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz", + "integrity": "sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "style-loader": { + "version": "0.21.0", + "resolved": "https://registry.npm.taobao.org/style-loader/download/style-loader-0.21.0.tgz", + "integrity": "sha1-aMUuXrKvycqStidL4nfuWa6jqFI=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5" + } + }, + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "requires": { + "debug": "^4.1.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "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 + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "swap-case": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/swap-case/download/swap-case-1.1.2.tgz", + "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", + "dev": true, + "requires": { + "lower-case": "^1.1.1", + "upper-case": "^1.1.1" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.4.tgz", + "integrity": "sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I=" + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz", + "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "0.1.10", + "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-0.1.10.tgz", + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", + "dev": true + }, + "temp-file": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.7.tgz", + "integrity": "sha512-9tBJKt7GZAQt/Rg0QzVWA8Am8c1EFl+CAv04/aBVqlx5oyfQ508sFIABshQ0xbZu6mBrFLWIUXO/bbLYghW70g==", + "dev": true, + "requires": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^8.1.0" + } + }, + "term-size": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", + "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", + "dev": true + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", + "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^3.1.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throttle-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz", + "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz", + "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz", + "integrity": "sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8=", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "title-case": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/title-case/download/title-case-2.1.1.tgz", + "integrity": "sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.0.3" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + } + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/tr46/download/tr46-1.0.1.tgz?cache=0&sync_timestamp=1577945464201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftr46%2Fdownload%2Ftr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "requires": { + "punycode": "^2.1.0" + } + }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "dev": true, + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.10.0.tgz", + "integrity": "sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo=", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "optional": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1579208635072&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "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==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz", + "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1580710587667&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz", + "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", + "dev": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funion-value%2Fdownload%2Funion-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", + "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz", + "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "untildify": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/untildify/download/untildify-3.0.3.tgz", + "integrity": "sha1-HntCsUC8/ZIrIucMoSZb/jY0x8k=" + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", + "dev": true + }, + "update-notifier": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz", + "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==", + "dev": true, + "requires": { + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "upper-case-first": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/upper-case-first/download/upper-case-first-1.1.2.tgz?cache=0&sync_timestamp=1575602004008&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case-first%2Fdownload%2Fupper-case-first-1.1.2.tgz", + "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", + "dev": true, + "requires": { + "upper-case": "^1.1.1" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/url-loader/download/url-loader-1.1.2.tgz", + "integrity": "sha1-uXHRkbg69pPF4/6kBkvp4fLX+Ng=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", + "dev": true + }, + "utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", + "dev": true + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.4.tgz?cache=0&sync_timestamp=1562337713422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.4.tgz", + "integrity": "sha1-OqASW/5mikZy3liFfTrOJ+y3aQE=", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz", + "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1579209051695&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.0.3.tgz", + "integrity": "sha1-APdJTSritojP4omd9u0sVL75Hb4=", + "dev": true + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz", + "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=", + "dev": true + }, + "vue": { + "version": "2.6.11", + "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz", + "integrity": "sha1-dllNh31LEiNEBuhONSdcbVFBJcU=" + }, + "vue-electron": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/vue-electron/download/vue-electron-1.0.6.tgz", + "integrity": "sha1-55jgMYC4kzU53v4x+S5TuSQrlAY=" + }, + "vue-eslint-parser": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-5.0.0.tgz", + "integrity": "sha1-APTk2pTsl0uCGib/DtD3p4QCuKE=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "eslint-scope": "^4.0.0", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.1.0", + "esquery": "^1.0.1", + "lodash": "^4.17.11" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "espree": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/espree/download/espree-4.1.0.tgz", + "integrity": "sha1-co1UUeD9FWwEOEp62J7VH/VOsl8=", + "dev": true, + "requires": { + "acorn": "^6.0.2", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + } + } + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", + "dev": true + }, + "vue-html-loader": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/vue-html-loader/download/vue-html-loader-1.2.4.tgz", + "integrity": "sha1-VM5Im+BgZckdwqEXMSLz4ATgolM=", + "dev": true, + "requires": { + "es6-templates": "^0.2.2", + "fastparse": "^1.0.0", + "html-minifier": "^2.1.5", + "loader-utils": "^1.0.2", + "object-assign": "^4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "clean-css": { + "version": "3.4.28", + "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-3.4.28.tgz", + "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", + "dev": true, + "requires": { + "commander": "2.8.x", + "source-map": "0.4.x" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.8.1.tgz?cache=0&sync_timestamp=1580710587667&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + } + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.9.0.tgz?cache=0&sync_timestamp=1580710587667&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/he/download/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "html-minifier": { + "version": "2.1.7", + "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-2.1.7.tgz", + "integrity": "sha1-kFHW/LvPIU7TB+GtdPQyu5rWVcw=", + "dev": true, + "requires": { + "change-case": "3.0.x", + "clean-css": "3.4.x", + "commander": "2.9.x", + "he": "1.1.x", + "ncname": "1.0.x", + "relateurl": "0.2.x", + "uglify-js": "2.6.x" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "uglify-js": { + "version": "2.6.4", + "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-2.6.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-2.6.4.tgz", + "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=", + "dev": true, + "requires": { + "async": "~0.2.6", + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "vue-loader": { + "version": "15.8.3", + "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.8.3.tgz?cache=0&sync_timestamp=1580888414685&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-15.8.3.tgz", + "integrity": "sha1-hXy54w61/CXmbbSNzn5PdoYCojw=", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + } + }, + "vue-router": { + "version": "3.1.5", + "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.5.tgz", + "integrity": "sha1-/ym4oeEwbFJrUtTcBTIQnxbEEjE=" + }, + "vue-style-loader": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.2.tgz", + "integrity": "sha1-3t80mAbyXOtOZPOtfApE+6c1/Pg=", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "vue-template-compiler": { + "version": "2.6.11", + "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.11.tgz?cache=0&sync_timestamp=1576267389403&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-template-compiler%2Fdownload%2Fvue-template-compiler-2.6.11.tgz", + "integrity": "sha1-wEcE749JixUxMAGJk+VjCdRpgIA=", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=", + "dev": true + }, + "vuex": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuex%2Fdownload%2Fvuex-3.1.2.tgz", + "integrity": "sha1-ooY/QAWqc/JYflXD+t8/AfacfU0=" + }, + "vuex-electron": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/vuex-electron/download/vuex-electron-1.0.3.tgz", + "integrity": "sha1-yM4P0G7Z0764iBvOOb92yfzcVhE=", + "requires": { + "deepmerge": "^2.1.1", + "electron-store": "^2.0.0" + }, + "dependencies": { + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-2.2.1.tgz", + "integrity": "sha1-XT/yKgHAD2RUBaL7wX0HeKGAEXA=" + } + } + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "requires": { + "browser-process-hrtime": "^0.1.2" + } + }, + "w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q=", + "requires": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "wallpaper": { + "version": "4.4.1", + "resolved": "https://registry.npm.taobao.org/wallpaper/download/wallpaper-4.4.1.tgz", + "integrity": "sha1-RdjDI24JN6dCo85bJ/wjm3O7iFk=" + }, + "wangeditor": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/wangeditor/download/wangeditor-3.1.1.tgz", + "integrity": "sha1-+9PB1JdpI8nt67hbKdMLNVEq0Dk=" + }, + "watchpack": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", + "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", + "dev": true, + "requires": { + "chokidar": "^3.4.0", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true, + "optional": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "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, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.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, + "optional": true + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "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, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-4.0.2.tgz?cache=0&sync_timestamp=1575750659445&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebidl-conversions%2Fdownload%2Fwebidl-conversions-4.0.2.tgz", + "integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=" + }, + "webp-converter": { + "version": "2.2.3", + "resolved": "https://registry.npm.taobao.org/webp-converter/download/webp-converter-2.2.3.tgz", + "integrity": "sha1-/+6IsvI7C20U7LHsNL2LblKRcfE=" + }, + "webpack": { + "version": "4.41.5", + "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.41.5.tgz", + "integrity": "sha1-MhDxiGvOUxDmK7lyBNGMJjNBt3w=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.1.1.tgz", + "integrity": "sha1-KTfiuAZs0P584JkKmPDXGjUYn2Y=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz", + "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", + "dev": true + } + } + }, + "webpack-cli": { + "version": "3.3.10", + "resolved": "https://registry.npm.taobao.org/webpack-cli/download/webpack-cli-3.3.10.tgz?cache=0&sync_timestamp=1573831720681&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-cli%2Fdownload%2Fwebpack-cli-3.3.10.tgz", + "integrity": "sha1-F7J5Jn6bT7VJAj+uFw2o5udm2hM=", + "dev": true, + "requires": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.1.0.tgz", + "integrity": "sha1-Qcfgv9/nSsH/4eV61qXGyfN0Kn8=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.2.2.tgz", + "integrity": "sha1-YSebZ3IfUoeqHBOpp/u8SMkpGx4=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", + "dev": true + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.2.4.tgz", + "integrity": "sha1-C1YreUAW65ZRuYvTes82SqXW3IM=", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "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.0" + } + } + } + }, + "webpack-dev-server": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.20", + "sockjs-client": "1.4.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "html-entities": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", + "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.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 + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + } + } + }, + "webpack-hot-middleware": { + "version": "2.25.0", + "resolved": "https://registry.npm.taobao.org/webpack-hot-middleware/download/webpack-hot-middleware-2.25.0.tgz", + "integrity": "sha1-RSigpj7Df4+O9WXPnlNNV9Cf5wY=", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "html-entities": "^1.2.0", + "querystring": "^0.2.0", + "strip-ansi": "^3.0.0" + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1574264193174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz", + "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "requires": { + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz", + "integrity": "sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA=", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78=" + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz", + "integrity": "sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY=", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "window-size": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/window-size/download/window-size-1.1.1.tgz", + "integrity": "sha1-mFhYZYCtp4qybs1peKbgMRXBryA=", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "is-number": "^3.0.0" + } + }, + "winreg": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/winreg/download/winreg-1.2.4.tgz", + "integrity": "sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs=" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=" + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz?cache=0&sync_timestamp=1573488536792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz?cache=0&sync_timestamp=1567579932525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrite%2Fdownload%2Fwrite-1.0.3.tgz", + "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrite-file-atomic%2Fdownload%2Fwrite-file-atomic-2.4.3.tgz", + "integrity": "sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE=", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz", + "integrity": "sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true + }, + "xml-char-classes": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/xml-char-classes/download/xml-char-classes-1.0.0.tgz", + "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz", + "integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlchars%2Fdownload%2Fxmlchars-2.2.0.tgz", + "integrity": "sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz", + "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz?cache=0&sync_timestamp=1569874223546&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyallist%2Fdownload%2Fyallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100755 index 0000000..979d750 --- /dev/null +++ b/package.json @@ -0,0 +1,127 @@ +{ + "name": "Strawberry Wallpaper", + "version": "v1.4.2", + "author": "taoacat,流浪记", + "description": "a wallpaper app by electron", + "license": "", + "main": "./dist/electron/main.js", + "bin": "cli.js", + "scripts": { + "build-r": "node .electron-vue/build.js", + "build-win": "electron-builder --win", + "build-mac": "electron-builder --mac", + "build": "npm run build-r && npm run build-win && npm run build-mac", + "build:dir": "cross-env node .electron-vue/build.js && electron-builder --mac --dir", + "clean": "cross-env BUILD_TARGET=clean node .electron-vue/build.js", + "dev": "node .electron-vue/dev-runner.js", + "pack": "npm run pack:main && npm run pack:renderer", + "pack:main": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js", + "pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js", + "postinstall": "", + "docs": "docsify serve docs" + }, + "build": { + "productName": "Strawberry Wallpaper", + "appId": "9Y7KR6Q842.com.taoacat.wallpaperapplications", + "directories": { + "output": "build" + }, + "publish": { + "provider": "generic", + "url": "http://sw.taoacat.com/version/" + }, + "files": [ + "dist/electron/**/*" + ], + "mac": { + "icon": "build-config/icons/icon.icns", + "target": [ + "dmg", + "zip" + ] + }, + "win": { + "icon": "build-config/icons/icon.ico", + "requestedExecutionLevel": "highestAvailable", + "target": [ + "nsis", + "zip" + ] + }, + "linux": { + "icon": "build-config/icons" + } + }, + "devDependencies": { + "@babel/node": "^7.10.1", + "ajv": "^6.5.0", + "babel-eslint": "^10.0.1", + "cfonts": "^2.1.2", + "chalk": "^2.4.1", + "copy-webpack-plugin": "^4.5.1", + "cross-env": "^5.1.6", + "css-loader": "^3.0.0", + "del": "^3.0.0", + "devtron": "^1.4.0", + "drop-console-webpack-plugin": "^3.0.2", + "electron": "^9.0.4", + "electron-builder": "^22.7.0", + "electron-debug": "^2.1.0", + "electron-devtools-installer": "^2.2.4", + "eslint": "^5.16.0", + "eslint-config-airbnb-base": "^13.1.0", + "eslint-friendly-formatter": "^4.0.1", + "eslint-import-resolver-webpack": "^0.11.0", + "eslint-loader": "^2.1.2", + "eslint-plugin-html": "^5.0.3", + "eslint-plugin-import": "^2.17.2", + "eslint-plugin-node": "^8.0.1", + "eslint-plugin-promise": "^4.1.1", + "eslint-plugin-vue": "^5.2.2", + "file-loader": "^1.1.11", + "html-webpack-plugin": "^3.2.0", + "less": "^3.9.0", + "less-loader": "^5.0.0", + "mini-css-extract-plugin": "0.4.0", + "multispinner": "^0.2.1", + "node-loader": "^0.6.0", + "sass-loader": "^7.0.3", + "style-loader": "^0.21.0", + "url-loader": "^1.0.1", + "vue-html-loader": "^1.2.4", + "vue-loader": "^15.2.4", + "vue-style-loader": "^4.1.0", + "vue-template-compiler": "^2.6.7", + "webpack": "^4.15.1", + "webpack-cli": "^3.0.8", + "webpack-dev-server": "^3.11.0", + "webpack-hot-middleware": "^2.22.2" + }, + "dependencies": { + "auto-launch": "^5.0.5", + "axios": "^0.18.0", + "cheerio": "^1.0.0-rc.2", + "custom-electron-titlebar": "^3.2.2-hotfix62", + "electron-log": "^3.0.1", + "electron-updater": "^4.0.6", + "element-ui": "^2.5.4", + "fs": "^0.0.1-security", + "http2-client": "^1.3.3", + "jsdom": "^13.2.0", + "macaddress": "^0.2.9", + "node-os-utils": "^1.0.7", + "nodemailer": "^5.1.1", + "path": "^0.12.7", + "progress": "^2.0.3", + "qs": "^6.7.0", + "request": "^2.88.0", + "vue": "^2.6.10", + "vue-electron": "^1.0.6", + "vue-router": "^3.0.1", + "vuex": "^3.0.1", + "vuex-electron": "^1.0.0", + "wallpaper": "^4.2.0", + "wangeditor": "^3.1.1", + "webp-converter": "^2.2.2" + } +} \ No newline at end of file diff --git a/src/.pydio b/src/.pydio new file mode 100644 index 0000000..9fd2696 --- /dev/null +++ b/src/.pydio @@ -0,0 +1 @@ +3c55ee6b-00f5-48af-a641-b8fc0b4cc892 \ No newline at end of file diff --git a/src/api/.pydio b/src/api/.pydio new file mode 100644 index 0000000..c89b71e --- /dev/null +++ b/src/api/.pydio @@ -0,0 +1 @@ +9d8d83fd-0709-4fcf-8e6c-08e6596dfee3 \ No newline at end of file diff --git a/src/api/api.js b/src/api/api.js new file mode 100755 index 0000000..7ef7ac4 --- /dev/null +++ b/src/api/api.js @@ -0,0 +1,105 @@ + + +import userConfig from '../../.user-config.js' + +const axios = require('axios') + +const { baiDuTranslationAppId, baiDuTranslationAppKey } = userConfig +const { MD5: swMd5 } = require('./baidu-md5') +const { apiBaseUrl } = require('../utils/config') + +const instance = axios.create({ + baseURL: apiBaseUrl, + timeout: 1000, + +}) + +/** + * 第一次的时候注册 + */ +export const postRegister = data => new Promise((resolve, reject) => { + instance({ + url: '/register', + method: 'post', + data, + }).then((res) => { + const { data: result } = res + if (result.code === 0 || result.code === 400){ + resolve() + } + else { + reject() + } + }).catch((error) => { + reject(error) + }) +}) +/** + * 统计用户的使用情况 + */ +export const apiStatisticActive = data => instance.post('/active', data) + +export const apiGetNotices = () => new Promise((resolve) => { + instance.get('/notice', { + params: { + is_test: 1 + } + }).then((res) => { + const { data: result } = res + if (result.code === 0){ + resolve(result.data || []) + } + else { + resolve([]) + } + }).catch(() => { resolve([]) }) +}) + +/** + * 百度翻译接口,将用户搜索的中文转成英文 + */ +export const apiTranslation = val => new Promise((resolve, reject) => { + if (val === ''){ + resolve('') + return + } + // 如果包含数字就直接返回搜索值 + // eslint-disable-next-line no-restricted-globals + if (!isNaN(Number(val))){ + resolve(val) + return + } + const appid = baiDuTranslationAppId + const key = baiDuTranslationAppKey + const salt = (new Date()).getTime() + const query = val + // 多个query可以用\n连接 如 query='apple\norange\nbanana\npear' + const from = 'zh' + const to = 'en' + const str1 = appid + query + salt + key + const sign = swMd5(str1) + + axios({ + url: 'http://api.fanyi.baidu.com/api/trans/vip/translate', + method: 'get', + params: { + q: val, + appid, + salt, + from, + to, + sign + } + }).then((result) => { + const { trans_result: transResult } = result.data + if (transResult && transResult.length > 0){ + const { dst = '' } = transResult[0] + resolve(dst.toLocaleLowerCase()) + } + else { + resolve('') + } + }).catch(() => { + resolve('') + }) +}) diff --git a/src/api/baidu-md5.js b/src/api/baidu-md5.js new file mode 100755 index 0000000..85fea7b --- /dev/null +++ b/src/api/baidu-md5.js @@ -0,0 +1,205 @@ +/* eslint-disable */ +export const MD5 = function (string) { + function RotateLeft(lValue, iShiftBits) { + return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)); + } + + function AddUnsigned(lX, lY) { + let lX4; var lY4; var lX8; var lY8; var lResult; + lX8 = (lX & 0x80000000); + lY8 = (lY & 0x80000000); + lX4 = (lX & 0x40000000); + lY4 = (lY & 0x40000000); + lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF); + if (lX4 & lY4) { + return (lResult ^ 0x80000000 ^ lX8 ^ lY8); + } + if (lX4 | lY4) { + if (lResult & 0x40000000) { + return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); + } + return (lResult ^ 0x40000000 ^ lX8 ^ lY8); + } + return (lResult ^ lX8 ^ lY8); + } + + function F(x, y, z) { return (x & y) | ((~x) & z); } + function G(x, y, z) { return (x & z) | (y & (~z)); } + function H(x, y, z) { return (x ^ y ^ z); } + function I(x, y, z) { return (y ^ (x | (~z))); } + + function FF(a, b, c, d, x, s, ac) { + a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); + return AddUnsigned(RotateLeft(a, s), b); + } + + function GG(a, b, c, d, x, s, ac) { + a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); + return AddUnsigned(RotateLeft(a, s), b); + } + + function HH(a, b, c, d, x, s, ac) { + a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); + return AddUnsigned(RotateLeft(a, s), b); + } + + function II(a, b, c, d, x, s, ac) { + a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); + return AddUnsigned(RotateLeft(a, s), b); + } + + function ConvertToWordArray(string) { + let lWordCount; + const lMessageLength = string.length; + const lNumberOfWords_temp1 = lMessageLength + 8; + const lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64; + const lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16; + const lWordArray = Array(lNumberOfWords - 1); + let lBytePosition = 0; + let lByteCount = 0; + while (lByteCount < lMessageLength) { + lWordCount = (lByteCount - (lByteCount % 4)) / 4; + lBytePosition = (lByteCount % 4) * 8; + lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition)); + lByteCount++; + } + lWordCount = (lByteCount - (lByteCount % 4)) / 4; + lBytePosition = (lByteCount % 4) * 8; + lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition); + lWordArray[lNumberOfWords - 2] = lMessageLength << 3; + lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; + return lWordArray; + } + + function WordToHex(lValue) { + let WordToHexValue = ''; let WordToHexValue_temp = ''; let lByte; let + lCount; + for (lCount = 0; lCount <= 3; lCount++) { + lByte = (lValue >>> (lCount * 8)) & 255; + // eslint-disable-next-line camelcase + WordToHexValue_temp = `0${lByte.toString(16)}`; + WordToHexValue += WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2); + } + return WordToHexValue; + } + + function Utf8Encode(string) { + string = string.replace(/\r\n/g, '\n'); + let utftext = ''; + + for (let n = 0; n < string.length; n++) { + const c = string.charCodeAt(n); + + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if ((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + } + + return utftext; + } + + // eslint-disable-next-line no-array-constructor + let x = Array(); + let k; let AA; let BB; let CC; let DD; let a; let b; let c; let + d; + const S11 = 7; const S12 = 12; const S13 = 17; const + S14 = 22; + const S21 = 5; const S22 = 9; const S23 = 14; const + S24 = 20; + const S31 = 4; const S32 = 11; const S33 = 16; const + S34 = 23; + const S41 = 6; const S42 = 10; const S43 = 15; const + S44 = 21; + + string = Utf8Encode(string); + + x = ConvertToWordArray(string); + + a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; + + for (k = 0; k < x.length; k += 16) { + AA = a; BB = b; CC = c; DD = d; + a = FF(a, b, c, d, x[k + 0], S11, 0xD76AA478); + d = FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756); + c = FF(c, d, a, b, x[k + 2], S13, 0x242070DB); + b = FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE); + a = FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF); + d = FF(d, a, b, c, x[k + 5], S12, 0x4787C62A); + c = FF(c, d, a, b, x[k + 6], S13, 0xA8304613); + b = FF(b, c, d, a, x[k + 7], S14, 0xFD469501); + a = FF(a, b, c, d, x[k + 8], S11, 0x698098D8); + d = FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF); + c = FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1); + b = FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE); + a = FF(a, b, c, d, x[k + 12], S11, 0x6B901122); + d = FF(d, a, b, c, x[k + 13], S12, 0xFD987193); + c = FF(c, d, a, b, x[k + 14], S13, 0xA679438E); + b = FF(b, c, d, a, x[k + 15], S14, 0x49B40821); + a = GG(a, b, c, d, x[k + 1], S21, 0xF61E2562); + d = GG(d, a, b, c, x[k + 6], S22, 0xC040B340); + c = GG(c, d, a, b, x[k + 11], S23, 0x265E5A51); + b = GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA); + a = GG(a, b, c, d, x[k + 5], S21, 0xD62F105D); + d = GG(d, a, b, c, x[k + 10], S22, 0x2441453); + c = GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681); + b = GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8); + a = GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6); + d = GG(d, a, b, c, x[k + 14], S22, 0xC33707D6); + c = GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87); + b = GG(b, c, d, a, x[k + 8], S24, 0x455A14ED); + a = GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905); + d = GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8); + c = GG(c, d, a, b, x[k + 7], S23, 0x676F02D9); + b = GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A); + a = HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942); + d = HH(d, a, b, c, x[k + 8], S32, 0x8771F681); + c = HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122); + b = HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C); + a = HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44); + d = HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9); + c = HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60); + b = HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70); + a = HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6); + d = HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA); + c = HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085); + b = HH(b, c, d, a, x[k + 6], S34, 0x4881D05); + a = HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039); + d = HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5); + c = HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8); + b = HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665); + a = II(a, b, c, d, x[k + 0], S41, 0xF4292244); + d = II(d, a, b, c, x[k + 7], S42, 0x432AFF97); + c = II(c, d, a, b, x[k + 14], S43, 0xAB9423A7); + b = II(b, c, d, a, x[k + 5], S44, 0xFC93A039); + a = II(a, b, c, d, x[k + 12], S41, 0x655B59C3); + d = II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92); + c = II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D); + b = II(b, c, d, a, x[k + 1], S44, 0x85845DD1); + a = II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F); + d = II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0); + c = II(c, d, a, b, x[k + 6], S43, 0xA3014314); + b = II(b, c, d, a, x[k + 13], S44, 0x4E0811A1); + a = II(a, b, c, d, x[k + 4], S41, 0xF7537E82); + d = II(d, a, b, c, x[k + 11], S42, 0xBD3AF235); + c = II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB); + b = II(b, c, d, a, x[k + 9], S44, 0xEB86D391); + a = AddUnsigned(a, AA); + b = AddUnsigned(b, BB); + c = AddUnsigned(c, CC); + d = AddUnsigned(d, DD); + } + + const temp = WordToHex(a) + WordToHex(b) + WordToHex(c) + WordToHex(d); + + return temp.toLowerCase(); +} + diff --git a/src/file/.pydio b/src/file/.pydio new file mode 100644 index 0000000..ff342d8 --- /dev/null +++ b/src/file/.pydio @@ -0,0 +1 @@ +de8c304e-5871-4f4d-928d-b9ec94969b87 \ No newline at end of file diff --git a/src/file/auto-open.js b/src/file/auto-open.js new file mode 100755 index 0000000..775417f --- /dev/null +++ b/src/file/auto-open.js @@ -0,0 +1,24 @@ +/* + * @Description: 设置开机启动 + * @Author: -- + * @Date: 2019-02-19 10:51:01 + * @LastEditTime: 2019-04-09 09:48:22 + */ + +const AutoLaunch = require('auto-launch') + +const minecraftAutoLauncher = new AutoLaunch({ + name: 'Strawberry Wallpaper', +}) + +export const openAutoStart = function (){ + return minecraftAutoLauncher.enable() // 设置开机自动启动 +} + +export const openDisStart = function (){ + return minecraftAutoLauncher.disable() // 禁止开机自动启动 +} + +export const openType = async function (){ + await minecraftAutoLauncher.isEnabled() +} diff --git a/src/file/file.js b/src/file/file.js new file mode 100755 index 0000000..5a0b49a --- /dev/null +++ b/src/file/file.js @@ -0,0 +1,154 @@ + +/** + * @Description: 下载图片并存到指定文件夹 + * @Author: -- + * @Date: 2019-01-24 21:35:23 + * @LastEditTime: 2019-04-09 09:39:45 + */ +const fs = require('fs') +const path = require('path') +const request = require('request') +const webp = require('webp-converter') +const { md5_32: md5 } = require('../utils/md5') + +/** + * @type {String} 图片下载地址 + */ +const { browserHeader } = require('../utils/config') +/** + * @type {Object} 保存当前的请求对象 + */ +let myRequest = null +let currentSaveFilePath = '' + +/** + * 创建指定路径文件 + * @param {String} dirname + */ +export function mkdirSync(dirname) { + try { + if (fs.existsSync(dirname)) { + return true + } + if (mkdirSync(path.dirname(dirname))) { + fs.mkdirSync(dirname) + return true + } + return false + } catch (error) { + return false + } +} + +/** + * 从指定连接下图片 + * @param {*} src 下载图片的绝对地址 + * @param {*} sendData 发送消息 + * @param {Object} userConfig 用户配置 + */ +export const downloadPic = async function (src, sendData, userConfig) { + return new Promise((resolve, reject) => { + // 创建文件夹 + const hostdir = userConfig.downloadImagePath + // 文件名 + const fileName = md5(src) + mkdirSync(hostdir) + let dstpath = `${hostdir}/SW-${fileName}` + let isWebp = false + // 如图图片已经下载完成了 + if (fs.existsSync(`${dstpath}.jpg`)){ + resolve(`${dstpath}.jpg`) + return + } + if (src.match('webp=true')) { + dstpath += '.webp' + isWebp = true + } else { + dstpath += '.jpg' + isWebp = false + } + currentSaveFilePath = dstpath + + let receivedBytes = 0 + let totalBytes = 0 + + const writeStream = fs.createWriteStream(dstpath, { + autoClose: true + }) + myRequest = request({ + url: src, + headers: browserHeader, + timeout: 120000 // 120s + }) + myRequest.pipe(writeStream) + myRequest.on('response', (data) => { + // 更新总文件字节大小 + totalBytes = parseInt(data.headers['content-length'], 10) + }) + myRequest.on('data', (chunk) => { + // 更新下载的文件块字节大小 + receivedBytes += chunk.length + // console.log(receivedBytes, totalBytes) + sendData('datainfo', { + type: 'updaterProgress', + data: parseFloat(((receivedBytes / totalBytes) * 100)) + }) + }) + + myRequest.on('error', () => { + deleteDownLoadFile(dstpath) + reject() + }) + writeStream.on('finish', () => { + writeStream.end() + myRequest = null + if (receivedBytes === totalBytes) { + if (isWebp) { + webp.dwebp(dstpath, dstpath.replace('webp', 'jpg'), '-o', (status) => { + // status 101->fails || 100->successful + if (status === '100') { + deleteDownLoadFile(dstpath) + resolve(dstpath.replace('webp', 'jpg')) + } else { + reject() + } + }) + } else { + resolve(dstpath) + } + } else { + deleteDownLoadFile(dstpath) + reject() + } + }) + }) +} + +/** + * 取消下载 + */ +export const cancelDownloadPic = function () { + return new Promise((resolve) => { + if (myRequest) { + myRequest.abort() + deleteDownLoadFile(currentSaveFilePath) + } + resolve() + }) +} + + +function deleteDownLoadFile(filePath){ + try { + // 取消下载的时候删除图片 + if (fs.existsSync(filePath)){ + fs.unlink(filePath, (err) => { + if (err) { + console.log('图片已删除') + } + }) + } + } catch (error) { + console.log(error) + } +} diff --git a/src/get-image/.pydio b/src/get-image/.pydio new file mode 100644 index 0000000..8c02fdd --- /dev/null +++ b/src/get-image/.pydio @@ -0,0 +1 @@ +db0822f1-20bc-4004-a84d-3b55ee4d9c18 \ No newline at end of file diff --git a/src/get-image/500px.js b/src/get-image/500px.js new file mode 100755 index 0000000..f816eb6 --- /dev/null +++ b/src/get-image/500px.js @@ -0,0 +1,131 @@ +/** + * pexels网站 https://500px.com/ + */ + + +// 搜索 +// https://api.500px.com/v1/photos/search?type=photos&term=cat&image_size%5B%5D=1&image_size%5B%5D=2&image_size%5B%5D=32&image_size%5B%5D=31&image_size%5B%5D=33&image_size%5B%5D=34&image_size%5B%5D=35&image_size%5B%5D=36&image_size%5B%5D=2048&image_size%5B%5D=4&image_size%5B%5D=14&include_states=true&formats=jpeg%2Clytro&include_tags=true&exclude_nude=true&page=1&rpp=50 + + +// 热门 +// https: //api.500px.com/v1/photos?rpp=50&feature=popular&image_size%5B%5D=1&image_size%5B%5D=2&image_size%5B%5D=32&image_size%5B%5D=31&image_size%5B%5D=33&image_size%5B%5D=34&image_size%5B%5D=35&image_size%5B%5D=36&image_size%5B%5D=2048&image_size%5B%5D=4&image_size%5B%5D=14&sort=&include_states=true&include_licensing=true&formats=jpeg%2Clytro&only=&exclude=&personalized_categories=&page=1&rpp=50 + + +const axios = require('axios') +const cheerio = require('cheerio') + +const { axiosGet } = require('../utils/axios') + +const { CancelToken } = axios +let source = null + +let cookies = '' +let csrToken = '' +let htmlAddress = '' + +/** + * 先获取页面取得cookie等信息 + * @param {*} data + */ +function getHtmlPage(data) { + return new Promise((resolve, reject) => { + if (data.searchKey) { + htmlAddress = `https://500px.com/search?submit=%E6%8F%90%E4%BA%A4&q=${data.searchKey}&type=photos` + } else { + htmlAddress = 'https://500px.com/popular' + } + axios.get(htmlAddress).then((result) => { + cookies = result.headers['set-cookie'] + const $ = cheerio.load(result.data) + csrToken = $('meta[name="csrf-token"]')[0].attribs.content + resolve() + }).catch((error) => { + console.log('-------------------500px获取cookie出错') + reject(error) + }) + }) +} + +export const getImage = async function (data) { + if (cookies === '') { + await getHtmlPage(data) + } + return new Promise(async (resolve, reject) => { + if (!data) { + resolve([]) + } + let baseUrl = 'https://api.500px.com/v1/photos' + const params = { + image_size: [100, 200, 400, 600, 1600, 2048, 2500, 3000, 4096, 4500, 5120, 5500, 6144, 7168], + page: data.page, + rpp: 50, // 单页条数 + formats: 'jpeg,lytro' + } + if (data.searchKey) { + baseUrl = 'https://api.500px.com/v1/photos/search' + params.type = 'photos' + params.term = data.searchKey + params.include_tags = true + params.exclude_nude = true + } else { + baseUrl = 'https://api.500px.com/v1/photos' + params.feature = 'popular' + params.only = 'All photographers,Pulse' + params.include_licensing = true + params.include_states = true + } + source = CancelToken.source() + axiosGet({ + url: baseUrl, + params, + responseType: 'json', + headers: { + Accept: 'application/json', + Origin: 'https://500px.com', + Referer: htmlAddress, + 'User-Agent': 'Mozilla/5.0 (Macintosh Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36', + 'x-csrf-token': null, + cookie: cookies + }, + cancelToken: source.token + }).then((result) => { + source = null + const urls = [] + const { photos } = result + photos.forEach((item) => { + const obj = { + width: item.width, + height: item.height, + url: '', + downloadUrl: '', + } + const { images } = item + let maxSize = 0 + for (let i = 0; i < images.length; i++) { + if (images[i].size >= 200 && images[i].size <= 700) { + obj.url = images[i].https_url + } + const realSize = images[i].https_url.match(/m%3D(\d*)/) + if (realSize && realSize[1]){ + if (parseInt(realSize[1], 10) > maxSize) { + obj.downloadUrl = images[i].https_url + } + maxSize = parseInt(realSize[1], 10) + } + } + urls.push(obj) + }) + resolve(urls) + }).catch((err) => { + source = null + console.log('------------请求失败500px:', baseUrl) + reject() + }) + }) +} + +export const cancelImage = function () { + if (source) { + source.cancel() + } +} diff --git a/src/get-image/nasa.js b/src/get-image/nasa.js new file mode 100755 index 0000000..f6512a4 --- /dev/null +++ b/src/get-image/nasa.js @@ -0,0 +1,73 @@ +/* eslint-disable max-len */ + +const BASEPARAMS = { + size: 50, + from: 0, + sort: 'promo-date-time:desc', + q: '((ubernode-type:image) AND (routes:1446))', + _source_include: 'promo-date-time,master-image,nid,title,topics,missions,collections,other-tags,ubernode-type,primary-tag,secondary-tag,cardfeed-title,type,collection-asset-link,link-or-attachment,pr-leader-sentence,image-feature-caption,attachments,uri' +} + +const BASEURL = 'https://www.nasa.gov/api/2/ubernode/_search' + +const PUBLICURL = 'https://www.nasa.gov/sites/default/files/styles/image_card_4x3_ratio/public/' +const DOWNLOADPUBLICURL = 'https://www.nasa.gov/sites/default/files/' + +const axios = require('axios') + +const { CancelToken } = axios +let source = null + +const { axiosGet } = require('../utils/axios') + +export const getImage = function (data) { + return new Promise((resolve, reject) => { + if (!data) { + resolve([]) + return + } + const baseUrl = BASEURL + source = CancelToken.source() + axiosGet({ + url: baseUrl, + params: { + ...BASEPARAMS, + from: (data.page * BASEPARAMS.size) + }, + cancelToken: source.token + }).then((result) => { + source = null + + const { hits: { hits } } = result + const urls = [] + + hits.forEach((item) => { + const { _source: { 'master-image': imageData } } = item + const { width, height, uri } = imageData + const obj = { + width, + height, + url: uri.replace('public://', PUBLICURL), + downloadUrl: uri.replace('public://', DOWNLOADPUBLICURL), + } + urls.push(obj) + }) + resolve(urls) + }).catch((error) => { + source = null + console.log('------------请求失败nasa:', error) + reject() + }) + }) +} + +// getImage({ +// page: 0, +// searchKey: '' +// }) + +export const cancelImage = function () { + if (source) { + source.cancel() + } +} diff --git a/src/get-image/paper.js b/src/get-image/paper.js new file mode 100755 index 0000000..5279b04 --- /dev/null +++ b/src/get-image/paper.js @@ -0,0 +1,68 @@ + +const axios = require('axios') + +const { CancelToken } = axios +let source = null + +const { axiosGet } = require('../utils/axios') + +export const getPaperSetting = function (data){ + const returnResult = [] + return new Promise((resolve, reject) => { + axiosGet({ + url: 'https://service.paper.meiyuan.in/api/v2/columns' + }).then((result) => { + for (const item of result){ + returnResult.push({ + name: item.langs['zh-Hans-CN'], + value: item._id + }) + } + resolve(returnResult) + }).catch(() => { + resolve(returnResult) + }) + }) +} + +export const getImage = function (data) { + return new Promise((resolve, reject) => { + if (!data || !data.searchKey) { + resolve([]) + return + } + const baseUrl = `https://service.paper.meiyuan.in/api/v2/columns/flow/${data.searchKey}` + source = CancelToken.source() + axiosGet({ + url: baseUrl, + params: { + page: data.page + 1, + per_page: 50 + }, + cancelToken: source.token + }).then((result) => { + source = null + const urls = [] + result.forEach((item) => { + const obj = { + width: item.width, + height: item.height, + url: item.urls.small, + downloadUrl: item.urls.raw, + } + urls.push(obj) + }) + resolve(urls) + }).catch((error) => { + source = null + console.log('------------请求失败paper:', baseUrl, data) + reject() + }) + }) +} + +export const cancelImage = function () { + if (source) { + source.cancel() + } +} diff --git a/src/get-image/pexels.js b/src/get-image/pexels.js new file mode 100755 index 0000000..23bc0f7 --- /dev/null +++ b/src/get-image/pexels.js @@ -0,0 +1,100 @@ +/** * + * pexels网站 https://www.pexels.com + */ + +const cheerio = require('cheerio') +const { request } = require('http2-client') + +// 下一页的时间参数 +let nextPageSeed = '' +// 请求对象 +let reqObject = null + +const analysisResult = function (result){ + const urls = [] + const $ = cheerio.load(result) + if ($('.next_page').length){ + nextPageSeed = $('.next_page')[0].attribs.href + } + const imageItems = $('.photo-item__img') + // 是否存在 + if (nextPageSeed.length){ + const imageItemsLength = imageItems.length + for (let i = 0; i < imageItemsLength; i++){ + const { attribs } = imageItems[i] + if (attribs['data-big-src']){ + const obj = { + width: attribs['data-image-width'], + height: attribs['data-image-height'], + url: attribs['data-large-src'], + downloadUrl: attribs['data-big-src'].split('?')[0] + } + urls.push(obj) + } + } + } + return urls +} + + +export const getImage = function (data) { + return new Promise((resolve, reject) => { + if (!data) { + resolve([]) + } + if (data.page === 0){ + nextPageSeed = '' + } + let baseUrl = 'https://www.pexels.com' + if (data.searchKey) { + baseUrl = `https://www.pexels.com/search/${data.searchKey}` + } + const url = baseUrl + nextPageSeed + console.log('------------', url) + + reqObject = request(url, { + method: 'GET', + headers: { + 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36', + accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', + 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8', + cookie: '__cfduid=dc0c8a5d9efdac6eb0e5b49745a6ce78e1579152913;' + + 'locale=en-US; _ga=GA1.2.727888903.1579152916;' + + '_gid=GA1.2.1309891260.1579152916; _fbp=fb.1.1579152916921.482810349;' + + '_hjid=dac493c8-a7f3-4834-9d25-10ef85de0227; _gat=1', + }, + }, (res) => { + const { http2Clients } = reqObject.getGlobalManager({}) + if (res.statusCode === 200){ + res.setEncoding('utf8') + let resultData = '' + res.on('data', (chunk) => { resultData += chunk }) + res.on('end', () => { + Object.values(http2Clients).forEach((i) => { i.close() }) + try { + reqObject = null + resolve(analysisResult(resultData)) + } catch (error) { + console.log('------------解析失败pexels:') + reject() + } + }) + } + else { + console.log('------------请求失败pexels:') + reject() + Object.values(http2Clients).forEach((i) => { i.close() }) + reqObject = null + } + res.end() + }) + }) +} + + +export const cancelImage = function () { + if (reqObject && reqObject.getGlobalManager) { + const { http2Clients } = reqObject.getGlobalManager({}) + Object.values(http2Clients).forEach((i) => { i.close() }) + } +} diff --git a/src/get-image/search.js b/src/get-image/search.js new file mode 100755 index 0000000..abf14c7 --- /dev/null +++ b/src/get-image/search.js @@ -0,0 +1,53 @@ +import { apiTranslation } from '../api/api' +import { imageSourceType } from '../utils/utils' + +let type = '' + +const pexels = require('./pexels') +const fiveHundred = require('./500px') +const paper = require('./paper') +const unsplash = require('./unsplash') +const wallhaven = require('./wallhaven') +const nasa = require('./nasa') +const themoviedb = require('./themoviedb') + +const cancelFn = { + pexels: pexels.cancelImage, + '500px': fiveHundred.cancelImage, + paper: paper.cancelImage, + unsplash: unsplash.cancelImage, + wallhaven: unsplash.cancelImage, + nasa: nasa.cancelImage, + themoviedb: themoviedb.cancelImage +} + +const getUrl = { + pexels: pexels.getImage, + '500px': fiveHundred.getImage, + paper: paper.getImage, + unsplash: unsplash.getImage, + wallhaven: wallhaven.getImage, + nasa: nasa.getImage, + themoviedb: themoviedb.getImage +} + +export const getUrls = function (data) { + return new Promise(async (resolve, reject) => { + type = data.imageSource + const currentImageSource = imageSourceType.find(i => i.value === type) + data.searchKey = currentImageSource.isSupportChinaSearch ? data.searchKey : await apiTranslation(data.searchKey) + getUrl[type](data).then((urls) => { + resolve(urls) + }).catch((error) => { + reject(error) + }).finally(() => { + type = '' + }) + }) +} + +export const cancelUrls = function () { + if (type !== '') { + cancelFn[type]() + } +} diff --git a/src/get-image/themoviedb.js b/src/get-image/themoviedb.js new file mode 100755 index 0000000..8a5508c --- /dev/null +++ b/src/get-image/themoviedb.js @@ -0,0 +1,102 @@ +/* eslint-disable max-len */ + +import userConfig from '../../.user-config' + +const { themoviedbAppKey } = userConfig +const APIKEY = themoviedbAppKey +const MOVELISTAPI = 'https://api.themoviedb.org/3/discover/movie' +const ALLSEARCHAPI = 'https://api.themoviedb.org/3/search/multi' +const MOVELISTPARAMS = { + api_key: APIKEY, + language: 'zh-CN', + sort_by: 'popularity.desc', + include_adult: false, + include_video: false, + page: 1 +} + +const BASEIMAGEDOWNURL = 'https://image.tmdb.org/t/p/original' +const BASEIMAGEURL = 'https://image.tmdb.org/t/p/w500' + +// const GETMOVEIMAGEURL='https://api.themoviedb.org/3/movie/${moveid}/images?api_key=' + + +const axios = require('axios') + +const { CancelToken } = axios +let source = null + + +const { axiosGet } = require('../utils/axios') + +const getImages = function (movieId, type){ + return new Promise((resolve) => { + axiosGet({ + url: `https://api.themoviedb.org/3/${type}/${movieId}/images`, + params: { + api_key: APIKEY + }, + }).then((result) => { + const { backdrops } = result + const urls = [] + backdrops.forEach((item) => { + const { width, height, file_path: filePath } = item + urls.push({ + width, + height, + url: `${BASEIMAGEURL}${filePath}`, + downloadUrl: `${BASEIMAGEDOWNURL}${filePath}`, + }) + }) + resolve(urls) + }).catch((err) => { + resolve([]) + }) + }) +} + +export const getImage = function (data) { + return new Promise((resolve, reject) => { + if (!data) { + resolve([]) + return + } + source = CancelToken.source() + let url = MOVELISTAPI + let params = { + ...MOVELISTPARAMS, + page: data.page + 1 + } + if (data.searchKey){ + url = ALLSEARCHAPI + params = { + api_key: APIKEY, + // language: 'zh-CN', + page: data.page + 1, + include_adult: false, + query: data.searchKey + } + } + axiosGet({ url, params, cancelToken: source.token }).then(async (result) => { + const { results } = result + let urls = [] + await Promise.all(results.map(async (item) => { + const { id, media_type: mediaType = 'movie' } = item + const movieImages = await getImages(id, mediaType) + urls = [...movieImages, ...urls] + return Promise.resolve + })) + resolve(urls) + }).catch((error) => { + source = null + console.log('------------请求失败tmdb:', error) + reject() + }) + }) +} + +export const cancelImage = function () { + if (source) { + source.cancel() + } +} diff --git a/src/get-image/unsplash.js b/src/get-image/unsplash.js new file mode 100755 index 0000000..7814bd0 --- /dev/null +++ b/src/get-image/unsplash.js @@ -0,0 +1,87 @@ +/** * + * pexels网站 https://unsplash.com/t/wallpapers + * + * + * 获取壁纸 + * https://unsplash.com/napi/collections/1065976/photos? + * page=6 + * per_page=10 + * order_by=latest + * share_key=a4a197fc196734b74c9d87e48cc86838 + * + * 主图片 + * https://unsplash.com/napi/photos?page=3&per_page=12 + * + * + * + * 搜索 + * https://unsplash.com/napi/search?query=cat&xp=&per_page=20 + * + */ + + +const axios = require('axios') + +const { CancelToken } = axios +let source = null + +const { axiosGet } = require('../utils/axios') + +export const getImage = function (data) { + return new Promise((resolve, reject) => { + if (!data) { + resolve([]) + } + let baseUrl = 'https://unsplash.com/napi/collections/1065976/photos' + let searchFalg = false + let params = { + page: data.page, + order_by: 'latest', + per_page: 50, + share_key: 'a4a197fc196734b74c9d87e48cc86838' + } + if (data.searchKey) { + baseUrl = 'https://unsplash.com/napi/search/photos' + searchFalg = true + params = { + query: data.searchKey, + xp: '', + per_page: 50, + page: data.page, + } + } + source = CancelToken.source() + axiosGet({ + url: baseUrl, + params, + cancelToken: source.token + }).then((result) => { + source = null + const urls = [] + let newRes = result + if (searchFalg){ + newRes = result.results + } + newRes.forEach((item) => { + const obj = { + width: item.width, + height: item.height, + url: item.urls.small, + downloadUrl: item.urls.full, + } + urls.push(obj) + }) + resolve(urls) + }).catch(() => { + source = null + console.log('------------请求失败unsplash:', baseUrl) + reject() + }) + }) +} + +export const cancelImage = function () { + if (source) { + source.cancel() + } +} diff --git a/src/get-image/wallhaven.js b/src/get-image/wallhaven.js new file mode 100755 index 0000000..0e51b3c --- /dev/null +++ b/src/get-image/wallhaven.js @@ -0,0 +1,83 @@ +/** * + * https://wallhaven.cc + * + * + * 获取壁纸 + * https://wallhaven.cc/latest? + * page=2 + * + * + * 搜索 + * https://wallhaven.cc/search?q=cat&categories=111&purity=100&sorting=date_added&order=desc + * page=2 + * + */ + + +const axios = require('axios') +const cheerio = require('cheerio') + +const { CancelToken } = axios +let source = null + +const { axiosGet } = require('../utils/axios') + +export const getImage = function (data) { + return new Promise((resolve, reject) => { + if (!data) { + resolve([]) + } + let baseUrl = 'https://wallhaven.cc/latest' + let params = {} + if (data.page > 0){ + params.page = data.page + 1 + } + if (data.searchKey) { + baseUrl = 'https://wallhaven.cc/search' + params = { + ...params, + q: data.searchKey, + categories: 111, + purity: 100, + sorting: 'date_added', + order: 'desc' + } + } + source = CancelToken.source() + axiosGet({ + url: baseUrl, + params, + cancelToken: source.token + }).then((result) => { + source = null + const urls = [] + const $ = cheerio.load(result) + + $('figure').each((index, node) => { + const wallpaperId = node.attribs['data-wallpaper-id'] + const url = $(node).find('img').attr('data-src') + const isPng = Boolean($(node).find('.png').length) + const [width, height] = $(node).find('.wall-res').html().split('x') + const downloadUrl = `https://w.wallhaven.cc/full/${wallpaperId.slice(0, 2)}/wallhaven-${wallpaperId}.${isPng ? 'png' : 'jpg'}` + const obj = { + width: width.trim(), + height: height.trim(), + url, + downloadUrl, + } + urls.push(obj) + }) + resolve(urls) + }).catch(() => { + source = null + console.log('------------请求失败wallhaven:', baseUrl) + reject() + }) + }) +} + +export const cancelImage = function () { + if (source) { + source.cancel() + } +} diff --git a/src/index.ejs b/src/index.ejs new file mode 100755 index 0000000..e2f1908 --- /dev/null +++ b/src/index.ejs @@ -0,0 +1,24 @@ + + + + + Strawberry Wallpaper + <% if (htmlWebpackPlugin.options.nodeModules) { %> + + + <% } %> + + +
+ + <% if (!process.browser) { %> + + <% } %> + + + + diff --git a/src/main/.pydio b/src/main/.pydio new file mode 100644 index 0000000..3154660 --- /dev/null +++ b/src/main/.pydio @@ -0,0 +1 @@ +ea3afe40-4434-4a1e-8de1-7776424a00b8 \ No newline at end of file diff --git a/src/main/full-window.js b/src/main/full-window.js new file mode 100755 index 0000000..f1c64cf --- /dev/null +++ b/src/main/full-window.js @@ -0,0 +1,58 @@ +const electron = require('electron') +const { baseUrl } = require('../utils/utils') + +const { BrowserWindow } = electron + +let fullWindow = null + +/** + * 创建窗口 + * @function createWindow + */ +function createWindow() { + fullWindow = new BrowserWindow({ + width: 1200, + height: 700, + frame: false, + maximizable: true, + minimizable: true, + // fullscreenable: true, + // fullscreen: true, + }) + fullWindow.loadURL(`${baseUrl}#/full`) + + fullWindow.on('close', () => { + fullWindow = null + }) + + fullWindow.on('enter-full-screen', () => { + // console.log('Jin人员') + // fullWindow.setWindowButtonVisibility(true) + }) +} + +function openWindow(){ + if (!fullWindow){ + createWindow() + // fullWindow.openDevTools() + } + else { + fullWindow.show() + } +} + +function closeWindow(){ + if (fullWindow){ + fullWindow.hide() + } +} + +function getWindow(){ + return fullWindow +} + +export default { + openWindow, + closeWindow, + getWindow, +} diff --git a/src/main/index.dev.js b/src/main/index.dev.js new file mode 100755 index 0000000..9216bbd --- /dev/null +++ b/src/main/index.dev.js @@ -0,0 +1,18 @@ +/** + * This file is used specifically and only for development. It installs + * `electron-debug` & `vue-devtools`. There shouldn't be any need to + * modify this file, but it can be used to extend your development + * environment. + */ + +/* eslint-disable */ + +require('electron').app.on('ready', () => { + // let installExtension = require('electron-devtools-installer') + // installExtension.default(installExtension.VUEJS_DEVTOOLS).then(() => {}).catch(err => { + // console.log('Unable to install `vue-devtools`: \n', err) + // }) +}) + +// Require `main` process to boot app +require('./index') \ No newline at end of file diff --git a/src/main/index.js b/src/main/index.js new file mode 100755 index 0000000..77bfae8 --- /dev/null +++ b/src/main/index.js @@ -0,0 +1,532 @@ +import fullWindow from './full-window' + +const electron = require('electron') + +const { app, BrowserWindow, Tray, ipcMain, dialog } = electron +const fs = require('fs') +const path = require('path') +const { autoUpdater } = require('electron-updater') +const log = require('electron-log') +const { setCurrentWallpaper, changeWallpaperScale } = require('../wallpaper/outwallpaper') +const { openAutoStart, openDisStart } = require('../file/auto-open') +const { downloadPic, cancelDownloadPic } = require('../file/file') +const { getUrls, cancelUrls } = require('../get-image/search') +const { newEmail } = require('./mail') + +const { isDev, isMac, isWin, baseUrl } = require('../utils/utils') +const { getPaperSetting } = require('../get-image/paper') + +log.transports.file.level = 'info' + + +let mainWindow = null +// 托盘对象 +let appTray = null +let openAppFlag = true +let currentScreenIndex = 0 // 当前屏幕的索引 + +const mainCallBack = { + 'autoUpdater.downloadUpdate': () => { + autoUpdater.downloadUpdate() + }, +} + +appOpenInit() +ipcMainInit() +autoUpdaterInit() +setTimeIntervalInit() + + +/** + * 创建程序锁,保证只能打开单个实例 + * @function appOpenInit + */ +function appOpenInit(){ + if (isWin()) { + const gotTheLock = app.requestSingleInstanceLock() + if (!gotTheLock) { + app.quit() + } else { + app.on('second-instance', (event, commandLine, workingDirectory) => { + if (mainWindow) { + if (!mainWindow.isVisible()) { + mainWindowShow() + } + mainWindow.focus() + } + }) + } + } else if (isMac()) { + app.dock.hide() + } + app.on('ready', () => { + // fullWindow.openWindow() + setTimeout(() => { + if (!isDev()) { + autoUpdater.logger = log + autoUpdater.autoDownload = false + checkUpdater() + } + appInit() + }, 10) + }) + + app.on('window-all-closed', () => { + if (process.platform !== 'darwin') { + app.quit() + } + }) + + + app.on('activate', () => { + if (mainWindow === null) { + appInit() + } else { + mainWindowShow() + } + }) +} + +/** + * 创建窗口 + * @function createWindow + */ +function createWindow() { + mainWindow = new BrowserWindow({ + height: 600, + width: 310, + frame: false, + transparent: true, + show: false, + alwaysOnTop: true, + resizable: false, // 禁止变化尺寸 + hasShadow: true, // 是否阴影 + focusable: true, + fullscreenable: false, + skipTaskbar: true, + minimizable: false, + maximizable: false, + closable: false, + fullscreen: false, + titleBarStyle: 'customButtonsOnHover' + }) + + // mainWindow.openDevTools() + + mainWindow.loadURL(baseUrl) + + mainWindow.on('blur', () => { + mainWindow.hide() + }) + + mainWindow.on('closed', () => { + app.quit() + mainWindow = null + }) +} + +/** + * 设置定时器 + */ +function setTimeIntervalInit(){ + // 10s执行一次 + setInterval(() => { + sendData('intervalTime') + }, 10000) +} + +/** + * 创建 Tray + * @function createAppTray + */ +function createAppTray() { + if (isMac()) { + // eslint-disable-next-line no-undef + appTray = new Tray(path.resolve(__static, './img/trayTemplate.png')) + } else if (isWin()) { + // eslint-disable-next-line no-undef + appTray = new Tray(path.resolve(__static, './img/tray.png')) + } + + // 系统托盘图标目录 + appTray.on('click', (event, bounds, position) => { + // mainWindow === null ? createWindow() : mainWindow.close() + // return + // 点击时显示窗口,并修改窗口的显示位置 + function setMainWinPosition(win, trayBounds) { + try { + const { screen } = electron + const winWidth = mainWindow.getSize()[0] + const winHeight = mainWindow.getSize()[1] + const cursorPosition = screen.getCursorScreenPoint() + const currentScreen = screen.getDisplayNearestPoint(cursorPosition) + const screenLists = screen.getAllDisplays() + + currentScreenIndex = screenLists.findIndex(i => i.id === currentScreen.id) + + + // 保证永远在图标的中心位置,因为没有做其他方向的三角,所以暂不考虑高 + cursorPosition.x = trayBounds.x + trayBounds.width / 2 + const parallelType = cursorPosition.x < currentScreen.bounds.x + currentScreen.workAreaSize.width / 2 ? 'left' : 'right' + const verticaType = cursorPosition.y < currentScreen.bounds.y + currentScreen.workAreaSize.height / 2 ? 'top' : 'bottom' + + let trayPositionType = '' // 任务栏的位置 top|bottom|left|right + let trayPositionSize = 0 // 任务栏的尺寸 + + if (currentScreen.workAreaSize.height < currentScreen.size.height) { + trayPositionType = verticaType === 'top' ? 'top' : 'bottom' + trayPositionSize = currentScreen.size.height - currentScreen.workAreaSize.height + } else if (currentScreen.workAreaSize.width < currentScreen.size.width) { + trayPositionType = parallelType === 'left' ? 'left' : 'right' + trayPositionSize = currentScreen.size.width - currentScreen.workAreaSize.width + } + let winPositionX = 0 + let winPositionY = 0 + if (trayPositionType === 'top') { + winPositionX = Math.max(Math.min(currentScreen.bounds.width + currentScreen.bounds.x - winWidth, cursorPosition.x - (winWidth / 2)), currentScreen.bounds.x) + winPositionY = currentScreen.bounds.y + trayPositionSize + 2 + } else if (trayPositionType === 'bottom') { + winPositionX = Math.max(Math.min(currentScreen.bounds.width + currentScreen.bounds.x - winWidth, cursorPosition.x - (winWidth / 2)), currentScreen.bounds.x) + winPositionY = currentScreen.bounds.height + currentScreen.bounds.y - trayPositionSize - winHeight + } else if (trayPositionType === 'left') { + winPositionX = currentScreen.bounds.x + trayPositionSize + winPositionY = Math.max(Math.min(currentScreen.bounds.height + currentScreen.bounds.y - winHeight, cursorPosition.y - (winHeight / 2)), currentScreen.bounds.y) + } else if (trayPositionType === 'right') { + winPositionX = currentScreen.bounds.x + currentScreen.bounds.width - trayPositionSize - winWidth + winPositionY = Math.max(Math.min(currentScreen.bounds.height + currentScreen.bounds.y - winHeight, cursorPosition.y - (winHeight / 2)), currentScreen.bounds.y) + } + log.info('--------------------------------') + log.info('currentScreen:', currentScreen) + log.info('position:', winPositionX, winPositionY) + log.info('trayPositionType:', trayPositionType) + log.info('trayPositionSize', trayPositionSize) + log.info('cursorPosition:', cursorPosition) + log.info('--------------------------------') + win.setPosition(parseInt(winPositionX, 10), winPositionY) + } catch (error) { + log.error(error) + } + } + + try { + if (mainWindow.isVisible()) { + sendData('datainfo', { + type: 'windowShow', + data: false + }) + mainWindowHide() + } else { + sendData('datainfo', { + type: 'windowShow', + data: true + }) + mainWindowShow() + setMainWinPosition(mainWindow, bounds) + } + } catch (error) { + log.error(error) + } + }) + + mainWindow.on('show', () => { + appTray.setHighlightMode('never') + }) + mainWindow.on('hide', () => { + appTray.setHighlightMode('selection') + }) +} + + +function appInit() { + if (mainWindow == null) { + createWindow() // 创建主窗口 + } else { + mainWindowShow() + } + if (appTray == null) { + createAppTray() // 创建系统托盘 + } +} + +/** + * 给所有的的渲染进程发消息 + */ +function sendData(...args){ + const fullWindowWindow = fullWindow.getWindow() + const windows = [mainWindow, fullWindowWindow] + windows.forEach((i) => { + if (i){ + i.webContents.send(...args) + } + }) +} + +/** + * 主窗口显示,创建一个动画效果 + */ +function mainWindowShow() { + let opacity = 0 + mainWindow.show() + const time = setInterval(() => { + if (opacity >= 1) { + opacity = 1 + clearInterval(time) + } + mainWindow.setOpacity(opacity) + opacity = parseFloat((opacity + 0.1).toFixed(1)) + }, 80) +} + +/** + * 主窗口隐藏,创建一个动画效果 + */ +function mainWindowHide() { + let opacity = 1 + const time = setInterval(() => { + if (opacity <= 0) { + opacity = 0.0 + clearInterval(time) + mainWindow.hide() + } + mainWindow.setOpacity(opacity) + opacity = parseFloat((opacity - 0.1).toFixed(1)) + }, 80) +} + + +function ipcMainInit() { + /** * 主进程传一个字符串给渲染进程,渲染进程在传递事件给主进程 用于主进程中的一些函数回调 */ + ipcMain.on('maincallback', (event, data, argument) => { + if (typeof mainCallBack[data] !== 'undefined') { + mainCallBack[data](argument) + } + }) + + // 取消所有请求 + // eslint-disable-next-line no-unused-vars + ipcMain.on('cancelAllRequest', (event, data) => { + cancelDownloadPic() + cancelUrls() + }) + + ipcMain.on('fullWindow', (event, data) => { + if (data){ + fullWindow.openWindow() + } + else { + fullWindow.closeWindow() + } + }) + + + ipcMain.on('dataWallpaper', (event, arg) => { + downloadPic(arg.downloadUrl, sendData, arg.userConfig).then((filePath) => { + const { options } = arg + if (isMac() && options.autoSetAllScreens === false){ + setCurrentWallpaper(filePath, { + ...options, + screen: currentScreenIndex, + }) + } + else { + setCurrentWallpaper(filePath) + } + + log.info(`设置壁纸成功:${filePath}`) + event.sender.send('dataWallpaper', 'success') + }).catch((error) => { + log.error(`设置壁纸失败:${arg.downloadUrl}`) + log.error(error) + event.sender.send('dataWallpaper', 'error') + }) + }) + + ipcMain.on('getImageUrls', (event, data) => { + getUrls(data).then((result) => { + sendData('datainfo', { + type: 'urls', + data: result + }) + }).catch(() => { + sendData('datainfo', { + type: 'urlsError', + data: '' + }) + }) + }) + + ipcMain.on('btn', (event, data) => { + if (data.type === 'quit') { + // 窗口设置了closeable为false后不能退出程序,手动再设置一下 + mainWindow.setClosable(true) + app.quit() + // eslint-disable-next-line no-empty + } else if (data.type === 'searchKey') { + + } else if (data.type === 'openStart') { + if (data.data) { + openAutoStart() + } else { + openDisStart() + } + } else if (data.type === 'newEmail') { + newEmail(data.data.data, data.data.telUser, { + version: autoUpdater.currentVersion, + emailType: data.data.emailType + }).then(() => { + event.sender.send('sendnewEmail', 'success', data.data.emailType) + }).catch((error) => { + event.sender.send('sendnewEmail', 'error', data.data.emailType, error) + }) + } else if (data.type === 'checkNewVersion') { + checkUpdater() + } + else if (data.type === 'setDefaultDownPath'){ + mainWindow.setAlwaysOnTop(false) + dialog.showOpenDialog({ + properties: ['openDirectory', 'createDirectory', 'promptToCreate'], + message: '选择要下载图片所在文件夹', + defaultPath: data.data }, + (paths) => { + mainWindow.setAlwaysOnTop(true) + if (paths){ + // 清空原目录中的文件 + delPath(data.data) + event.sender.send('defaultPath', paths[0]) + } + }, mainWindow) + } + else if (data.type === 'deleteFile'){ + delPath(data.data) + } + + else if (data.type === 'changeWallpaperScale'){ + changeWallpaperScale({ scale: data.data }) + } + }) + + // 渲染函数运行过来 + ipcMain.on('runFunc', async (event, data) => { + // 存放一些函数 + const FUNCLIST = { + getPaperSetting, // 获取paper的设置 + } + if (FUNCLIST[data]){ + FUNCLIST[data]().then((result) => { + event.returnValue = result + }).catch(() => { + event.returnValue = false + }) + } + }) +} + +function checkUpdater() { + autoUpdater.checkForUpdates().then((result) => { + }).catch((error) => { + log.error(error) + }) +} + +function autoUpdaterInit() { + /** * 下载完成 */ + autoUpdater.on('update-downloaded', () => { + autoUpdater.quitAndInstall() + }) + + autoUpdater.on('error', (info) => { + if (openAppFlag) { + openAppFlag = false + return + } + dialog.showMessageBox({ + type: 'error', + buttons: ['关闭'], + title: '版本更新', + message: '版本更新检测出错', + detail: '可能是网路不好或者版本Bug,请提交意见反馈', + // eslint-disable-next-line no-undef + icon: path.resolve(__static, './img/banben.png') + }) + }) + + + autoUpdater.on('update-available', (info) => { + dialog.showMessageBox({ + type: 'info', + buttons: ['是', '否'], + title: '版本更新', + message: `当前版本:${autoUpdater.currentVersion}`, + detail: `检测到新版本:${info.version},是否升级?`, + // eslint-disable-next-line no-undef + icon: path.resolve(__static, './img/banben.png') + }, (response) => { + if (response === 0) { + autoUpdater.downloadUpdate() + } else if (response === 1) { + console.log('1') + } + }) + log.info('检测到新版本', info) + }) + + autoUpdater.on('checking-for-update', (info) => { + log.info('检测更新已发出', info) + }) + + + autoUpdater.on('update-not-available', (info) => { + if (openAppFlag) { + openAppFlag = false + return + } + log.error('没有检测到新版本', info) + dialog.showMessageBox({ + type: 'info', + buttons: ['关闭'], + title: '版本更新', + message: `当前版本:${autoUpdater.currentVersion}`, + detail: '当前已是最新版本,无需更新', + // eslint-disable-next-line no-undef + icon: path.resolve(__static, './img/banben.png') + }) + }) + + + // 更新下载进度 + autoUpdater.on('download-progress', (progressObj) => { + sendData('datainfo', { + type: 'updaterProgress', + data: progressObj.percent + }) + }) +} + +/** + * 删除指定目录 + * @param {String} filePath + */ +function delPath(filePath){ + if (!fs.existsSync(filePath)){ + return '路径不存在' + } + const info = fs.statSync(filePath) + if (info.isDirectory()){ // 目录 + const data = fs.readdirSync(filePath) + if (data.length > 0){ + for (let i = 0; i < data.length; i++) { + if (data[i].match('SW-')){ + delPath(`${filePath}/${data[i]}`) // 使用递归 + if (i === data.length - 1){ // 删了目录里的内容就删掉这个目录 + delPath(`${filePath}`) + } + } + } + } else { + fs.rmdirSync(filePath)// 删除空目录 + } + } else if (info.isFile()){ + fs.unlinkSync(filePath)// 删除文件 + } + return true +} diff --git a/src/main/mail.js b/src/main/mail.js new file mode 100755 index 0000000..7758cb7 --- /dev/null +++ b/src/main/mail.js @@ -0,0 +1,56 @@ + +import userConfig from '../../.user-config.js' + +const nodemailer = require('nodemailer') + +const { emailUserName, emailPassword } = userConfig + + +/** + * 发送一封邮件 + * @param {Object} data 邮件的主体内容 + * @param {*} telUser 主题中第三个框中的内容 + * @param {Object} appInfo 邮件的相关信息 + */ +// eslint-disable-next-line import/prefer-default-export +export function newEmail(data, telUser, appInfo){ + return new Promise((resolve, reject) => { + nodemailer.createTestAccount((err) => { + // 建立一个邮箱连接 + const transporter = nodemailer.createTransport({ + host: 'smtp.163.com', // 发件箱地址 + port: 465, + secure: true, // true for 465, false for other ports + auth: { + user: emailUserName, // 用户名 + pass: emailPassword // 密码 + + } + }) + + // 设置发件内容 + const mailOptions = { + from: 'strawberrypaper@163.com', // 发件人地址 + to: 'strawberrypaper@163.com', // 收件人地址 + subject: `【${appInfo.emailType}:草莓壁纸】[${appInfo.version}]${telUser}`, // 主题 + text: '', + html: (() => { + let html = '' + for (const [key, value] of Object.entries(data)){ + html += `
${key}:${value}
` + } + return html + })() + } + + // 发送 + transporter.sendMail(mailOptions, (error, info) => { + if (error || !info) { + reject(error.response) + } else { + resolve(info) + } + }) + }) + }) +} diff --git a/src/renderer/.pydio b/src/renderer/.pydio new file mode 100644 index 0000000..0055061 --- /dev/null +++ b/src/renderer/.pydio @@ -0,0 +1 @@ +61fa188d-1397-4a0e-b2f5-e09587c17998 \ No newline at end of file diff --git a/src/renderer/App.vue b/src/renderer/App.vue new file mode 100755 index 0000000..03bc88f --- /dev/null +++ b/src/renderer/App.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/renderer/assets/.pydio b/src/renderer/assets/.pydio new file mode 100644 index 0000000..fb29e9a --- /dev/null +++ b/src/renderer/assets/.pydio @@ -0,0 +1 @@ +71619b91-9748-432f-87e7-53e84fc82618 \ No newline at end of file diff --git a/src/renderer/assets/css/.pydio b/src/renderer/assets/css/.pydio new file mode 100644 index 0000000..6d348c5 --- /dev/null +++ b/src/renderer/assets/css/.pydio @@ -0,0 +1 @@ +3b45e05a-7aeb-48d3-bd56-1f5499136726 \ No newline at end of file diff --git a/src/renderer/assets/css/base.css b/src/renderer/assets/css/base.css new file mode 100755 index 0000000..4ab875d --- /dev/null +++ b/src/renderer/assets/css/base.css @@ -0,0 +1,100 @@ +*{ + margin: 0px; + font-family: 'PingFang SC',"Microsoft YaHei"; + box-sizing: border-box; +} +html,body,.app{ + width: 100%; + height: 100%; + background-color: transparent; +} +.el-input__inner { + border: none; + background-color: #383838; + color: #a5a5a5; +} + +.el-textarea__inner{ + border: none; + background-color: #383838; + color: #a5a5a5; +} +input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { + color: #a5a5a5; + font-size: 12px; +} +.el-button--primary{ + width: 100%; + background-color: #383838; + border: none; + color: #a5a5a5; +} + +.el-button--primary:focus, .el-button--primary:hover{ + background-color: #4d4e4e; + border: none; + border: none; +} + + +.popper__arrow { + border-bottom-color: #383838; +} + +.el-popper[x-placement^="bottom"] .popper__arrow::after { + border-bottom-color: #383838; +} + +.el-popper[x-placement^="bottom"] .popper__arrow { + border-bottom-color: #383838; +} + +.el-select-dropdown { + background-color: #383838; + color: #000000; + border: none; +} + +.el-select-dropdown__item.selected { + color: #ffffff; +} + +.el-select-dropdown__item.hover, +.el-select-dropdown__item:hover { + background-color: #767676; + color: #ffffff; +} + +.el-message-box__wrapper{ + z-index:99999 !important; +} +.v-modal{ + z-index:99998 !important; +} +.el-message{ + z-index:99997 !important; +} + +.page-transition-enter-active,.page-transition-leave-active{ + transform: translateX(0); + transition: transform .3s; +} +.page-transition-enter, .page-transition-leave-to /* .fade-leave-active below version 2.1.8 */ { + transform: translateX(100%); + transition: transform .3s; +} + + + +.el-loading-mask{ + background-color: rgba(255, 255, 255, 0.5) !important; + font-size: 20px; + color: #fff; +} +.el-loading-spinner i { + color: #fff; + font-size: 50px; +} +.el-radio { + line-height: 22px; +} \ No newline at end of file diff --git a/src/renderer/assets/js/.pydio b/src/renderer/assets/js/.pydio new file mode 100644 index 0000000..01c7463 --- /dev/null +++ b/src/renderer/assets/js/.pydio @@ -0,0 +1 @@ +2286d94d-beb4-43dd-a353-4613439e13e4 \ No newline at end of file diff --git a/src/renderer/assets/js/common-fn.js b/src/renderer/assets/js/common-fn.js new file mode 100755 index 0000000..ec1b978 --- /dev/null +++ b/src/renderer/assets/js/common-fn.js @@ -0,0 +1,54 @@ +/* + * @Description: 常用工具函数合集 + * @Author: -- + * @Date: 2019-02-14 09:06:39 + * @LastEditTime: 2019-04-09 10:16:30 + */ + +/** + * 深度克隆一个对象 + * @param {*} obj + * @param {*} cache + */ +export const deepClone = function (obj, cache = []) { + if (obj === null || typeof obj !== 'object') { + return obj + } + const hit = cache.find(c => c.original === obj) + if (hit) { + return hit.copy + } + + const copy = Array.isArray(obj) ? [] : {} + cache.push({ + original: obj, + copy + }) + + Object.keys(obj).forEach((key) => { + copy[key] = deepClone(obj[key], cache) + }) + + return copy +} + +/** + * 判断类型 + * @param {*} obj + */ +export const typeOf = (obj) => { + const { toString } = Object.prototype + const map = { + '[object Boolean]': 'boolean', + '[object Number]': 'number', + '[object String]': 'string', + '[object Function]': 'function', + '[object Array]': 'array', + '[object Date]': 'date', + '[object RegExp]': 'regExp', + '[object Undefined]': 'undefined', + '[object Null]': 'null', + '[object Object]': 'object' + } + return map[toString.call(obj)] +} diff --git a/src/renderer/assets/js/local-storage.js b/src/renderer/assets/js/local-storage.js new file mode 100755 index 0000000..5fcac4b --- /dev/null +++ b/src/renderer/assets/js/local-storage.js @@ -0,0 +1,53 @@ + +/** + * 储存localStorage + * @param {String} name + * @param {Object|String|Boolearn|Number} value + */ +const setStore = (name, value) => { + if (!name) { + return false + } + if (typeof value !== 'string') { + value = JSON.stringify(value) + } + window.localStorage.setItem(name, value) + return true +} + +/** + * 获取指定的localstorage + * @param {String} name + */ +const getStore = (name) => { + if (!name) return false + try { + if (window.localStorage.getItem(name) && window.localStorage.getItem(name).length > 1) { + const returnString = window.localStorage.getItem(name) + try { + return JSON.parse(returnString) + } catch (error) { + return returnString + } + } + } catch (error) { + console.log(error) + } + return '' +} + +/** + * 删除指定的localStorage + * @param {String} name + */ +const removeStore = (name) => { + if (!name || !window.localStorage.getItem(name)) return false + window.localStorage.removeItem(name) + return true +} + +export { + setStore, + getStore, + removeStore +} diff --git a/src/renderer/assets/js/vue-fn.js b/src/renderer/assets/js/vue-fn.js new file mode 100755 index 0000000..d95e872 --- /dev/null +++ b/src/renderer/assets/js/vue-fn.js @@ -0,0 +1,23 @@ +/* + * @Description: 函数注册 + * @Author: -- + * @Date: 2019-01-21 18:29:06 + * @LastEditTime: 2019-04-09 20:57:19 + */ + +import axios from 'axios' + +const { ipcRenderer } = require('electron') +const localStorage = require('./local-storage') +const { deepClone, typeOf } = require('./common-fn') + +export default { + version: '0.0.1', + install(Vue) { + Vue.prototype.$deepClone = deepClone + Vue.prototype.$localStorage = localStorage + Vue.prototype.$typeOf = typeOf + Vue.prototype.$ipcRenderer = ipcRenderer + Vue.prototype.$http = axios + }, +} diff --git a/src/renderer/components/.pydio b/src/renderer/components/.pydio new file mode 100644 index 0000000..969e682 --- /dev/null +++ b/src/renderer/components/.pydio @@ -0,0 +1 @@ +5e3ce05f-7d0c-44d9-b3d5-06da9c26335f \ No newline at end of file diff --git a/src/renderer/components/chrome-icon/.pydio b/src/renderer/components/chrome-icon/.pydio new file mode 100644 index 0000000..ea5ea2e --- /dev/null +++ b/src/renderer/components/chrome-icon/.pydio @@ -0,0 +1 @@ +0548aa3a-ab35-420e-a82c-282f39eb3514 \ No newline at end of file diff --git a/src/renderer/components/chrome-icon/index.vue b/src/renderer/components/chrome-icon/index.vue new file mode 100755 index 0000000..35d8787 --- /dev/null +++ b/src/renderer/components/chrome-icon/index.vue @@ -0,0 +1,56 @@ + + + + diff --git a/src/renderer/components/content-main/.pydio b/src/renderer/components/content-main/.pydio new file mode 100644 index 0000000..8707294 --- /dev/null +++ b/src/renderer/components/content-main/.pydio @@ -0,0 +1 @@ +a9389a88-3049-40d9-a37f-a069d8792f77 \ No newline at end of file diff --git a/src/renderer/components/content-main/index.vue b/src/renderer/components/content-main/index.vue new file mode 100755 index 0000000..a19ce90 --- /dev/null +++ b/src/renderer/components/content-main/index.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/renderer/components/icon/.pydio b/src/renderer/components/icon/.pydio new file mode 100644 index 0000000..36a4d2d --- /dev/null +++ b/src/renderer/components/icon/.pydio @@ -0,0 +1 @@ +887c1011-8169-4561-afc2-d4bb71db9b0d \ No newline at end of file diff --git a/src/renderer/components/icon/index.vue b/src/renderer/components/icon/index.vue new file mode 100755 index 0000000..1fad501 --- /dev/null +++ b/src/renderer/components/icon/index.vue @@ -0,0 +1,25 @@ + + + + + diff --git a/src/renderer/components/image-match/.pydio b/src/renderer/components/image-match/.pydio new file mode 100644 index 0000000..9e952d8 --- /dev/null +++ b/src/renderer/components/image-match/.pydio @@ -0,0 +1 @@ +885b5bac-6a22-4221-bfe0-5b0f532afc29 \ No newline at end of file diff --git a/src/renderer/components/image-match/index.js b/src/renderer/components/image-match/index.js new file mode 100755 index 0000000..e8ee876 --- /dev/null +++ b/src/renderer/components/image-match/index.js @@ -0,0 +1,85 @@ +export default { + install(Vue, options) { + // tip 的展示方向 + Vue.directive('imagematch', { + bind(el, binding) { + const matchType = ['width', 'height', 'auto'] + const q = matchType.filter(placement => binding.modifiers[placement]) + let time = 0 + el._type = q.length ? q[0] : 'auto' + + // eslint-disable-next-line camelcase + function _choponent_size_fn(e) { + const parentWidth = el.clientWidth + const parentHeight = el.clientHeight + + // 宽度与高度自适应 + if (el._type === 'auto') { + if (parentWidth / parentHeight > el._childrenWidth / el._childrenHeight) { + children.style.cssText = `width:${`${parentWidth}px`}; + height:auto; + transform: translateY(${`${(el._childrenHeight - (parentHeight * el._childrenWidth / parentWidth)) / 2 / (el._childrenWidth / parentWidth) * -1}px`});` + } else { + children.style.cssText = `width:auto; + height:${`${parentHeight}px`}; + transform: translateX(${`${(el._childrenWidth - (parentWidth * el._childrenHeight / parentHeight)) / 2 / (el._childrenHeight / parentHeight) * -1}px`});` + } + } + + // 宽度适应尺寸,高度自动 + else if (el._type === 'width') { + children.style.cssText = `width:${`${parentWidth}px`};height:auto;` + } + + // 高度适应尺寸,宽度自动 + else if (el._type === 'height') { + children.style.cssText = `width:auto;height:${`${parentHeight}px`};` + } + } + + el._choponent_size = function (e) { + // if(time!=0){ + // return; + // } + time = window.setTimeout(() => { + window.clearTimeout(time) + time = 0 + _choponent_size_fn(e) + }, 100) + } + + let children = document.createElement('img') + children.src = binding.value + el.appendChild(children) + children.onload = function () { + el._childrenWidth = children.width + el._childrenHeight = children.height + el._children = children + _choponent_size_fn() + window.addEventListener('resize', () => { + el._choponent_size() + }) + } + + // window.addEventListener('resize', el._choponent_size); + }, + inserted(el, binding) { + + }, + + update(el) { + + }, + componentUpdated(el, binding) { + + + }, + + unbind(el) { + if (el._choponent_size) { + window.removeEventListener('resize', el._choponent_size) + } + } + }) + } +} diff --git a/src/renderer/components/index.js b/src/renderer/components/index.js new file mode 100755 index 0000000..ee55eb5 --- /dev/null +++ b/src/renderer/components/index.js @@ -0,0 +1,21 @@ +import Vue from 'vue' +import loading from './loading' +import imageMatch from './image-match' +import pageHeader from './page-header' + +const components = [ + pageHeader +] + +const install = function (V) { + components.forEach((component) => { + V.component(component.name, component) + }) + Vue.prototype.$swLoading = loading + Vue.use(imageMatch) +} + +install(Vue) +export default { + pageHeader +} diff --git a/src/renderer/components/loading/.pydio b/src/renderer/components/loading/.pydio new file mode 100644 index 0000000..6f988c4 --- /dev/null +++ b/src/renderer/components/loading/.pydio @@ -0,0 +1 @@ +5ece4847-cc3c-47b0-ab09-a1dd2e1a2077 \ No newline at end of file diff --git a/src/renderer/components/loading/index.js b/src/renderer/components/loading/index.js new file mode 100755 index 0000000..a7cca31 --- /dev/null +++ b/src/renderer/components/loading/index.js @@ -0,0 +1,44 @@ +import { Loading } from 'element-ui' + +const loadings = [] + +const fbloading = { + open(el, text) { + if (!el) { + return + } + this.close(el) + + const currentloading = Loading.service({ + target: el, + fullscreen: false, + spinner: 'el-icon-loading', + text: text || '', + }) + currentloading._el = el + loadings.push(currentloading) + }, + close(el) { + if (!el) { + while (loadings.length !== 0) { + let currentloading = loadings.shift() + if (currentloading != null) { + currentloading.close() + currentloading = null + } + } + } else { + for (let index = 0; index < loadings.length; index++) { + if (loadings[index]._el === el) { + if (loadings[index] != null) { + loadings[index].close() + loadings[index] = null + loadings.splice(index, 1) + return + } + } + } + } + } +} +export default fbloading diff --git a/src/renderer/components/page-header/.pydio b/src/renderer/components/page-header/.pydio new file mode 100644 index 0000000..4ea51c2 --- /dev/null +++ b/src/renderer/components/page-header/.pydio @@ -0,0 +1 @@ +188dcf27-1743-4b9d-ac7f-283847198273 \ No newline at end of file diff --git a/src/renderer/components/page-header/index.vue b/src/renderer/components/page-header/index.vue new file mode 100755 index 0000000..ac4ddad --- /dev/null +++ b/src/renderer/components/page-header/index.vue @@ -0,0 +1,33 @@ + + + + diff --git a/src/renderer/components/titlebar/.pydio b/src/renderer/components/titlebar/.pydio new file mode 100644 index 0000000..773afb4 --- /dev/null +++ b/src/renderer/components/titlebar/.pydio @@ -0,0 +1 @@ +193febb4-0a77-415f-9e30-47464e777ec9 \ No newline at end of file diff --git a/src/renderer/components/titlebar/index.vue b/src/renderer/components/titlebar/index.vue new file mode 100755 index 0000000..fc2dd9a --- /dev/null +++ b/src/renderer/components/titlebar/index.vue @@ -0,0 +1,338 @@ + + + + + diff --git a/src/renderer/main.js b/src/renderer/main.js new file mode 100755 index 0000000..6ec62e4 --- /dev/null +++ b/src/renderer/main.js @@ -0,0 +1,35 @@ +import Vue from 'vue' + +import ElementUI from 'element-ui' +import App from './App' +import router from './router' +import store from './store' + +import 'element-ui/lib/theme-chalk/index.css' +import '../../static/iconfont/iconfont.css' +import './assets/css/base.css' + +import vueModules from './components' +import vueFn from './assets/js/vue-fn' + +const log = require('electron-log') + + +Vue.use(require('vue-electron')) + +Vue.use(ElementUI) +Vue.use(vueModules) +Vue.use(vueFn) + +const mainVue = new Vue({ + components: { App }, + router, + store, + template: '' +}).$mount('#app') + +window.Vue = mainVue + +window.addEventListener('error', (error) => { + log.info('=====', error) +}) diff --git a/src/renderer/page/.pydio b/src/renderer/page/.pydio new file mode 100644 index 0000000..58d7956 --- /dev/null +++ b/src/renderer/page/.pydio @@ -0,0 +1 @@ +95f8b82e-b3f2-40f4-8cc8-814d03efc0a1 \ No newline at end of file diff --git a/src/renderer/page/about.vue b/src/renderer/page/about.vue new file mode 100755 index 0000000..a804037 --- /dev/null +++ b/src/renderer/page/about.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/renderer/page/content.vue b/src/renderer/page/content.vue new file mode 100755 index 0000000..30a607a --- /dev/null +++ b/src/renderer/page/content.vue @@ -0,0 +1,970 @@ + + + + + diff --git a/src/renderer/page/full-window.vue b/src/renderer/page/full-window.vue new file mode 100755 index 0000000..db27d82 --- /dev/null +++ b/src/renderer/page/full-window.vue @@ -0,0 +1,312 @@ + + + + + + + diff --git a/src/renderer/page/notice.vue b/src/renderer/page/notice.vue new file mode 100755 index 0000000..a58c8ac --- /dev/null +++ b/src/renderer/page/notice.vue @@ -0,0 +1,123 @@ + + + + + + + diff --git a/src/renderer/page/progress.vue b/src/renderer/page/progress.vue new file mode 100755 index 0000000..d682c15 --- /dev/null +++ b/src/renderer/page/progress.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/src/renderer/page/setter.vue b/src/renderer/page/setter.vue new file mode 100755 index 0000000..e87c561 --- /dev/null +++ b/src/renderer/page/setter.vue @@ -0,0 +1,491 @@ + + + + + + + diff --git a/src/renderer/page/suggestion.vue b/src/renderer/page/suggestion.vue new file mode 100755 index 0000000..7739468 --- /dev/null +++ b/src/renderer/page/suggestion.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/renderer/page/wallpaper.vue b/src/renderer/page/wallpaper.vue new file mode 100755 index 0000000..32bdcef --- /dev/null +++ b/src/renderer/page/wallpaper.vue @@ -0,0 +1,81 @@ + + + + + + + diff --git a/src/renderer/router/.pydio b/src/renderer/router/.pydio new file mode 100644 index 0000000..40db3ca --- /dev/null +++ b/src/renderer/router/.pydio @@ -0,0 +1 @@ +3250f9fc-74db-4874-bbcd-f91559eac740 \ No newline at end of file diff --git a/src/renderer/router/index.js b/src/renderer/router/index.js new file mode 100755 index 0000000..6a200f6 --- /dev/null +++ b/src/renderer/router/index.js @@ -0,0 +1,50 @@ +import Vue from 'vue' +import Router from 'vue-router' + +Vue.use(Router) + +const wallpaper = () => import('../page/wallpaper') +const content = () => import('../page/content') +const about = () => import('../page/about') +const suggestion = () => import('../page/suggestion') +const fullWindow = () => import('../page/full-window') +const notice = () => import('../page/notice') + +export default new Router({ + routes: [ + { + path: '/', + component: wallpaper, + redirect: '/main', + children: [ + { + path: '/main', + name: 'mainContent', + component: content + }, + { + path: '/about', + name: 'about', + component: about + }, + { + path: '/suggestion', + name: 'suggestion', + component: suggestion + }, + { + path: '/notice', + name: 'notice', + component: notice + } + ] + }, + + { + path: '/full', + name: 'full', + component: fullWindow + } + + ] +}) diff --git a/src/renderer/store/.pydio b/src/renderer/store/.pydio new file mode 100644 index 0000000..ffd6566 --- /dev/null +++ b/src/renderer/store/.pydio @@ -0,0 +1 @@ +79969ebd-3919-4184-892b-d4ce907b5dda \ No newline at end of file diff --git a/src/renderer/store/index.js b/src/renderer/store/index.js new file mode 100755 index 0000000..1e46fb6 --- /dev/null +++ b/src/renderer/store/index.js @@ -0,0 +1,16 @@ +import Vue from 'vue' +import Vuex from 'vuex' + +import { createPersistedState, createSharedMutations } from 'vuex-electron' + +import modules from './modules' + +Vue.use(Vuex) + +export default new Vuex.Store({ + modules, + plugins: [ + createPersistedState(), + createSharedMutations() + ], +}) diff --git a/src/renderer/store/modules/.pydio b/src/renderer/store/modules/.pydio new file mode 100644 index 0000000..149624d --- /dev/null +++ b/src/renderer/store/modules/.pydio @@ -0,0 +1 @@ +1dac9470-4d18-4bc2-ace0-e1beb1598522 \ No newline at end of file diff --git a/src/renderer/store/modules/index.js b/src/renderer/store/modules/index.js new file mode 100755 index 0000000..db078a7 --- /dev/null +++ b/src/renderer/store/modules/index.js @@ -0,0 +1,14 @@ +/** + * The file enables `@/store/index.js` to import all vuex modules + * in a one-shot manner. There should not be any reason to edit this file. + */ + +const files = require.context('.', false, /\.js$/) +const modules = {} + +files.keys().forEach((key) => { + if (key === './index.js') return + modules[key.replace(/(\.\/|\.js)/g, '')] = files(key).default +}) + +export default modules diff --git a/src/renderer/store/modules/main.js b/src/renderer/store/modules/main.js new file mode 100755 index 0000000..f40a7e4 --- /dev/null +++ b/src/renderer/store/modules/main.js @@ -0,0 +1,18 @@ +const state = { + +} + +const mutations = { + +} + +// 因为使用了vuex-electron 所以需要采用actions +const actions = { + +} + +export default { + state, + mutations, + actions +} diff --git a/src/utils/.pydio b/src/utils/.pydio new file mode 100644 index 0000000..30189d6 --- /dev/null +++ b/src/utils/.pydio @@ -0,0 +1 @@ +3ba4c173-7e68-4f00-8f83-c70c09592d33 \ No newline at end of file diff --git a/src/utils/axios.js b/src/utils/axios.js new file mode 100755 index 0000000..80f84d4 --- /dev/null +++ b/src/utils/axios.js @@ -0,0 +1,30 @@ +const axios = require('axios') + +/** * axios get请求 */ +// eslint-disable-next-line import/prefer-default-export +export const axiosGet = function (url, option) { + option = option || {} + if (url && typeof url === 'string') { + option = { + ...option, + ...{ + url, + method: 'get', + }, + } + } else { + option = url + } + return new Promise((resolve, reject) => { + axios.request(option).then(async (result) => { + if (result.status === 200) { + resolve(result.data) + } else { + reject() + } + }).catch((error) => { + console.log('axiosGet请求出错') + reject(error) + }) + }) +} diff --git a/src/utils/config.js b/src/utils/config.js new file mode 100755 index 0000000..14dc905 --- /dev/null +++ b/src/utils/config.js @@ -0,0 +1,32 @@ +import { isWin } from './utils.js' + +const os = require('os') +/** + * 浏览器请求头 + */ +export const browserHeader = { + Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', + 'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.6', + 'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Mobile Safari/537.36', + 'Cache-Control': 'max-age=0', + Connection: 'keep-alive' +} + +export const apiBaseUrl = 'http://strawberry.wangkaibo.com' + +export const defaultConfig = { + imageSource: '500px', // 图片来源 + isOpenStatr: false, // 开机启动 + wallpaperAutoUp: false, // 壁纸自动更新 + updataTime: 3600, // 自动更新时间 + timingWipeData: true, // 定时清空已下载图库 + downloadImagePath: `${os.homedir()}${isWin() ? '\\Downloads\\wallpaper' : '/Downloads/wallpaper'} `, + wallpaperScale: 'auto', // 壁纸填充方式 + autoClearnDownloadFilesTime: 7, // 自动清空下载文件夹 + + autoSetAllScreens: true, // 自动设置壁纸到所有桌面 + + wallpaperSizeWidth: 1600, // 筛选的宽 + wallpaperSizeHeight: 1080, // 筛选的高 + wallpaperSizeDirection: [], // 筛选方向 'heng', 'su' +} diff --git a/src/utils/md5.js b/src/utils/md5.js new file mode 100755 index 0000000..3c69df4 --- /dev/null +++ b/src/utils/md5.js @@ -0,0 +1,204 @@ +/* eslint-disable */ +/* +md5 +*/ +const rotateLeft = function (lValue, iShiftBits) { + return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)); +} +const addUnsigned = function (lX, lY) { + let lX4; let lY4; let lX8; let lY8; let + lResult; + lX8 = (lX & 0x80000000); + lY8 = (lY & 0x80000000); + lX4 = (lX & 0x40000000); + lY4 = (lY & 0x40000000); + lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF); + if (lX4 & lY4) return (lResult ^ 0x80000000 ^ lX8 ^ lY8); + if (lX4 | lY4) { + if (lResult & 0x40000000) return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); + return (lResult ^ 0x40000000 ^ lX8 ^ lY8); + } + return (lResult ^ lX8 ^ lY8); +} +const F = function (x, y, z) { + return (x & y) | ((~x) & z); +} +const G = function (x, y, z) { + return (x & z) | (y & (~z)); +} +const H = function (x, y, z) { + return (x ^ y ^ z); +} +const I = function (x, y, z) { + return (y ^ (x | (~z))); +} +const FF = function (a, b, c, d, x, s, ac) { + a = addUnsigned(a, addUnsigned(addUnsigned(F(b, c, d), x), ac)); + return addUnsigned(rotateLeft(a, s), b); +}; +const GG = function (a, b, c, d, x, s, ac) { + a = addUnsigned(a, addUnsigned(addUnsigned(G(b, c, d), x), ac)); + return addUnsigned(rotateLeft(a, s), b); +}; +const HH = function (a, b, c, d, x, s, ac) { + a = addUnsigned(a, addUnsigned(addUnsigned(H(b, c, d), x), ac)); + return addUnsigned(rotateLeft(a, s), b); +}; +const II = function (a, b, c, d, x, s, ac) { + a = addUnsigned(a, addUnsigned(addUnsigned(I(b, c, d), x), ac)); + return addUnsigned(rotateLeft(a, s), b); +}; +const convertToWordArray = function (string) { + let lWordCount; + const lMessageLength = string.length; + const lNumberOfWordsTempOne = lMessageLength + 8; + const lNumberOfWordsTempTwo = (lNumberOfWordsTempOne - (lNumberOfWordsTempOne % 64)) / 64; + const lNumberOfWords = (lNumberOfWordsTempTwo + 1) * 16; + const lWordArray = Array(lNumberOfWords - 1); + let lBytePosition = 0; + let lByteCount = 0; + while (lByteCount < lMessageLength) { + lWordCount = (lByteCount - (lByteCount % 4)) / 4; + lBytePosition = (lByteCount % 4) * 8; + lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition)); + lByteCount++; + } + lWordCount = (lByteCount - (lByteCount % 4)) / 4; + lBytePosition = (lByteCount % 4) * 8; + lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition); + lWordArray[lNumberOfWords - 2] = lMessageLength << 3; + lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; + return lWordArray; +}; +const wordToHex = function (lValue) { + let wordToHexValue = ''; let wordToHexValueTemp = ''; let lByte; let + lCount; + for (lCount = 0; lCount <= 3; lCount++) { + lByte = (lValue >>> (lCount * 8)) & 255; + wordToHexValueTemp = `0${lByte.toString(16)}`; + wordToHexValue += wordToHexValueTemp.substr(wordToHexValueTemp.length - 2, 2); + } + return wordToHexValue; +}; +const uTF8Encode = function (string) { + string = string.replace(/\x0d\x0a/g, '\x0a'); + let output = ''; + for (let n = 0; n < string.length; n++) { + const c = string.charCodeAt(n); + if (c < 128) { + output += String.fromCharCode(c); + } else if ((c > 127) && (c < 2048)) { + output += String.fromCharCode((c >> 6) | 192); + output += String.fromCharCode((c & 63) | 128); + } else { + output += String.fromCharCode((c >> 12) | 224); + output += String.fromCharCode(((c >> 6) & 63) | 128); + output += String.fromCharCode((c & 63) | 128); + } + } + return output; +}; + + +const MD5 = function (bit, string) { + // eslint-disable-next-line no-array-constructor + let x = Array(); + let k; let AA; let BB; let CC; let DD; let a; let b; let c; let + d; + const S11 = 7; const S12 = 12; const S13 = 17; const + S14 = 22; + const S21 = 5; const S22 = 9; const S23 = 14; const + S24 = 20; + const S31 = 4; const S32 = 11; const S33 = 16; const + S34 = 23; + const S41 = 6; const S42 = 10; const S43 = 15; const + S44 = 21; + string = uTF8Encode(string); + x = convertToWordArray(string); + a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; + for (k = 0; k < x.length; k += 16) { + AA = a; BB = b; CC = c; DD = d; + a = FF(a, b, c, d, x[k + 0], S11, 0xD76AA478); + d = FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756); + c = FF(c, d, a, b, x[k + 2], S13, 0x242070DB); + b = FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE); + a = FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF); + d = FF(d, a, b, c, x[k + 5], S12, 0x4787C62A); + c = FF(c, d, a, b, x[k + 6], S13, 0xA8304613); + b = FF(b, c, d, a, x[k + 7], S14, 0xFD469501); + a = FF(a, b, c, d, x[k + 8], S11, 0x698098D8); + d = FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF); + c = FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1); + b = FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE); + a = FF(a, b, c, d, x[k + 12], S11, 0x6B901122); + d = FF(d, a, b, c, x[k + 13], S12, 0xFD987193); + c = FF(c, d, a, b, x[k + 14], S13, 0xA679438E); + b = FF(b, c, d, a, x[k + 15], S14, 0x49B40821); + a = GG(a, b, c, d, x[k + 1], S21, 0xF61E2562); + d = GG(d, a, b, c, x[k + 6], S22, 0xC040B340); + c = GG(c, d, a, b, x[k + 11], S23, 0x265E5A51); + b = GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA); + a = GG(a, b, c, d, x[k + 5], S21, 0xD62F105D); + d = GG(d, a, b, c, x[k + 10], S22, 0x2441453); + c = GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681); + b = GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8); + a = GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6); + d = GG(d, a, b, c, x[k + 14], S22, 0xC33707D6); + c = GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87); + b = GG(b, c, d, a, x[k + 8], S24, 0x455A14ED); + a = GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905); + d = GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8); + c = GG(c, d, a, b, x[k + 7], S23, 0x676F02D9); + b = GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A); + a = HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942); + d = HH(d, a, b, c, x[k + 8], S32, 0x8771F681); + c = HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122); + b = HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C); + a = HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44); + d = HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9); + c = HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60); + b = HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70); + a = HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6); + d = HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA); + c = HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085); + b = HH(b, c, d, a, x[k + 6], S34, 0x4881D05); + a = HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039); + d = HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5); + c = HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8); + b = HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665); + a = II(a, b, c, d, x[k + 0], S41, 0xF4292244); + d = II(d, a, b, c, x[k + 7], S42, 0x432AFF97); + c = II(c, d, a, b, x[k + 14], S43, 0xAB9423A7); + b = II(b, c, d, a, x[k + 5], S44, 0xFC93A039); + a = II(a, b, c, d, x[k + 12], S41, 0x655B59C3); + d = II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92); + c = II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D); + b = II(b, c, d, a, x[k + 1], S44, 0x85845DD1); + a = II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F); + d = II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0); + c = II(c, d, a, b, x[k + 6], S43, 0xA3014314); + b = II(b, c, d, a, x[k + 13], S44, 0x4E0811A1); + a = II(a, b, c, d, x[k + 4], S41, 0xF7537E82); + d = II(d, a, b, c, x[k + 11], S42, 0xBD3AF235); + c = II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB); + b = II(b, c, d, a, x[k + 9], S44, 0xEB86D391); + a = addUnsigned(a, AA); + b = addUnsigned(b, BB); + c = addUnsigned(c, CC); + d = addUnsigned(d, DD); + } + + if (bit == 32) { + return (wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d)).toLocaleUpperCase(); + } + + return (wordToHex(b) + wordToHex(c)).toLocaleUpperCase(); +} + +const md5_16 = message => MD5(16, message); +const md5_32 = message => MD5(32, message); + +export { + md5_16, + md5_32 +} diff --git a/src/utils/utils.js b/src/utils/utils.js new file mode 100755 index 0000000..d30b20c --- /dev/null +++ b/src/utils/utils.js @@ -0,0 +1,106 @@ +const elog = require('electron-log') + +elog.transports.file.level = 'debug' + + +/** + * Set `__static` path to static files in production + * https://simulatedgreg.gitbooks.io/electron-vue/content/en/using-static-assets.html + */ + +if (process.env.NODE_ENV !== 'development') { + // eslint-disable-next-line no-underscore-dangle + global.__static = require('path').join(__dirname, '/static').replace(/\\/g, '\\\\') +} + +export const log = elog + +const os = require('os') + +export const baseUrl = process.env.NODE_ENV === 'development' ? 'http://localhost:9080' : `file://${__dirname}/index.html` + +const OSTYPES = { + Darwin: 'mac', + Windows_NT: 'win' +} + +export const osType = OSTYPES[os.type()] || 'win' +export function isMac() { + return osType === 'mac' +} + +export function isWin() { + return osType === 'win' +} + +export function isDev() { + return process.env.NODE_ENV === 'development' +} + +export const imageSourceType = [ + { + name: '500px', + value: '500px', + home: 'https://500px.com/popular', + search: true + }, + { + name: 'pexels', + value: 'pexels', + home: 'https://www.pexels.com/', + search: true, + }, + { + name: 'paper', + value: 'paper', + search: false + }, + { + name: 'unsplash', + value: 'unsplash', + home: 'https://unsplash.com/', + search: true + }, + { + name: 'wallhaven', + value: 'wallhaven', + home: 'https://wallhaven.cc/latest', + search: true + }, + { + name: 'NASA', + value: 'nasa', + home: 'https://www.nasa.gov/multimedia/imagegallery/iotd.html', + search: false, + }, + { + name: '电影', + value: 'themoviedb', + home: 'https://www.themoviedb.org/', + search: true, + isSupportChinaSearch: true // 是否支持中文搜索 + } +] + +export const wallpaperScaleOptions = [ + { + name: '自动', + value: 'auto', + }, + { + name: '适合于屏幕', + value: 'fit', + }, + { + name: '拉伸以充满屏幕', + value: 'stretch', + }, + { + name: '居中', + value: 'center', + }, + { + name: '平铺', + value: 'fill', + }, +] diff --git a/src/wallpaper/.pydio b/src/wallpaper/.pydio new file mode 100644 index 0000000..ac7b90c --- /dev/null +++ b/src/wallpaper/.pydio @@ -0,0 +1 @@ +02e9ce66-46b2-40a8-b838-71fe06727580 \ No newline at end of file diff --git a/src/wallpaper/outwallpaper.js b/src/wallpaper/outwallpaper.js new file mode 100755 index 0000000..2712a4f --- /dev/null +++ b/src/wallpaper/outwallpaper.js @@ -0,0 +1,30 @@ + + +const wallpaper = require('wallpaper') +const { isMac } = require('../utils/utils') + + +const setCurrentWallpaper = function (file, options = { screen: 'all', scale: 'auto' }) { + wallpaper.set(file, options) +} + +const changeWallpaperScale = async function (options = { screen: 'all', scale: 'auto' }){ + if (isMac()){ + const screens = await wallpaper.screens() + screens.forEach((i, index) => { + wallpaper.get({ screen: index }).then((file) => { + setCurrentWallpaper(file, { screen: index, scale: options.scale }) + }) + }) + } + else { + const file = await wallpaper.get() + setCurrentWallpaper(file, options) + } +} + + +module.exports = { + setCurrentWallpaper, + changeWallpaperScale +} diff --git a/static/.gitkeep b/static/.gitkeep new file mode 100755 index 0000000..e69de29 diff --git a/static/.pydio b/static/.pydio new file mode 100644 index 0000000..4b50f4f --- /dev/null +++ b/static/.pydio @@ -0,0 +1 @@ +7a7ee140-be3d-4444-997d-b64d2ad35cdf \ No newline at end of file diff --git a/static/build-icons/.pydio b/static/build-icons/.pydio new file mode 100644 index 0000000..3c9828b --- /dev/null +++ b/static/build-icons/.pydio @@ -0,0 +1 @@ +8a6de9b1-1eaf-4085-a169-21a53b3ec064 \ No newline at end of file diff --git a/static/build-icons/icon.icns b/static/build-icons/icon.icns new file mode 100755 index 0000000..2267c7b Binary files /dev/null and b/static/build-icons/icon.icns differ diff --git a/static/build-icons/icon.ico b/static/build-icons/icon.ico new file mode 100755 index 0000000..e247c5e Binary files /dev/null and b/static/build-icons/icon.ico differ diff --git a/static/iconfont/.pydio b/static/iconfont/.pydio new file mode 100644 index 0000000..31d9926 --- /dev/null +++ b/static/iconfont/.pydio @@ -0,0 +1 @@ +cb5c168f-4946-49ce-8569-2940886485b0 \ No newline at end of file diff --git a/static/iconfont/iconfont.css b/static/iconfont/iconfont.css new file mode 100755 index 0000000..bbd1b2a --- /dev/null +++ b/static/iconfont/iconfont.css @@ -0,0 +1,113 @@ +@font-face {font-family: "iconfont"; + src: url('iconfont.eot?t=1581602084047'); /* IE9 */ + src: url('iconfont.eot?t=1581602084047#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAABHMAAsAAAAAIvQAABF/AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCGOgqzPKZlATYCJANkCzQABCAFhG0HgiAboRujopaTVvTI/hJysnFFWk4OtD2HcGMb02t4Pgc5S+nwRkEIJAAAwCMUAgT8NAAAAABgAUDDUEr4x9/rzv1zdIytGvxUOBRbeTSqHqWXsYT4R1KP7vD8Nv/PDSLlUnKxCWPpRIwlU1QWOszCKspaGpuwxq3d+/+ja12ULtr+k1W/RSarNkuJhj3Sz8Wx0zOvlZvzJT6IGyoR1N+zvbubD58CDDDAoCaxMEoCbzyTNMOTBF7ZmU/l1KTAwa5sHwicuoTwus5KKgFI390+F2QHyOYCOg36EAKGg2fpV/fxutQA4NCcaZv+jxywe7oRRpgHK3IpXnKFazNI8tRyngDkXo2USMrP6Zjtz81uwkzKeTHh3GxbelnPwWlnEWvMYLjlMSuYhbqkVoRV//14CEQGRoAu96+/os9BOaHDkzSIfsLLkRyQwOlxNmz04QryLW3Agf1+/dkHGSxuQTPePu4ycTngKK+61UsZmOsTge5GYIMdgANr5wbU2Fu0Y3zE6+74AbDgTj61N9ZT92n0NH3aHJdxH68ZN4ohk+rX3mZOv2NH+VoYYNCnoU5ZnI3+46W9ZWGYEUaFZfFlyX/g1SFynlQkY2miKBHEfIFEBQsXH6pKAGiDtE8AOqGuBRiwAAjmPOqAgc/DhkHPI4chnIcHQzmPFIbKwTADhAzYERx1YWdwZLELOMpjdxBKYC9wmMDjQIiBFSD4wCEgBMBJICTAehAqwLUgFMDbQKgBn8Z5NIC/1efh4OhPqDIsh0QL5durDfYA74CgIfyC44PJHt3DrQM+i71AzkqRG62QchnI4kTVOhQCHscxN3qxUE+9Co0RTbM+l8osSzp99PSh9caJ84jFdxcxMZ/kuj6sbEKhlnRDeJQIG3S6k81TJX4rdjS/c4oRlTyrUag7hR5+0/+8d2hVfd+8QNvAiOqG/uteEvhxWq52MzBAUjUIUOowCBF1UsSwJYcRIcsu3weJcLkukVWJZbuZjGRcHaEhj0eiBoU4OwBs4abxfkwlYXGcdDQT4OpYCVsJOXp01DyrHqKOdri0aqN+U7FFJI1VpHIf1YjJzPzh2ohu+UTGTV/9sTi6tbThh8Kopvy+SH1btn9448CCF33D6nq32+buAOlzes1sj5sj3U6XHd9o74yn3QxJOckd4RSpqhVO3qzrxarJdj3vcrpJzu05iLsJzzT0416njwzsTDkKwvFkN4h3UlyJcC6N7+KeJJB01zCpXdc115/tGV7dmIO+UQBglWpVLGYEiCH06kagbMfg+cLkxJdz6Y7Ox2OjE98XpzgeMXIrchsEbJtHJrRNyXT+NOGndaRepQDI8oGYtawpZYIsn1W8RJWd1aEEcFJqOqlxvkRGrnTTWgj63rOirncHj6uo8hxoSE2LR5NhzdSowfigtqi9qbQU14Pv8yOrmgvrAj+VxlS3FHd7XWP98Z4hlZ/fkGtzE2Csu0byLXWclJEpFwqm0xT86lFJLhZ3ZTfLbQ1tvZ+X8laVbOtm/jUqvDFL7+zi22sCsVSyJ9F8fk92vRDa9f5pQeJRQ3psFASrQDIu1hkyah/ejPQAYOwFXGHUtky24t9PpEncoad/HIvUZFMNY5I9MQHuCtImp1kLd8POoztU9ZonmYy0ZTpJe+oFmWAbmdYhnFusQXKhUK3bgqjqWbbhMFMR5Trvn/+8V6VUt7ghakN+X8n1IRE3FBJG1m6EG7ZgGvtjXttfhhCayVSJesGj0pdpNeEap0494APcp2XF4vXV7SpvyIwrFJAI7pW9iD4iFvbUfN5UlEpFdLrgOYEXiE/StrhMfCoyWY6kW+jC8Rm2xQUPr52MZFUcB/hlkMUYS1FNY7HEuBh0FaXnza6lSlMy/xkWLVC0o+s/e7wYazNErK0uxsVecDhBRHSON9YmtHFefBShcebxJFMpjXI1ul7ovDYjeMKOY3UsVSkPCqrhYV4TsHTmLTwkIlnOo4jHx8cfzWN8vbBK8RJhGCJhZHom0qjqeVp4tzAEV6m29q0VgkdwiVDtsDasrafv0Jh+mO9aqj99Kym+frpFiu+fbidKQsPKjFDDYhzUGsHUTKaLY+YPq28mMxijG3O1nVoYxB8hmD4a4ZvFt9bdusq+3vzwhtIIEVXpzzqXffLSvFQ+6BVskdgR72nN/dDd1HVUPmzl5pRc62lxcxGjn/Mz8475pLCpQOzOJU/7qQdu+BY3gRXpAJcxhx4uuyoMlZkuxdN6pchAaGsmJIx9paaTHLtDiSafXYqbRgqODkAfUXb4JGW/k/CJAnFb/vWNB4zthoKlyR7wRsoiI7uROI56p8nACFDfd9CqtAfJrw/xZVC6MxNVoOSDcYHEozMrKl0sr1h20N2IbCL5zg7AfP70DY6t9FCfnNb7QrYAb1iAsHf9pn8PBZ/0isS+F6Ig+/bYcyrwLEafPanJZf9jw/95Xe/pJzdVzXJXrXIo5nJ1JD3eH00Gq8J7/gKMORQCzF0BYSIXkl1BmCTqevfEXkXsK8k74/mk54iG/u2Y6xZ/z4ZQEk/ewhu+JTfsDJlkvpAtRM2jO32I1r8wbIP7hK5lcYCpF9ZMhR7wZHNfraj/8DavD7z/wPpLjcrH5WB9cHCho/wxmU8eDxqDiurq1Wu6pJuWvo3K/8ZfZQkc7J6/USkb5cf3HpfBLb0P/q+w96ohmcfHe60Gg2V4D8jiG2XFqKmqqs184JjsRKuIMhlrYMVoT/UZ4RK6HWToTSabaB3Ltnnzsp/V8wyJzJAN+Ol2/+rtX0cW4eZfv8USAo9HkIrPc5gZ1Je6Mfm9fb8uACcIeFRqp04VOE6dpq2bbkfB0zS22DdUyWED+bK9bM4rdXAu2OguRy+cGmLQbVOxLHGkKEoUKf5UCGyh4aP/mW+VBcoCQgNDU7zU/468M+LOyH8PREP54ta5wEtMJMfHFGa8932rSln0F8f8WTKWP3Z1nKQ2uel45HqceTMrLLgj+GjyiYNvvY55HfUa8nK9/S90gD/fOjvdespwygj0reKK4i26d5xdWkQ83+LQUkQbQY+0nqc1bWdKIVHeR5mz84dJW3qSr1moarXH+TT2hg4T3wGt4fpt67JQFGrhzEn/92ihay1W9v3jZsZ4AFp6suyj/5Jbdi3gC31nfbSaqRaqSqsYr2AGYhZ2FfgIsC1YIDNDtCp+d/PMtposU27qP6ftPdjpLZnJJjUgXl1uHuPnm6VQh6xZaCaAAPhUHUGlUp9SawphS4HNKHOpMuspq4x6SuEPFHUDTkGi4G/fzFZ+v7aZebDZDOe7/Th0LFEYPwYxdx40+efD5oVQvuvPg7ZwYYIvvLCry4zMtLZZW4FbY91V1NkdvRFMVV1Fr0UbMgwr25FHT5GdyI5Hz9qRjpZ9J36KiXsDfetA+3rEAmY2b7DA6sQ4/aIvIQdc4kBaFoiH0jWpkR6rQ9E4WBkLgptt5TE4ukdJJ07gtn/VFY1dOBWzfeKiR9nj2ouC/bTfjsBRJJryFOwUk4FqgjRoeqgQPaWqKxI58q2+IPirhFHL4/JmuoiJBUF24lk7Z8J324MKQ8vGBY/LVq1CYWtkFA7NSY3P9PfVYYkPGlZ+kGI6RZpMyWcvQ6hRkc0YGug5WhqEYs3XC1M5/w1WZst967HEO3q9LRHSqTP8lVJYOhsIIyNbITU1EjdZkP4yDEpNhfS+lalpYUAJ0tIgJRSWlqpk3r/DYN65f+EOk3EHrDZ9Ry6TahSlb12bPOafa1sIBVPMYT7MT0+Noq96oLorT54ygGudy3eY9FAwxRw3rvU+t6OZmDPGBETNvuP5i3VCkXDhi+eBFm5WXPf8RfD9wC17t/tIb3LASA+vxvyHnDWjqIad6CGYM7n279CO7glgDyRjWROg2Ka1sMN2KK9idgY0pwyqz81/BWfrcRKv+fGG816f7s/tPeTqlZx9j8aafDru0R6Jxdx9+UGsCDoh2aYNhf8kht0dOP1sfF3Bv+1BVqYLwT6O5jRw8rpcDDS82dV50s6uFQtygj91shsXbK4vv04on8BaPeXEZnXCmVEL/vcWIDppxczcw2cOm4ZdkO9cnpzt7RMSwcohkPeSefHrFl9ChPVOsmVfr9xwgmCvgJgDeuulBl5wb5BnBB07EsH36fHhG1osj57aOFWKPvf0PK+NgbwA0EaH8/HLPnw9vabNSKScxokJ9DkFiXzvbpxvUMZXBvCDqsU6uJvzQAXhBtA1EiOfcpHCT1iudqmmr1DmLVd1qeT1aGaCDEThRYkZpAwr4D2Nl4OEHhEVIfXp9eE10J27Aj1VncFyneioS/CnHOfr4YsKi+B1BE89JHJioGMCvwGtOj0MRPxSIyx8S6obSRCI4aDzlgYGRHSppHW16tUGEu6QCfSg0PlESjdOCg8wK4xEiRnL9w8q9vW5WidPOpgk9waht/gR7MYdEyAuDjSa5oXlIDHKD+OkhK5g/Ol5aA+C9OgAiiC26P01OSRo8K0SUetyWjAke2eH/8Tkm2LX9nnPbKyBi0JGK/1nDH+QMmJLz8ywGdjnAeOM+oaUeKfJzXn6bo3m52Sn5nv81Gh2ZzI9qmhsNAswwZqoOfDWLbD2z9m61T0bHqZI9xbgH1O5b8rMNqUjxI9rnTZrz+SwEKgVahUKk2L76kfHsozMVgcj+65moyKr7T7je34JpdVhPitDt4tVJapiBdd0nqGyq8RVbOXzmrDoMAujNwju7gS332gQtkhhrBzoRinqDs2BJWhKl43i2/jrJz9iJfPyZLvvzOxfKlzaDxDknU3sJ9afeJIUI4QqlrZUcHHyD79kMl7BW/ofqISTlCzxrv9Z793nYZPB6U1zNXA+3DC3x5IdA3bKQrirC174JFdfiFR8bP24ZKkBbmmBZTcMiBZwy3rY6CfqAqDANuT+fQT2rY62dZrcu49uRbdBZZv8OPr7F3ICOW6e42gEl+gEAssVR4eF2syV9FMsRgMDY9CZEFMFQLaRY9ROn0ZeSfYn0UmStZYhjo1Kp9o4QxZtskTHfW8dw41qjFDgWUDA1iuNajbBk8AGxXlrLHnUp9Q8y3hrPFVBbee2lx6iPWt81jviQ+I7xzV1R7gnVmdQTe0INcOipCRQOrgd9tzU4917rf5ymTxUzj1zoT2tI+0ow+XWyedEoyh9lshIH93GqX0UPluuiKM44gF7HmKblDBoTwdFOnqlqFv6rHjfs+CG+kPOg9qaBUPtbl17XffCqfuYoEmsWWt+phQ0ln1r7sCprt7YstrVdccu4Mm//IED9xY3/5T7tkLuEcLk+vqgq9zTVjzU3tdS7jhwtKz5d/nYwvy9ZbOn5/82r4XkP9Vt4+72Cr4EB64tGB3nURPl106bql1fVa0wWcW5ueSn8EQc7vDfm3z8f0D7xfyO3xIXzH+qa+BOgIAlKhd+5jZrTnEmViq0e/T3LkwGC9tZJp4UC0RhFZyCqoq7bjnq2uYf/R31CFh8fWALzChn1w64YmfAEzgHka2IzWNVei3qENhY0AJS2A0smW9gK5ylnF13gKvhDfAUgYDIXXB0xhZRNAz1CBEzuT1JUmzzvBGHm47fqFMFPm5lef/oA4XlcpRvuuEBLfo6Vgl7vYoxl7nnWt63ngyriuXOc4EqzkyMu/V8dD5v1ZniWgxd8xCIqzMzksbp2iIKs/KVo2Hm139DWlIBXjLi+Np/yAtIlsb8OzGiBvXAW60RXelusKetGImYk4v+HqtJ4UREVVjLJC0/XgEp0UxhCWVnbTSZKV+Xn5l31LcFz8U3Kv0R2gHLliNXnnwFChUpVqJUmXIVwsQWR1zxxJejBMIlhPxKYHdkdVsDquwstZfdYoIzUK+UIePeGhQiuKnc263J9Q2r0Q7ZxXvtGUyCI9muBuwWbddg8Gyoa0ykTOrkVBxwYkxbAt4oC9ZIPaWNl10Dp5C4V8BWa+BBXoUBFmaz6usxIHhlJjNNOlEw1DC0hF3BWJ2jniFZ1COf/QEyIQA=') format('woff2'), + url('iconfont.woff?t=1581602084047') format('woff'), + url('iconfont.ttf?t=1581602084047') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('iconfont.svg?t=1581602084047#iconfont') format('svg'); /* iOS 4.1- */ +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-quanping:before { + content: "\e600"; +} + +.icon-back:before { + content: "\e617"; +} + +.icon-back1:before { + content: "\e602"; +} + +.icon-jiazai:before { + content: "\e795"; +} + +.icon-loading:before { + content: "\e627"; +} + +.icon-heng-ping:before { + content: "\e605"; +} + +.icon-xiazai:before { + content: "\e640"; +} + +.icon-wenjianjia:before { + content: "\e642"; +} + +.icon-shuaxin:before { + content: "\e61d"; +} + +.icon-banben:before { + content: "\e60a"; +} + +.icon-shezhi:before { + content: "\e63b"; +} + +.icon-tuichu:before { + content: "\e658"; +} + +.icon-close:before { + content: "\e609"; +} + +.icon-tubiao_caomei:before { + content: "\e60d"; +} + +.icon-banben1:before { + content: "\e604"; +} + +.icon-sousuo:before { + content: "\e679"; +} + +.icon-gonggao:before { + content: "\e620"; +} + +.icon-banbenhao:before { + content: "\e672"; +} + +.icon-banben2:before { + content: "\ea34"; +} + +.icon-research:before { + content: "\e6a8"; +} + +.icon-zhuyishixiang:before { + content: "\e601"; +} + +.icon-xianshiqi:before { + content: "\e6c1"; +} + +.icon-su-ping:before { + content: "\e61c"; +} + +.icon-forwad:before { + content: "\ea35"; +} + diff --git a/static/iconfont/iconfont.eot b/static/iconfont/iconfont.eot new file mode 100755 index 0000000..8c2cfa6 Binary files /dev/null and b/static/iconfont/iconfont.eot differ diff --git a/static/iconfont/iconfont.json b/static/iconfont/iconfont.json new file mode 100755 index 0000000..4c8d599 --- /dev/null +++ b/static/iconfont/iconfont.json @@ -0,0 +1,177 @@ +{ + "id": "", + "name": "", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "49953121", + "name": "全屏", + "font_class": "quanping", + "unicode": "e600", + "unicode_decimal": 58880 + }, + { + "icon_id": "31571263", + "name": "返回", + "font_class": "back", + "unicode": "e617", + "unicode_decimal": 58903 + }, + { + "icon_id": "49962969", + "name": "back", + "font_class": "back1", + "unicode": "e602", + "unicode_decimal": 58882 + }, + { + "icon_id": "31613524", + "name": "加载", + "font_class": "jiazai", + "unicode": "e795", + "unicode_decimal": 59285 + }, + { + "icon_id": "31612859", + "name": "loading", + "font_class": "loading", + "unicode": "e627", + "unicode_decimal": 58919 + }, + { + "icon_id": "49955354", + "name": "image", + "font_class": "heng-ping", + "unicode": "e605", + "unicode_decimal": 58885 + }, + { + "icon_id": "31571264", + "name": "下载", + "font_class": "xiazai", + "unicode": "e640", + "unicode_decimal": 58944 + }, + { + "icon_id": "31571265", + "name": "文件夹", + "font_class": "wenjianjia", + "unicode": "e642", + "unicode_decimal": 58946 + }, + { + "icon_id": "32280807", + "name": "刷新", + "font_class": "shuaxin", + "unicode": "e61d", + "unicode_decimal": 58909 + }, + { + "icon_id": "31873093", + "name": "版本", + "font_class": "banben", + "unicode": "e60a", + "unicode_decimal": 58890 + }, + { + "icon_id": "31571266", + "name": "设置", + "font_class": "shezhi", + "unicode": "e63b", + "unicode_decimal": 58939 + }, + { + "icon_id": "31610912", + "name": "退出", + "font_class": "tuichu", + "unicode": "e658", + "unicode_decimal": 58968 + }, + { + "icon_id": "49962972", + "name": "关闭", + "font_class": "close", + "unicode": "e609", + "unicode_decimal": 58889 + }, + { + "icon_id": "31713894", + "name": "图标_草莓", + "font_class": "tubiao_caomei", + "unicode": "e60d", + "unicode_decimal": 58893 + }, + { + "icon_id": "31873094", + "name": "版本", + "font_class": "banben1", + "unicode": "e604", + "unicode_decimal": 58884 + }, + { + "icon_id": "31610895", + "name": "搜索", + "font_class": "sousuo", + "unicode": "e679", + "unicode_decimal": 59001 + }, + { + "icon_id": "50169425", + "name": "公告", + "font_class": "gonggao", + "unicode": "e620", + "unicode_decimal": 58912 + }, + { + "icon_id": "31610935", + "name": "版本号", + "font_class": "banbenhao", + "unicode": "e672", + "unicode_decimal": 58994 + }, + { + "icon_id": "31873095", + "name": "版本", + "font_class": "banben2", + "unicode": "ea34", + "unicode_decimal": 59956 + }, + { + "icon_id": "49962973", + "name": "刷新", + "font_class": "research", + "unicode": "e6a8", + "unicode_decimal": 59048 + }, + { + "icon_id": "31873096", + "name": "版本", + "font_class": "zhuyishixiang", + "unicode": "e601", + "unicode_decimal": 58881 + }, + { + "icon_id": "31571267", + "name": "显示器", + "font_class": "xianshiqi", + "unicode": "e6c1", + "unicode_decimal": 59073 + }, + { + "icon_id": "49956937", + "name": "image", + "font_class": "su-ping", + "unicode": "e61c", + "unicode_decimal": 58908 + }, + { + "icon_id": "49963184", + "name": "back", + "font_class": "forwad", + "unicode": "ea35", + "unicode_decimal": 59957 + } + ] +} diff --git a/static/iconfont/iconfont.svg b/static/iconfont/iconfont.svg new file mode 100755 index 0000000..2ba78f2 --- /dev/null +++ b/static/iconfont/iconfont.svg @@ -0,0 +1,98 @@ + + + + + +Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/iconfont/iconfont.ttf b/static/iconfont/iconfont.ttf new file mode 100755 index 0000000..91963c3 Binary files /dev/null and b/static/iconfont/iconfont.ttf differ diff --git a/static/iconfont/iconfont.woff b/static/iconfont/iconfont.woff new file mode 100755 index 0000000..308ac03 Binary files /dev/null and b/static/iconfont/iconfont.woff differ diff --git a/static/iconfont/iconfont.woff2 b/static/iconfont/iconfont.woff2 new file mode 100755 index 0000000..7824dd9 Binary files /dev/null and b/static/iconfont/iconfont.woff2 differ diff --git a/static/img/.pydio b/static/img/.pydio new file mode 100644 index 0000000..5aeae6e --- /dev/null +++ b/static/img/.pydio @@ -0,0 +1 @@ +535ba2d1-4d03-4940-ba1a-d40f1a5b1433 \ No newline at end of file diff --git a/static/img/banben.png b/static/img/banben.png new file mode 100755 index 0000000..c9fa8e2 Binary files /dev/null and b/static/img/banben.png differ diff --git a/static/img/tray.png b/static/img/tray.png new file mode 100755 index 0000000..57e93cd Binary files /dev/null and b/static/img/tray.png differ diff --git a/static/img/trayTemplate.png b/static/img/trayTemplate.png new file mode 100755 index 0000000..ed2fad7 Binary files /dev/null and b/static/img/trayTemplate.png differ diff --git a/static/img/trayTemplate@2x.png b/static/img/trayTemplate@2x.png new file mode 100755 index 0000000..5592673 Binary files /dev/null and b/static/img/trayTemplate@2x.png differ diff --git a/static/img/trayTemplate@3x.png b/static/img/trayTemplate@3x.png new file mode 100755 index 0000000..adfe7d1 Binary files /dev/null and b/static/img/trayTemplate@3x.png differ diff --git a/static/page-script/.pydio b/static/page-script/.pydio new file mode 100644 index 0000000..395ee9c --- /dev/null +++ b/static/page-script/.pydio @@ -0,0 +1 @@ +9ee1ce08-fc01-4056-82ff-1b02b4bc49ab \ No newline at end of file diff --git a/static/page-script/500px.js b/static/page-script/500px.js new file mode 100755 index 0000000..a669e4e --- /dev/null +++ b/static/page-script/500px.js @@ -0,0 +1,128 @@ +const { ipcRenderer } = require('electron') +const axios = require('axios') +const { render } = require('./render') + + +const apiAddress = 'https://api.500px.com/v1/photos' + +const getDownloadUrl = id => new Promise((resolve, reject) => { + axios.get(apiAddress, { + params: { + image_size: [1600, 2048, 2500, 3000, 4096, 4500, 5120, 5500, 6144, 7168], + ids: id, + }, + responseType: 'json', + headers: { + Accept: 'application/json', + } + }).then((res) => { + if (res.status === 200){ + const { photos } = res.data + const imageInfo = photos[id] + let maxSize = 0 + let downloadUrl = '' + for (let i = 0; i < imageInfo.image_url.length; i++) { + const imagePath = imageInfo.image_url[i] + const realSize = imagePath.match(/m%3D(\d*)/) + if (realSize && realSize[1]){ + const size = parseInt(realSize[1], 10) + if (size > maxSize) { + downloadUrl = imagePath + } + maxSize = size + } + } + resolve(downloadUrl) + } else { + reject() + } + }).catch(() => { + reject() + }) +}) + +const isImg = target => (target.tagName === 'A' && target.parentNode.className.includes('photo_thumbnail')) +|| (target.tagName === 'IMG' && target.className === 'photo-show__img') + +const mouseoverFn = function (e){ + const { target } = e + if (isImg(target)){ + const { parentNode } = target + if (!parentNode.addChild){ + let href = '' + if (target.tagName === 'A'){ + href = target.getAttribute('href') + } + else if (target.tagName === 'IMG'){ + href = target.getAttribute('src') + } + + const idMatches = href.match(/photo\/(\d*)\//) + let id = '' + if (idMatches && idMatches[1]){ + [, id] = idMatches + } + const downloadFile = function (event){ + event.stopPropagation() + event.preventDefault() + ipcRenderer.sendToHost('notify', { + type: 'info', + title: '提示', + message: '正在解析下载地址,请等待...' + }) + getDownloadUrl(id).then((res) => { + ipcRenderer.sendToHost('download', { downloadUrl: res }) + }) + } + + const setWallpaper = function (event){ + event.stopPropagation() + event.preventDefault() + ipcRenderer.sendToHost('notify', { + type: 'info', + title: '提示', + message: '正在解析下载地址,请等待...' + }) + getDownloadUrl(id).then((res) => { + ipcRenderer.sendToHost('setWallpaper', { downloadUrl: res }) + }) + } + + const options = { + downloadFile, + setWallpaper, + } + parentNode.addChild = render(options) + if (target.tagName === 'IMG'){ + parentNode.addChild.style.left = '50%' + parentNode.addChild.style.top = '50%' + } + else { + parentNode.addChild.style.left = 0 + } + + parentNode.appendChild(parentNode.addChild) + } + } +} + +const mouseoutFn = function (e){ + const { target } = e + if (isImg(target)){ + const { parentNode } = target + if (parentNode.addChild){ + window.setTimeout(() => { + if (!parentNode.addChild.mouseoverFlag){ + parentNode.removeChild(parentNode.addChild) + parentNode.addChild = null + } + }, 50) + } + } +} + +ipcRenderer.on('dom-ready', () => { + console.log('================500px-load') + document.querySelector('body').addEventListener('mouseover', mouseoverFn, false) + document.querySelector('body').addEventListener('mouseout', mouseoutFn, false) +}) diff --git a/static/page-script/nasa.js b/static/page-script/nasa.js new file mode 100755 index 0000000..299ed02 --- /dev/null +++ b/static/page-script/nasa.js @@ -0,0 +1,48 @@ +const { ipcRenderer } = require('electron') +const { render } = require('./render') + +const PUBLICURL = '/sites/default/files/styles/image_card_4x3_ratio/public/' +const DOWNLOADPUBLICURL = '/sites/default/files/' + +const isImg = target => target.tagName === 'IMG' && target.parentNode.className === 'image' + +const mouseoverFn = function (e){ + const { target } = e + if (isImg(target)){ + const { parentNode } = target + window.setTimeout(() => { + if (!parentNode.addChild){ + const src = target.getAttribute('src') + const options = { + width: 0, + height: 0, + url: src, + downloadUrl: `https://www.nasa.gov${src.replace(PUBLICURL, DOWNLOADPUBLICURL)}` + } + parentNode.addChild = render(options) + parentNode.appendChild(parentNode.addChild) + } + }, 80) + } +} + +const mouseoutFn = function (e){ + const { target } = e + if (isImg(target)){ + const { parentNode } = target + if (parentNode.addChild){ + window.setTimeout(() => { + if (!parentNode.addChild.mouseoverFlag){ + parentNode.removeChild(parentNode.addChild) + parentNode.addChild = null + } + }, 80) + } + } +} + +ipcRenderer.on('dom-ready', () => { + console.log('================nasa-load') + document.querySelector('body').addEventListener('mouseover', mouseoverFn, false) + document.querySelector('body').addEventListener('mouseout', mouseoutFn, false) +}) diff --git a/static/page-script/pexels.js b/static/page-script/pexels.js new file mode 100755 index 0000000..ffa2d23 --- /dev/null +++ b/static/page-script/pexels.js @@ -0,0 +1,40 @@ +const { ipcRenderer } = require('electron') +const { render } = require('./render') + +const isImg = target => target.tagName === 'IMG' && ['photo-item__img'].includes(target.className) +const mouseoverFn = function (e){ + const { target } = e + if (isImg(target)){ + const imgParent = target.parentNode + if (!imgParent.addChild){ + const options = { + width: target.getAttribute('data-image-width'), + height: target.getAttribute('data-image-height'), + url: target.getAttribute('data-large-src'), + downloadUrl: target.getAttribute('data-big-src').split('?')[0] + } + imgParent.addChild = render(options) + imgParent.appendChild(imgParent.addChild) + } + } +} + +const mouseoutFn = function (e){ + const { target } = e + if (isImg(target)){ + const imgParent = target.parentNode + if (imgParent.addChild){ + window.setTimeout(() => { + if (!imgParent.addChild.mouseoverFlag){ + imgParent.removeChild(imgParent.addChild) + imgParent.addChild = null + } + }, 40) + } + } +} + +ipcRenderer.on('dom-ready', () => { + document.querySelector('body').addEventListener('mouseover', mouseoverFn, false) + document.querySelector('body').addEventListener('mouseout', mouseoutFn, false) +}) diff --git a/static/page-script/render.js b/static/page-script/render.js new file mode 100755 index 0000000..b6e9843 --- /dev/null +++ b/static/page-script/render.js @@ -0,0 +1,98 @@ +/* eslint-disable max-len */ + +const { ipcRenderer } = require('electron') + +const iconDownload = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABS0lEQVQ4T72TsU7DMBCGfU6y8gzMPAFMLQMbYqpjRQoLAwtiYIWhzcATsDExRIpsZ0SslAkeg2dgjeNDjmIprZLWkQJeklj2d3/++w/IxAsm5hEvoFKK2cKMMbVPgBdQCLGyIM5589y1/haY5/lBFEUnlNJjrfVHkiRrq2ZbYVEU8zAMZ8aYr6qqPtM0/XGqNxTai5TShTGmNMasdwEppXN3tmvFBlAp9a61zhzIVVVKLdumZF3/WqVLxthpr8Ih4FBTpJQXAHDnBbTVgyB4ruv62vplFVhf3Z79CynlJQBceQFdMwDgAREf7bd7d56VZXmDiAtvYAfaeIiIWbcBQoh7SunZKGBfbFwD2lTMRgOHJuP/gUIICQBvcRy/7JvZjhVHnPN4KIfniPhECDn0ARJCvgHgljH22gt0mzaDPsDtiWqi5XNxzJnJgb8whuUV13+BlgAAAABJRU5ErkJggg==' + +const iconDownloadHover = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABF0lEQVQ4T72TMU4DMRBF378AZ6DmBFAFCjpEBeloKGhQClooQgpOQEdFDSkRLUkFx+AMucBHtryRE+1ir7QwjS3LfvP9Z0YMHBqYRxXQ9nlILOm1JKAWeJ+Acf0t/hZoewc4APaBpaRFUGN7Q6HtQ2AEfAGfklaN6g2F6eEZMAcWBWCAxruS1lZsAz+AWQNqstqeJg9nuX9J6VTSUZfCLmBrUWyfAjdVwJT9CbhKfgURSyCehV/YvgAuq4BZMe6Ah/SluG88s30dfKwGZtDoYfJ3XQDbt8BxL2Bb22TFCvBRb2DXZKQ2+1/gC/Au6bk0s5kVe5LGXX14AjwCuzVA4BuYSHprBWZmh7EqxvZExWkqvup5YXDgD/V/oxUurSvtAAAAAElFTkSuQmCC' + +const iconWallpaper = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABQ0lEQVQ4T7XUsUrDUBQG4P8k6eZj6FJfQai4ueeeSzcfQVwVSsEn8Ams4JATcHDQsYrgAzi4uLgKoiCOjb/c1pQaLG1DvEvIublf/tyTRNDwkIY9TME8z3sAtmdvQPKFZCQiMYCIZCwiEYDxMZyHOoA7VQ3rJ6CZ7QHoiciRc+58ldRmtg7gOoqi4zRNByV4CeBCVU9Xwcpr8zzfJXmlqlKCw6Io+t1u96YOGNZkWfbovW83CX5679caA82MjT7y/4Micuicu6/blD8T1sXCujiOh7/2UCZvUO1BMjRlZ6xkWXYiIl+qul9HNLMzkq/e+4NpLDN7AvBM8n0VVEQ+AHRUdWP6LZeAmW0VRZFUwSRJOqE2Go1uq3OtVustTdOHsr7Uxv38ieCc6y9KPxc0s7aIGMnNKhK6OQ9eKuGiVLPzjYPfQXGrFUxePR0AAAAASUVORK5CYII=' + +const iconWallpaperHover = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAA/UlEQVQ4T7XUMUrEQBSH8e9TS4+hzXoFYcXOW3iExVZBFjyBJ1DBxsLCQstdETyAhY2NrSAKYu2TYGYJMZJNdpwm8Cbzm38yvJHMw8weMzAiDoGt2gYvwBKw3PK8U4v1P2BE7AJF4UA975I6ItaAG+BIPU3gFXCpnnTB0rsRsQNcW4wy4QQYq9M+YGk8qoOc4Ke6mhOM3J/8/+C+er/AofxO2Bcr103q/3BBjyLhdjrlY+BLHfVRI+IMeFX3qr38BDwD7x3RD2Cors96udJCm8BKAzgsa7cNc2/qQ6rPdX2VNxHquC39n2BEDIALYKOOpDugCZ8rYVuq6nx28BvGs3gV89CM0AAAAABJRU5ErkJggg==' + + +const render = (options) => { + const downloadFile = function (e){ + e.stopPropagation() + e.preventDefault() + ipcRenderer.sendToHost('notify', { + type: 'info', + title: '提示', + message: '正在准备,请等待...' + }) + ipcRenderer.sendToHost('download', { ...options }) + } + + const setWallpaper = function (e){ + e.stopPropagation() + e.preventDefault() + ipcRenderer.sendToHost('notify', { + type: 'info', + title: '提示', + message: '正在准备,请等待...' + }) + ipcRenderer.sendToHost('setWallpaper', { ...options }) + } + + const btnMouseOver = function (e, icon){ + const { target } = e + target.style.color = '#ffffff' + target.style.background = `url(${icon}) no-repeat center center` + } + + const btnMouseLeave = function (e, icon){ + const { target } = e + target.style.color = '#bbbbbb' + target.style.background = `url(${icon}) no-repeat center center` + } + const dom = document.createElement('div') + const btnDownload = document.createElement('div') + btnDownload.setAttribute('title', '点击下载') + + + const btnWallpaper = document.createElement('div') + btnWallpaper.setAttribute('title', '设置壁纸') + + const btnCssText = 'width:50px;height:100%;color:#bbb;cursor:default;font-size:20px;' + btnDownload.style.cssText = btnCssText + btnWallpaper.style.cssText = btnCssText + + dom.style.cssText = 'display:flex; position:absolute;z-index:1; right:0;top:0; align-items:center; width:100px;height:40px;background-color:#222;' + + btnDownload.onclick = null + btnDownload.onclick = options.downloadFile || downloadFile + btnDownload.onmouseover = (e) => { btnMouseOver(e, iconDownloadHover) } + btnDownload.onmouseleave = (e) => { btnMouseLeave(e, iconDownload) } + btnWallpaper.onclick = null + btnWallpaper.onclick = options.setWallpaper || setWallpaper + btnWallpaper.onmouseover = (e) => { btnMouseOver(e, iconWallpaperHover) } + btnWallpaper.onmouseleave = (e) => { btnMouseLeave(e, iconWallpaper) } + + dom.appendChild(btnDownload) + dom.appendChild(btnWallpaper) + btnDownload.style.background = `url(${iconDownload}) no-repeat center center` + btnWallpaper.style.background = `url(${iconWallpaper}) no-repeat center center` + + dom.className = 'wallpaper-ctrl' + + dom.onmouseover = function (e){ + e.stopPropagation() + e.preventDefault() + dom.mouseoverFlag = true + return false + } + + dom.onmouseout = function (e){ + e.stopPropagation() + e.preventDefault() + dom.mouseoverFlag = false + return false + } + + return dom +} + + +module.exports = { + render +} diff --git a/static/page-script/themoviedb.js b/static/page-script/themoviedb.js new file mode 100755 index 0000000..6ec3d76 --- /dev/null +++ b/static/page-script/themoviedb.js @@ -0,0 +1,43 @@ +const { ipcRenderer } = require('electron') +const { render } = require('./render') + +const isImg = target => target.tagName === 'IMG' && target.parentNode.tagName === 'A' && target.parentNode.parentNode.className === 'image_content' + +const mouseoverFn = function (e){ + const { target } = e + if (isImg(target)){ + const { parentNode } = target.parentNode + if (!parentNode.addChild){ + const src = target.parentNode.getAttribute('href') + const options = { + width: 0, + height: 0, + url: src, + downloadUrl: src, + } + parentNode.addChild = render(options) + parentNode.appendChild(parentNode.addChild) + } + } +} + +const mouseoutFn = function (e){ + const { target } = e + if (isImg(target)){ + const { parentNode } = target.parentNode + if (parentNode.addChild){ + window.setTimeout(() => { + if (!parentNode.addChild.mouseoverFlag){ + parentNode.removeChild(parentNode.addChild) + parentNode.addChild = null + } + }, 50) + } + } +} + +ipcRenderer.on('dom-ready', () => { + console.log('================them-load') + document.querySelector('body').addEventListener('mouseover', mouseoverFn, false) + document.querySelector('body').addEventListener('mouseout', mouseoutFn, false) +}) diff --git a/static/page-script/unsplash.js b/static/page-script/unsplash.js new file mode 100755 index 0000000..02d80eb --- /dev/null +++ b/static/page-script/unsplash.js @@ -0,0 +1,45 @@ +const { ipcRenderer } = require('electron') +const { render } = require('./render') + +const isImg = target => target.tagName === 'IMG' && target.getAttribute('srcset') + +const mouseoverFn = function (e){ + const { target } = e + if (isImg(target)){ + const { parentNode } = target + if (!parentNode.addChild){ + const srcList = target.getAttribute('srcset').split(', ') + const src = srcList[srcList.length - 1] + const options = { + width: 0, + height: 0, + url: src, + downloadUrl: src.split(' ')[0].split('?')[0], + } + parentNode.addChild = render(options) + parentNode.addChild.style.left = 0 + parentNode.appendChild(parentNode.addChild) + } + } +} + +const mouseoutFn = function (e){ + const { target } = e + if (isImg(target)){ + const { parentNode } = target + if (parentNode.addChild){ + window.setTimeout(() => { + if (!parentNode.addChild.mouseoverFlag){ + parentNode.removeChild(parentNode.addChild) + parentNode.addChild = null + } + }, 80) + } + } +} + +ipcRenderer.on('dom-ready', () => { + console.log('================un-load') + document.querySelector('body').addEventListener('mouseover', mouseoverFn, false) + document.querySelector('body').addEventListener('mouseout', mouseoutFn, false) +}) diff --git a/static/page-script/wallhaven.js b/static/page-script/wallhaven.js new file mode 100755 index 0000000..3be764a --- /dev/null +++ b/static/page-script/wallhaven.js @@ -0,0 +1,50 @@ +const { ipcRenderer } = require('electron') +const { render } = require('./render') + +const isImg = target => target.tagName === 'A' && target.parentNode.tagName === 'FIGURE' + +const mouseoverFn = function (e){ + const { target } = e + if (isImg(target)){ + const { parentNode } = target + if (!parentNode.addChild){ + const node = parentNode + const wallpaperId = node.getAttribute('data-wallpaper-id') + const url = node.querySelector('img').getAttribute('data-src') + const isPng = Boolean(node.querySelector('.png')) + const [width, height] = node.querySelector('.wall-res').innerHTML.split('x') + const downloadUrl = `https://w.wallhaven.cc/full/${wallpaperId.slice(0, 2)}/wallhaven-${wallpaperId}.${isPng ? 'png' : 'jpg'}` + const options = { + width: width.trim(), + height: height.trim(), + url, + downloadUrl, + } + + parentNode.addChild = render(options) + parentNode.addChild.style.zIndex = '9999' + parentNode.appendChild(parentNode.addChild) + } + } +} + +const mouseoutFn = function (e){ + const { target } = e + if (isImg(target)){ + const { parentNode } = target + if (parentNode.addChild){ + window.setTimeout(() => { + if (!parentNode.addChild.mouseoverFlag){ + parentNode.removeChild(parentNode.addChild) + parentNode.addChild = null + } + }, 80) + } + } +} + +ipcRenderer.on('dom-ready', () => { + console.log('================wall-load') + document.querySelector('body').addEventListener('mouseover', mouseoverFn, false) + document.querySelector('body').addEventListener('mouseout', mouseoutFn, false) +}) diff --git a/static/tubiao_caomei.ai b/static/tubiao_caomei.ai new file mode 100755 index 0000000..6998ffa --- /dev/null +++ b/static/tubiao_caomei.ai @@ -0,0 +1,306 @@ +%PDF-1.5 % +1 0 obj <>/OCGs[5 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + Adobe Illustrator CC 23.0 (Macintosh) + 2019-02-20T15:39:35+08:00 + 2019-02-20T15:39:35+08:00 + 2019-02-20T15:39:35+08:00 + + + + 180 + 256 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAC0AwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FVO6ure1t3uLmRY YIhykkc0UD3JyM5iIsmggmnk/mr80r+8ke20VjaWg2Nz0mf3H8g+W/6s5nWdrykax+mPf1/Y4eTU E8mCz3FxcSGWeV5ZD1d2LMfpOaeUjI2TbjE2i7LXtbsiDaX88IH7KSMF+la0yzHqckPpkR8WQmRy KcJ+ZfnNI+AvwfB2iiLD70/XmWO1dQBXF9gZ+PPvQzee/N7MWOqTVPhxA+4DKz2jn/nFHjS70z0f 80vMtlMv1yRb+2/ajkVVen+S6gGvzrmRg7XzQPq9QZx1Ehz3etaLrmn6xYRXlnICkoqYyRzUjYqw 8RnTafURyxEo9XNhMSFhH5eydirsVdirsVdirsVdirsVdirsVdirsVdirsVeV/mdP5qvLs2osJ49 HgNUdF5rIw/3Y5TkB/kg5zfa0s05cPCfDH2+bh6gyJqtnnJBBIIoR1GaFxXYq7FXYq7FXYq4Eggg 0I6HFU/0Tzx5j0iRTDdvNAPtW05MkZHgKmq/7EjM3T9oZcR2NjuLZDLKL2fy15gtde0mPULdSlSU liJqUkXqte/Wo9s6zS6kZoCQc/HMSFppmSzSTzV5otNAsRNIvq3MtVt7cGnIjqSeyjMPWayOCNnc nkGvJkEQ89/5Wn5m9b1ONvwrX0vTPGnhXly/HNF/LGa72cX8xJnvlPzhZ+YIHCr6F7CKzW5NdunN TtVa/dm70WujnHdIdHJx5RJkGZza7FXYq7FXYq7FXYq7FXYq7FWPec/K1lrWkXNIFOoxoz2sygCT moqEr3DUpvmDr9HHLjO3q6NWXGJDzeDsrKxVgQwNCDsQRnFkOuaxV2KuxV2KuxV2Kvavyqitk8ox tE4aSWaV7hf5XrxA/wCAVTnXdjxAwCupN/j3Ofpx6Ud5p866boSGL/ejUCKpbKelehkP7I/HLdZ2 hDDtzl3frZZMoj73kOsaxf6vfPeXsnOVtlA2VVrUKo7AVzlc+eWWXFLm4MpGRsoLKWLJ/wAthP8A 4utfTrwCS+tTpw9NqV9uXHNl2VfjivP7m7B9T1641HT7ZglzdRQueiySKhP0EjOqlljHmQHOMgEQ CCAQag9Dk0uxV2KuxV2KuxV2KuxV2KuxV57+aPlTTP0ZNrsCCC8idPX47CUOwTcfzVYGuaLtfRw4 DkG0uvm4uoxiuJ5PnNOG7FXAVNBiqutuKfEd/AZKlc1uP2Tv740qiQQaHrkVTPQPMGr6NdibT5zH yI9SI7xuB/Mp2P68yNPqZ4pXAsoTMTssnnmuJ5J5nMk0rF5HbclmNSTkJSMjZ5lBNqeRVa0iL1O/ hjarrXWdSs/V+pXD23rALI0R4sVG9OQ+ID5HJQzzhfCatRIjkg3d3Yu7FmY1Ziakn55WTaHs/wCV +vRX/l+OxklDXliTGUY/EYq1Rh7AHj9GdZ2RqRPFwk+qP3Ofp53Gu5mWbVvdirsVdirsVdirsVdi rsVSrzTon6b0K605XEckoBic1oHRgy1p2JFDmNrNP42Mw72GSHFGngN7ZXNldy2l1GYriFikiHsR nE5MZhIxlzDrSKNFDkgCpNB4nILGJJoKkRAkBPTCEIrJJdiqnLFzoR9rAQtW0kMkU7RyDi6DcbGn 3YIm2WTGYSMZcwq9MkxQ8kxOy7DxyJKFLArsVdiq+CeeCVZYJGilX7MiEqw+RG+SjIxNg0VBZToP 5keYtNuE+tTtf2lQJIZjyenish+KvzNM2Om7Vy4z6jxR8/1t0M8hz3e02d3BeWkN1A3KGdFkjbxV xUZ1sJiURIci54Ni1XJJdirsVdirsVdiqE1TV9L0m0a81K6jtLZeskrBRXwFep9hvkZSERZbtPps maXDjiZS8nlvmP8A5yE0uAtDoFi164qBdXNYoq+KoPjYfPjmHPWgfSHrdF7H5Jb5pcPkNz8+X3sB 1/zD5y8zss+oz28C0+BIYlRlB3pzAMlPYvmj1OvhM+oXXkHCydodj6aZjHFLNKPU0R9p/wB6ltho 7Qz+vcy+u6/3damh8d8w82p4o1EUHB7Y9po58Pg4IeFA/Vy3Hdt070zzDeRdiq4SOOhOG1REUoce BGSBSrx6VqDN6qQs8TjkGFDscq8WIPNy46HNIcQjYKEuGYMYyCpXZgRQ1+RyZNuJIEGjzUcCHYq7 FXYq7FXYq+hfKtlNY+XNOtZxxmjgT1F7qxFSp+VaZ3OjxmGKMTzp2eMVEBNcyWbsVdirsVdirBPz F/NXTPKiNZWyrea2y1W3r8EQYbNMR94Ubn265jZ9QIbDm9D2N2Bk1Z45enF39T7v1/e+edf8ya3r 96bzVrt7mY/ZDbIg/lRBRVHyGaueQyNl9K0mixaeHDjjwj8cylqqzsFUVZjQAdSTkCa3b8mSMImU jURuSzdAQig9QAD88548357yyBmSORJXYGt2KuxV2Kpff63DZTLGEMr7FwG40B96NvmVg0pmLunq uwvZbJroHJKXBj6bWT923n3sv0rz35YktURpmtGjUD0plNdh/MoYHMLL2dmB5cXueql2HmxARiOK I7kt1bVbLU7v6zZHnAFCCShXkVJqaGh9t8McMsYqXN4b2gxSx6nhkKkIi/vQWSdI7FXYq7FXYqse 8jtCszSJGyEMhehFRuPh75ZijIyFC3N0Ojy58gGOEslHcD9fR7N+Xf5n6Z5ri+qTcbXWogTJbAnj KF6yQltyPFTuPxztcGoExvtJ6btfsPJpPWATjPzj5Srb4jYs3zJdE7FXYq7FWD/mp+YUflTSRDaM ra1eqRaJsfTXoZmB7DooPU/I5j6jPwDbm7/sDsc6zJcv7qPPz/o/rfM9zc3F1cSXFxI008zF5ZXJ ZmZjUkk9Sc1BNvqkIRhERiKAUwCSANydgMBKykIgk8gyvTdKgtEViOVxT4nPavZc02fUGZr+F8Z7 c9os2tkYg8OG9o9/nLv+4faj8xnnHYq7FXYq7FWP+ZLaNZY51NHk2dfHj0ObPQzJBj0D6b7Da7JP HPCR6Ibg918x+n5pLmwe+RVlqV1aN+6aqHrG26nKcuCM+bp+1Ow9NrR+8Hq6SH1D9fuKcxeZLUr+ 9jdG70ow/WMwJaGXQh4PUewupjL93OEo+dg/cfval8y2wH7qJ3b/ACqKP44x0EupZab2E1Ej+8nC MfK5H9H3oT/Et5X+7j4+FGr+vL/yEO8u8/0CaSvryX74/wDE/pbbzNc0+GFAfep/pgGgj3lqh7B6 e98kyPgP1oabW9Rl29T0x4IKfj1y6Gkxjpbt9L7J6DDvwcZ/pG/s5fYgWdnYsxLMepJqcyAAOT0O PHGA4YgADoNlWzvLqyuoru0laC5gYPFKhoysNwQRhBINhcmOM4mMhcTzD6c/LP8AMCDzdpBM3GLV 7QBb2AbBq9JUH8rfgforuNPm4x5vlPbnY50eXbfHL6T+g+bMsvdG7FVC/vrawsbi+unEdtbRtLM5 7Kgqf1YJEAWWzDilkmIR3lI0HyT5s8yXnmPX7vVrokGdqQxVqI4l2RB8h953zSZMhnKy+ydn6KOm wxxx6c/M9SyfR9Z8n6b+X88EqR3OtXyzK8JTk4ckpGSxHwqqgN169N8wZwmcn9EOi1mk1GbW2LEI 1UugG113m/xTA4n9OVJOvBg1Pka5kyFgh6TUYfFxyh/OiR8xTNYZo5olljPJHFQc0EomJovgOp00 8GSWOYqUTRX5FodirsVdiqEvNUtLVTycM/aNTU/2Zfi08pnYbO67M9n9Vq5DhiYw/nHYft+DF7y7 lup2mk6nZV7AeAzcYsYhGg+w9mdm49HhGLH05nvPeVDLHYOxV2KuxV2KuxV2KuxVFXmlanZRQy3l rLbx3A5QPIhUOBTdajfqMiJA8nGwavFlJEJCRjzR3lHzNe+WtettWtSSYm4zxVoJIm+2h+Y6eBoc txZDCVhq7R0MNVhOOXXl5HoX1npuo2mpafb39o/qW11GssL+KuKivv45u4yBFh8dz4ZYpmEtpRNF E4Wp5h+fvmFrHyxBpMT8ZtUl/eU/3xDRmH0uU/HMPWTqNd71nsjo/E1ByHljH2n9lvnrNY+kuxV2 KproV/HbtIk8nCEioBqfi9qe2YWswmVEDd4v2v7HnqowlhhxZQaNV9Pnfny+KbnWtMH+7x9Csf4Z gjS5O54mPsr2if8AJf7KP/FKMnmKwUfAHkPsKfrplkdFM86DnYPYnWzPq4Ie8391pbeeYLqYcYR6 CeINWP05l4tFGPPd6vsz2N02A8WX97Lz2j8uvx+SWtLI1Szkk9aknMoRAerhp8cfpiB8AtyTc7FW e6r5g0D/AJVlp+k2/pvfyEc4gKvEyOWeQ+BboPEHMSOOXik9HltLo838oSySB4QTv3gjYDv6e6mB ZlvUuxV2KuxV2KuxV2Ksz80efodf8rWenzwOupwTI8s2xjYJGylga8gWLbin05jYsHBMno892f2P PT6gzB/d0a7/AHH8dGGZkvQvdv8AnH3zObjTrvy7O9ZLM/WbMHr6UhpIo9lcg/7LNjosljhfPvbD Q8M45x/FsfeOXzH3PXszni3zf+e2rG988vaqax6dBFBQdOTj1mP/ACUA+jNVrJXOu59P9lNPwaTi 6zkT+j9DzvMV6Z2KuxV2KuxV2KuxV2KuxV2KuxV2Koq60rUrW3hubm1lht7kVgldCquOvwkjfbIi QOwcbFq8WSRjGQMo80LknJdirN/J3k7Rdb8r6pezzOuo2pf0wHAVAsYdGZadGbkD8sxcuaUZAdHm u1e1M2n1EQPooGu/vYRmU9K7FXYq7FWUfllrh0bzvpd0W4wyyi2uPD05/wB2Sf8AVLBvoy7Tz4Zg up7c0vj6SceoFj3jf9j6szcvkD5H88XpvfOOtXNah72cIf8AIWQqv/CgZpMxuZ977N2Vi8PS44/0 I/ckeVue7FWUfl35bstf19ra9J+rQQtO8aniXoyoFqNwKvXKNRkMI2HT9t62enxAw2kTV934/WlP mS00+012+tdOcyWUMrJC5Ndh1FR1ANQDlmMkxBPNy+zsuTJgjLJ9RH9nzCW5NzXYq7FXYq7FXYq7 FXYqzLVvPkGq+S4dEubZhf2xiEc4oYysQ48t91bjt/nTMaODhnxDk87puxp4dV4kSPD3267g7MNz Jeidiqtb3l3bep9XmeETIYpvTYrzRtmVqdQfDAQC1ZMEJ1xAGtx5KOFtdirsVdirasysGUkMDUEb EEYoIt9c/p9f8Gf4g7fo76/0/wCKPV6Zu+P0cXk+M/lP8K8H/bOH/ZU+Sruf17qafc+rIz1PX4iT vmkJsvsmOPDEDuClizdiq+G4ngZmhkaJmUoxRipKtsVNOxwENeTFCYqQEh57rMLY7FXYq7FXYqz2 z07yqn5XzahOkb6pJI8ayE/vVnD0RF9hHRiPDMUyn4tdHls+bUHtEQiZcI4dunDQvy792BZlPUux V2KuxV2KuxV2KuxV2KuxV2KuxV79+kj/ANC+fWOQr9S+rVr/AMX/AFen8M2XF+4+D514H+vXD/Tv /Y8TwHNa+ip55V8n6p5lmuI7J441tlDSSTFgtWJCr8IY1ND92VZcohzdb2j2nDSiPECeL9HNJp4Z IJpIZBSSJijjwZTQ5YC52LIJxEhykL+azC2OxV2Ks+0a38qx/lpf3d5FC+ou8kUUjBfWE1B6QQ/a AGzGnvmJMz8UAcnltVk1B7QEImXB6TXTh6n7/uYDmW9S7FXYop2KW1VmYKoqzGgA7k4sZyEQSeQT 3zT5M1Ty2LU3zxSC7DFPSYmhSnIGoX+YZVizCd063s7tWGqMgAQY9/ckOWu0dirsVT/SPJWsarod 3rFoYzb2hYNEzESN6ah24gAjZW7nKp5hGQierqtV2viwZhjkDvzPQX+N0gy12rsVTfylJpMfmOwb V0WTT/UpMsn2N1IUt/kq5BPtleW+E1zcDtMZDp5eHfH5c+e/2Jh+Y9npdp5qni01Y47cxxO0cQAj VmQH4QNqEUO3jkNOSYbuJ2DmyZNPcyT6jRPd/bbGMvd09q/9ds/z/wCrpmf/AMh/x3vCf8738f6k 8g1i1Npq17akUNvcSxUG32HK9vlmDIUSHtdNk48cZd8QfsTHyx5v1Py79c+ohC15GEJcVCspPFwO 5XkdjtlOTEJ1fRw+0OzYarh4iRwn5g/2JIzMzFmNWJqSepJy12EYiIAHINYsnYq7FXYq7FXYq7FX Yq2rMjBlNGU1B8CMWM4CQIPIp35q836n5kngkvAkaWycI4o68eTU5vuTuxGVYsQhydf2d2ZDSg0b Muv3JHlrsnYq7FU98vectW0K1vLS1KvbXiMrRuCeDsvH1Ep3/XlWTEJEE9HVdodk49TISJqQ+0dy RZa7V2KuxV2KuxV73+j/APrHn0KD/eT6xTf/AJavXrmy4f3D5343+vV/0q/2PC8t/NHTzY+f9ahp QSXBuB7/AFhRN+t8w9RGpl63sHN4mjxnujX+l2/QxbKXbuxV2KuxV2Kpx5T8uP5h1mPTlmFurK0k k3HnRUHZarWpoOuV5cnBG3X9pa78ti46sk0FDzDo7aNrV1pjSrObZgolUUDAqGG1TQ0O4rscOOfF EFt0Oq8fFHJVX+ukuybluxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV9Vfodv+VX/ongfU/Q3ocab+ p9Wp08eWbnh/d15PkP5n/XDxenjX8OL9Tyn/AJyE0oweZrHUlWkd9bcGbxkgYg/8I6Zha2NSB73r /Y/UcWnlj6xl9h/aC8rzDevdiraqWYKNyTQDFjOQiCTyDJfOXke48sx2Ty3SXP1tW5BVK8HQDkBU nkvxbNt8sow5hO/J1PZna41UpR4eGvO/0MZy93CP0PW7/RdRTULFlWeMMoDDkpDChBGQnASFFxNZ o4aiHBPlz2Qt3dXF3cy3Vy5knmYvLIepZjUnJAUKDfhwxxxEIiohSwtjaIzuqKKsxAA9ziwnMRiZ HkN2S+c/JE/lhbIyXS3X1tWrxQpwePjyG5PIfHsdvllGHNx35Oq7M7WGqMhw8PD53+gMZy93DsVd irJPJnkq58zzXax3C20doilpGXnV3rwWlV68TU5TmzCFOq7U7UGlEfTxcV9a5fPvY/cQtBcSwOQW idkYruKqaGmWg27HDlGSAmP4gD81PC2OxVnvlbX/AC4vkXV9H1D04rwpLJDyX++YpWKjfzq42/28 xcsJeIJDk8r2jos/5yOWAJBMfh7/ACYFmU9U7FUbomntqOs2OnqKm7uIoB/z0cL/AByUI2QGjVZv CxSn/NiT8g+xuC8eFBwpTjTanhTN6+JX1ecfnzopvvJgvo1rLpk6Sse/pSfu3/4ZlP0ZiayFwvue n9k9V4eq4DyyRr4jf9b5zzVvprsVcCQajrigi9im3mHzRq+vzQy6jIGMCCONEHFRsOTU/mYip/pl ePGIcnB0PZ2PTAiF+rvSnLHPdirsVdirgSCCDQjcHFEogijyTbzD5n1fzBcRTajIHMKBIkQcUHTk 1PFiKn+mV48YhycHQ9n49MCIXv3/AGJTljnuxV2KptoHmjV9B+tfo6QRm7j9OQkVpQ1V1/ylqaV8 crnjEqtwNb2dj1PDx36T+AlJJJJJqTuScsc4AAUHYpdirsVdirsVZx+TGlfpD8wLBivKOyWS6k/2 C8UP/Ix1zI0sbmHQe02o8PRS75VH58/sBfTmbd8pQesaZBqmk3mmz/3N5C8LnwDqVqPcVrkZRsEN +mznFkjkHOJB+T4+vrK4sb24srleFxbSPDMng8bFWH3jNGRRp9qxZY5ICcfpkLHxUMDY7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FV8EE9xMkMEbSzSHjHEilmYnsFG5wE0wnkjAXIgDzdNDNBK8 M0bRTRkrJG4KsrDYgg7g4g2mE4yFxNjyWYWT27/nHXRqQatrTr9tks4G9lHqS/fyTNhoY8y8F7Z6 nfHiHnI/cP0vZsz3h3Yq+dPz28t/o3zYupxJxttWT1CQNhPHRZB9I4t8yc1esx1K+99M9lNb4um8 M/VjP2Hl+kMH0zy9rOqQXNxYWrXENovK4ZSo4ihOwJBY7dFqcwZZBHn1d7qNfhwyEckqJ/Hw+KXZ NzHYq7FWb6x5Q0Sx/L+x1pZWbUbkxkty+BvUqSgWn7A/VmNDLI5DHo81pu0s89ccR/uwZCq5V1vn /awjMl6V2KuxV2KuxV2KuxV2KuxV2KuxVNPK+uNoeu2upiP1RAW5x1pVXUo1D40bbK8kOKJDg9o6 T8xhMAaPT3ojzrrVlrXmK41GyRkglWMASAKxKoFJIBPceODDAxjRaeyNLPBh4J87Pw/HP4pHlrtH 1b+Weh/oXyTpdo68Z5IvrFwD19Sf94QfdQwX6M3OCHDAB8g7c1Xj6uchyuh7ht+1k+XOpdirDvzX 8rHzD5OuooU5Xtl/pdoAKktGDyQf66VA96ZRqcfFDzd37P6/8tqok/RL0n49fgXhHlXzx+gtA1PT 1g9S4uzytpNuKsy8HLnqaAAqM5/Lh4pA9z3vaXZB1OaM7qIFHv53t77+DE8yHeuxV2Kqst5dSwQ2 8kzvBb8vQiZiUTmeTcVOwqeuCg1RwwjIyA9UuZUsLa7FXYqyv8tvL+l65r722pKZLeKB5hCGKc2D KoBKkNtyrscx9RkMY2HS9uazJgxA49iZc/7Ui122s7XWr62sn52kM8kcD15VVWIG46/PLYEmIJc7 QZZ5MEZT+oj8fNA5NzHYq7FUXpFvZ3OqWlveymC0lmRJ5hQcUZgCanYfPIyJANONrMk4YpSgLkAy L8xPKFp5cv7YWUjPaXcZZFkYM6shAboBseQplOnymY3dZ2J2jPURkJ/VGt/ff6mJZkO8dirsVZB5 C8v/AKf83abprLygeUSXQ/4pj+OT71WmWYYcUgHW9r6z8vpp5Otbe87B9aZu3xx2KuxV2Kvl381/ KX+HPNtxHCnHT76t1ZU6BXPxxj/Uao+VM0+px8EvIvrPs/2h+Z0wJ+uHpl+g/EfbbDcod47FXYq7 FXYq7FXYqqQXNxbyerbyvDJQrzjYq1GBVhUeINDgItryYoZBUgJDzU8LY7FXYq7FXYqqzXV1MkUc 0zyJCvCFXYsEWtaKD0FfDAAGrHhhAkxABPOhzUsLa7FXYq9w/wCcevLZjtr/AMwzJQzH6naE/wAi kPKw9i3EfQc2Gihzk8D7Y625RwDp6j+j9PzeyZnvEOxV2KuxVhX5s+Tv8SeVpfq8fPU9PrcWVOrU H7yMf66jb3AzH1OLjj5h3vs92l+V1A4j+7ntL9B+H3W+YM1D6w7FWQ+UPJd95mkult5kgS1VS7yV NWevFaD/AFTvlOXMIc3Vdp9qDS8Pp4jLzrkkM0TRTPE1C0bFWoaioNNjlodjiyCcBIcpAH5rMLY7 FXYq7FXYqiNO0+61G9hsrRPUuZ24RpUCp+Z2yMpACy0anURwwM5fSFfW9E1HRdQewv4/TnUBhQ1V lboynuMEJiQsMNHrIaiHHDkgMm5TsVdirsVdiqtZWdxe3kFnbIZLi5kWKGMdWdyFUfecIFmmvLkj jiZS2jEWX155b0O30LQbHSbfeOziCFv5n6u/+ycls3eOHDEB8Y1uqlqM0skucj/Z8gmWTcV2KuxV 2KuxV82/nN5KOg+YjqFrHx0vVWaWOnSObrLH7VJ5L93bNTqsXDKxyL6h7M9qfmMHBI/vMe3vHQ/o P7XnuYz0qceXvNWraAt4NPdUN5GI3LCvEqfhdf8AKWppXxyvJiE6vo6/XdnY9SY8d+k/PySckkkk 1J3JOWOeAAKDsUuxVxBGxFMWMZA7g27Fk7FUTpmoXOnahb31sQs9s4kjJ3FR2PsehyMogii0anTx zYzCXKSZ+cPNEnmTVUv3gFv6cKQrGG5fZJYmtB+05yGLFwCnE7M0B02MwJ4rkT+PkkeWuydiqZeW 9Dl1zWrbS45Vha4LfvWFQoRS7bDqaLsMhknwxtw9fq/y+I5K4qX+Z/L8+gazNpssgm9MK0cwHEOj CoNCTTwO+DHk442x7P1w1OLjAreiEqyxznqn5CeVDfa5Nr9wlbXTR6duT0a5kHb/AFEP3kZmaPHZ 4u55D2t7Q8PCMMT6p8/6o/WfuL6AzZvnLsVdirsVdirsVSXzj5Xs/M3l+50m5opkHK3mIr6cy/Yf 6D18RUZXlxicac/s3Xy0uYZI9OY7x1D5O1LTrzTb+4sL2MxXVs5jmjPZlNPpHgc0sokGi+w4M0cs BOBuMhYQ2BtdirsVRWlzWsOp2c12nqWsU8b3EfXlGrguPpXIyBINOPqoSlinGP1GJr30yn80vMOl 6zrNv+jnE0drF6b3CigZixNAT1C/xOUabGYx3dN7P6PJihKUxXFVA+X4+xhmZL0LsVdirsVdirsV V7K9urG7ivLWQxXEDB4pB1BHzwEAii1Z8McsDCQuJRGu63e61qcuo3nH15QoIQEKAihQACT4ZGEB EUGnRaOGnx8EeSEtrae6uIra3QyzzOscUa7lnY0UD5nJgW5M5iETKRoB9a+S/LUHlvy3ZaTHQyQp yuZB+3M+8jf8FsPambvFj4IgPjfaeuOqzyyHkeXkOid5Y4DsVdirsVdirsVdiryX88/IX16y/wAT 6fHW7tFC6gijd4B0k27x9/8AJ+WYWrw2OIPZeyva3hy/LzPpl9Pke74/f73gua19DdirsVdirsVd irsVdirsVRVhpWpagzpY2st00S85FiUuQviaZGUgObj6jV4sNcchG+SFyTkOxV2KvWfyF8nG91ST zJdJ/o1gTFZg9GuGX4m/55q33n2zN0eKzxHo8d7W9pcGMYI/VPeX9X9p+573myfO3Yq7FXYq7FXY q7FXYq0yqylWAZWFGU7gg9jikGnzN+a/kB/K2tevaIf0LfMWtW6iJ+rQk+3VfEfI5qNTh4DtyL6p 7P8Aa41eKpH97Dn5/wBL9fmwXMd6BntzoPleT8sU1e2VV1OFkWWXmSzSmQI0bKTT7LcgKdN8xROX i8J5PLYtVqB2h4cieEk7dOGiQwLMp6l2KuxVFaVerY6paXrIJVtpo5WjPRgjBiN/GmRkLBDj6vAc uKUBsZBV17VP0rrF3qIiEIupDIIhvxB8T3PifHBCPCAGGh0xwYY4ybr+1AZNy2UeSvOp8sw6mFt/ WlvI09A1oFljLBS3+TRyfop3rlGbDx15Om7V7LOqMKNCN37jXJi+Xu4Ap2KUdoejXutata6XYpzu btwieAHVmPsq1J9slCJkaDj6rUwwY5ZJ/TEPrXy9odnoWi2mk2YpBaRhA1KFm6u592Yljm6hARFB 8b1mqlqMsskucj+B8ExybjOxV2KuxV2KuxV2KuxV2KpZ5k8vad5h0a40q/TlBOuzj7SON1dD/Mp/ zpkMkBIUXL0WsnpsoyQ5j7fJ8qeaPLWpeW9an0q/WksRrHIPsyRn7Miezf2ZpsmMwNF9e0GuhqsQ yQ5H7D3JUHYKUBPEkErXYkVoafTlblcIu63awsmSeQbLy/da4w12REsooHlCyvwRnBUBSajsSfoy nOZCPp5un7by5YYR4V8RkBtz6pLqhsW1O7OnqVsTNIbVTWoi5HgPiqfs+OWRuhfN2GlGTwo+J9db +9C5JyHYq7FXYq7FXYq99/IvyP8Ao/TW8yX0dLy/XjZKw3S3rXnv3kI/4Gnjmy0mGhxHq+de1fav iZPAgfTD6vOX7Pv9z1fM1492KuxV2KuxV2KuxV2KuxV2KuxViH5k+QbXzdo/BOMWq2oLWNwelT1j f/If8Dv7GjPhEx5u67E7Xlo8tnfHL6h+keYfMF7ZXVjdzWd3E0NzbuY5onFGVlNCDmoIINF9XxZY 5IiUTcTyUcDY7FXYq7FXYqnnkm70m18zWc2rIj2NWWT1VDopZCFZgdqBiPl1yrMCYmubq+2MWSen Ix3fcOo7lXz8ulL5qvf0X6f1Q+mR6HExcjGpbjx26+HfBgvgF82HYZyHTDj7zXu/H2Mey527M/ys 8jSeafMC+uh/RNkVlvn7N/LED4uRv7Vy/T4eOXk6Pt7tUaTDt/eS2j+v4fe+oERERURQqKAqqooA BsAAM3D5OSSbLeKHYq7FXYq7FXYq7FXYq7FXYq7FXYq82/Nv8sV8xWravpUYGuW6/HGKD6zGo+yf 8tR9k/R4UxNTp+IWOb1Hs927+Wl4WQ/uj/sT+rv+b51dGRijgq6khlIoQR1BGat9MBvcLreFp544 VIDSsqKWNACxpucBLDNkGOBkeUQT8k683eUrvy1ew21xMs4nj9RJEBA6kFd/CmV4somLDgdmdpjV RJrhMfikWWuzdirsVdiqM0jSb/V9Tt9NsIzLd3ThIkHiepJ7ADcnsMMYmRoNGp1EMOM5JmoxfVnk 3ypY+V9Bg0u1ozKOdzPShlmYfG5/UB2FM3WLGIRoPkHaXaE9XmOSXwHcO5PMscB2KuxV2KuxV2Ku xV2KuxV2KuxV2KuxV2KvKPzc/Kk6sJNe0GEfpNRyvbNBT6wB+2g/34O4/a+fXC1On4vVHm9h7O+0 Hg1hzH93/Cf5vkfL7vdy4GyujlWBV1NCDsQRmtfRNpDvBR+s69qusywzajMZ5YIhCjEAHipJ3p1O +5yEICPJxNHocenBEB9Rv9nuS/JuYn+sa7pVz5d0rSrOyEU9oC93dsqh3kNahWFSVNamvt4ZVCBE iSXT6LQ5YajJlnLaXIeV7fIbJBlruHAEkACpOwAxV9G/k/8Alz/h3T/0tqUdNavU2RusEJ3Cf67d W+7xzaabBwizzfMfaPtr8zPw8Z/dR/2R7/d3fN6PmW8w7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXnnn/8AJ7SfMsr6hYSDTtXbeSQLWKY+Mijo3+UPpBzFzaUT3Gxel7I9pMmlHBMceP7R7v1P H9Z/KTz7pbsG0x7yIdJrM+uD8lX95965gy00x0e103tDo8o+vhPdLb9n2sauNF1i2PG4sLiFgaES ROpr17gZSYEdHaQ1OKX0yifiFsOlapO3CGznlf8AlSN2O/sBiIk9Ey1GOO5lEfEJ/pH5X+e9UZRB pE8Mbf7tuh9XUA9/3nEkfIHLY6eZ6Ou1Hbujxc8gP9X1fc9c/L/8lLHQrqHVNZmW/wBSiIeGFAfQ icdG+Ld2HYkCnhXfM3DpRE2dy8Z2v7Tz1ETjxDggeZ/iP6g9PzMeUdirsVdirsVdirsVdir/AP/Z + + + + application/pdf + + + tubiao_caomei + + + 1 + False + False + + 752.756670 + 752.756670 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + 默认色板组 + 0 + + + + Document + xmp.did:2df8bf3c-cfb6-4201-a60f-055a8dc14d08 + uuid:a57e34cc-8367-074c-a66c-c67a910e4345 + xmp.did:2df8bf3c-cfb6-4201-a60f-055a8dc14d08 + proof:pdf + + + + + saved + xmp.iid:2df8bf3c-cfb6-4201-a60f-055a8dc14d08 + 2019-02-20T15:39:33+08:00 + Adobe Illustrator CC 23.0 (Macintosh) + / + + + + Adobe PDF library 15.00 + + + + + + + + + + + + + + + + + + + + + + + + + endstream endobj 3 0 obj <> endobj 7 0 obj <>/Resources<>/Properties<>>>/Thumb 11 0 R/TrimBox[0.0 0.0 752.757 752.757]/Type/Page>> endobj 8 0 obj <>stream +Hԗˎ$IDv ֨5fs<*aѵLTUqfv?>nPK;j +5{ ++_-`11j;|~_9v#Žmv\_~ѯ3[;r +9,3܎8[ HϾ>$2nCG&seZHLG tW?G%xqLBN4Y\:ȅ)~^G7l~_nK/LR'YI4}Z m9U +쳫4{15mFY]ӪT!jYX04"Ov.@ 4U}h>t 4` +l= : +QipYV=RJI_@eJW/PFg%]h@S}_Ҥ7~.oV +"g4'߂y$`0s:u{/׏Bl #(6M٣D;+ 44X6W'zi UHgN$UzjNp.HEǰ\dо45kX@@Hd.\|a ,<7j-"yk{jen^Ssv `u+vcx(?^4x0U +BÀLC/2ИKyDY/4pK׆Jdd;n'b61$IɅJg*x%+o7p.7z}-/sc8cEo~.O}Hgf `ۧΘ>VG6M@=sH'e. I3tDeKup5ۛe,ik&l"ϻdC;x/{sܬxA5.>ZN]QQUv5lxVO>Ӷnz)Qg;aIɜ"#.t \PvbFW28zsRxvZAJ\Rtx#:CLcɰJn|]8(y=Jyas]iCYڨJ}Yk^/OcLEvjڴD +/^rH}pf,獴HRL.h(c2CmHʩ >谻1+5cl_Lbۇ6f2ݙiyg"$Vlڹʩ=ۂi04VyJԗKr1 D XE SYIwsҨ,K4 6>9꿗<ʏ,'hEczBRSX{ZkAL0HZ0$T*1$+L5g4o30u5f xx[O,fv2_G?mV||_mgiY눼&q,dG F Yp"2w u^_buЁ7U8CbZL;0rm;+[h3͖ 0:Pv$&ifLOKc-i`l=$ )t|ddR6V:FWxo{^4`KJLMnosut>=Nz "4_& X+Ϗ}HNCH5+Qܿm,*Ã@Ո~l?[v +q$ jY;]2mtRoqv8<]~Zn=Nlh>stream +8;Z]"9od+6%#+0'XEp9%P;CE#B#PW[<[cRf5kqUhBl%05;F+?4<5%gL]Y'?dpl=g1 +2dX]!O__8r@sL16bnOMkFAR/BIcW%>Lqp.i[eVQElbVV^lc +.ds;$kgZ1W7(qbDDs.#J.`bdh,X[V4n]$!63oF1=^0:h>ml.W.-0tMaG.T$5=#>Oc +DL9nd!1-s3Ndts-u"Rrj&)HZP(P:KnKGY_9;4%5R6JA- +Xo,mbOZFfE?3U?KjE$GEa_t6dLO6K#](F6NSF5*&;pNRm+]G:fVFe\%N_$i/c/'Y' +cfHShRd]j[:qb?H6M:47.pHKURiJW(#9us2fK77M)r`UP`Td^#3m;o!>.NBto,tY2 +b2D'!4k,+3m<,dG]P9s.=/keU*S`YYZm$E2[HCQLLJdnRVlo[);EU/P%"5]2>4mNo +pru$mF@W<2:N'6")>h(%HB>miPNFfAO#iUSeNMYWh2dG:1LYUF*'!+!g&oiW]$0W6 +l6"leDSYSBqf>)R8,i\;&#bt4c^rG*I\pI7mVStPqG>&e;(,YhXh^;b+[2(TX??Gj +)YH.Qs7#D:/C&Z8V)RZBEQC>Ac5c+HT&6m#&O.E*ir)I.1$^LHGu$4j*+jVBrBte> +Vk5CJ^8=k:8b+Sf?,#?+O1t\qLURs#~> endstream endobj 12 0 obj [/Indexed/DeviceRGB 255 13 0 R] endobj 13 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 5 0 obj <> endobj 14 0 obj [/View/Design] endobj 15 0 obj <>>> endobj 10 0 obj <> endobj 9 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <>stream +%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 17.0 %%AI8_CreatorVersion: 23.0.1 %%For: (\721\756\705\764) () %%Title: (tubiao_caomei.eps) %%CreationDate: 2019/2/20 15:39 %%Canvassize: 16383 %%BoundingBox: 729 208 1190 870 %%HiResBoundingBox: 729 208.079925537109 1189.79998779297 870 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 13.0 %AI12_BuildNumber: 540 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([套版色]) %AI3_Cropmarks: 580.564527623405 166.67880271329 1333.32119728671 919.435472376596 %AI3_TemplateBox: 959.5 540.5 959.5 540.5 %AI3_TileBox: 677.442862455057 163.057137544944 1236.44286245506 946.057137544943 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 6 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -1259.31236637795 2023.71530381664 0.28163151326819 1668 1001 26 0 0 6 43 0 0 0 1 1 0 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:0 0 %AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 18 0 obj <>stream +%%BoundingBox: 729 208 1190 870 %%HiResBoundingBox: 729 208.079925537109 1189.79998779297 870 %AI7_Thumbnail: 92 128 8 %%BeginData: 19904 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD0FFFAEAD8181578181A7A7CFFD04FFAECFA8CFAEFD48FF825756 %5D5657565D565656815781565D5657565D57A7AEFD43FFCF575D575D5681 %575D5681575D565D565D5681575D565D5681A8FD41FFAE5656565D565756 %5D5657565D5657565D5657565D5657565D5681A8FD3FFFCF565D57815781 %57815781578157815781578157815781578157815681578182ADFD3AFFAE %565D5657565D5657565D5657565D5657565D5657565D5657565D5657565D %5656568183FD0CFFA7828282AEFD27FF5756565D575D5681575D5681575D %5681575D5681575D5681575D5681575D5681575D565D82FD0AFF82565D57 %8157A7FD25FFA8CF8382575D5657565D5657565D5657565D5657565D5657 %565D5657565D5657565D56575656A7FD08FF825681575D57815683FD29FF %CFA756815781578157815781578157815781578157815781578157815781 %578156ADFD07FFAD578157815781578157FD2BFF83565D5657565D565756 %5D5657565D5657565D5657565D5657565D5657565DA8FD05FFCFA7565D57 %81575D57815757A7FD2AFFAE5D5681575D5681575D5681575D5681575D56 %81575D5681575D5681575D57FD05FFAE825681578157815781578156AEFD %2BFF8256565D5657565D5657565D5657565D5657565D5657565D5657565D %5657A7FFFFFF835D565D5781575D5781575D5681AEFFA8AE83AEFD27FF82 %8157815781578157815781578157815781578157815781578157815681A7 %FFA78157815781578157815781578182AE8281565D57FD28FF835D565756 %5D5657565D5657565D56575681575D565D5657565D565756577B81578157 %5D5781575D5781578157815656565D565682FD28FF825D575D5681575D56 %81575D56815781578157815781575D5681575D5681578157815781578157 %815781575D5681575D56815682FD28FF82325D5657565D5657565D565756 %81575D5781575D575D5657565D56575781575D5781575D57815757565D56 %57565D5657565D5682FD27FF825D57815781578157815781578157815781 %578157815D81578157815781578157815781578157815781578157815781 %57815781568283AEAEFD23FFA7325D5657565D5657565D565D5781575D57 %81575D57815757565D565D5781575D5781575D565D5657565D5657565D56 %57565D56575657565782FD23FF825681575D5681575D5681578157815781 %578157815781578157815781578157815781575D5681575D5681575D5681 %575D5681575D5681575682FD23FF82325D565D567B5657565D575D578157 %5D5781575D575D7B9F565D575D57815757565D5657565D5657565D565756 %5D5657565D5657565D5657A8FD23FFA7759993B599815781578157815781 %578157815781578157815781578157815781578157815781578157815781 %5781578157815781578156AEFD20FFCAC3BCB0B5B0B093815657565D5657 %565D5657565D565D5781575D565D5781575D5657565D5657565D5657565D %5657565D5657565D5657565D565783FD1EFFC3BC8DB59399757B757B5681 %575D5681575D5681575D56815781578157815681575D5681575D5681575D %5681575D5681575D5681575D5681575D568156CFFD1BFFCAC38DB08CB06E %5D565D565D5657565D5657565D5657565D5657565D565D57819FA59F8156 %57565D5657565D5657565D5657565D5657565D5657565D56575682FD1BFF %C3B68CB5B5B5B0995D815781578157815781578157815781578157815781 %575D81C8C7C8C7A557815781578157815781578157815781578157815781 %5781575DA7FD19FFCB93B08CB58DB58DB06E5D5657565D5657565D565756 %5D5657565D5657565D565756C7C7C79FC77B57565D5657565D5657565D56 %57565D5657565D5657565D565756A0CAFD17FFCAB5B58DB5B5B58DB5B099 %5681575D5681575D5681575D5681575D5681575D567B93B5BBC1C7C7C181 %575D5681575D5681575D5681575D5681575D5681575D5681575D74B6CAFD %15FFC38CB58DB58CB58DB58CB5565D565D5657565D5657565D5657565D56 %57565D56578CB58DB08CB593B5505D5657565D5657565D5657565D565756 %5D5657565D565D567B74938CB5C3FD13FFC3FCB5B5B5B0B5B5B5B0BB7B5D %578157815781578157815781578157815781575D57B5B0B5B0B5B0B5B0BB %7B5D578157815781575D575D5D5D57815D5D5781577B75BBB5B5B0B5B0B5 %C3FD11FFC38CB58DB58DB58DB5B099565D5657565D5657565D5657565D56 %57565D5657565D565D74B58DB58DB58DB58DB5757B565D565D565D567B74 %99757B507B75996EB58DB08DB58DB58DB58CB5C4FD0FFFCA8CB5B5B58DB5 %B5B5B0995D5D5681575D5681575D5681575D5681575D5681575D5681575D %93B5B5B58DB5B5B5B0B5B599759F75996FB5B0B5B0B5B0B5B0B5B0B5B0B5 %B5B58DB5B5B58DB5B0B5CAFD0EFF8DB08CB58DB58CB58DB5505D5657565D %5657565D5657565D5657565D5657565D5657565D56938CB58DB58CB58DB5 %8CB5B0B08CB5B0B08CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB5 %8CB6CAFD0CFFBCB5B0B593C9A0B5B5B59381578157815781578157815781 %5781578157815781578157815799B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5 %B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B58CC3FD0BFFA1 %B08DB58CC2CEC88DB58DB5565D5657565D5657565D5657565D5657565D56 %57565D565D5699B0B58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58D %B58DB58DB58DB58DB58DB58DB58DB58DB58DB58CCAFD0AFFB68CB5B5B5C8 %CE99B58DB5B07B5681575D5681575D5681575D5681575D5681575D565D57 %99B0B5B5B58DB5B0B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58D %B5B5B58DB5B5B58DB58DB58DFD04B5FD09FFC38CB58CB58D9993B58DB58C %B58D7B565D5657565D5657565D5657565D5657565D567B6EB5B0B58CB58D %B58DB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58C %B58DB59FC28DB58CB58DB09BFD08FFB5B5B0B5B5B5B0B5B5B5B0B5B5B593 %8157815781578157815781575D579993BB93B5B0B5B0B5B0B5B5B593CEC2 %B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B599 %CECEBCB0B5B5B5B0B6FD07FFC3B58DB58DB58DB58DB58DB58DB58DB06E5D %565D565D565D565D567B74B5B0B58DB58DB58DB58DB58DB58D9AC8C993B5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB5A0CE %99B08DB58DB58CC3FD06FFBD8CB5B5B58DB5B5B58DB5B5B58DB5B0995681 %5781577B7B7B7599B5B5B0B5B5B58DB5B5B58DB5B5B58DB599CEA0B5B5B5 %8DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B0B599BC %B0B58DB5B5B593FD06FF93B58CB58DB58CB58DB58CB58DB58CB593939293 %93B58CB58DB08CB58DB58CB58DB58CB58DB58CB58DB58CB599B58CB58DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB08CB5 %8DB58CB58DB0A1FD04FFCAB5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5 %B0B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5 %B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B58DB5B5B5B0B5B5B5B0B5B5B5B0B5 %B5B5B0B5B5B5FCC3FD04FFC38CB58DB58DB58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB593A09FB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DFD04FFB6B5B5B58DB5B5B58DB5B5B58DB5B5B58DB5 %B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B5 %8DB5B5B58DB5B0B58DB5B5B58DB5B5B58DBCCECE93B5B5B58DB5B5B58DB5 %B5B58DB5B5B58DB5B5B5C3FFFFCAB58CB58DB58CB58DB58CB58DB58CB58D %B58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58C %B58DB58CB58D99A0BB8CB58CB58DB58CB58DB58CC8CD998CB58DB58CB58D %B58CB58DB58CB58DB58CB58CBDFFFFCAB0B5B5B5B0B5B5B5B0B5B5B5B0B5 %B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5 %B0B5B5B5B0B5B5B5A0CEC8B5B0B5B5B5B0B5B5B5B0B593C293B5B5B5B0B5 %B5B5B0B5B5B5B0B5B5B5B0FD04B5FFFFC3B08DB58DB58DB58DB58DB58DB5 %8CC2A0B58CB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB5A6CE93B58DB58DB58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB5CAFFC3FCB58DB5B5B58DB5B5B58D %B5B0BCC8CE99B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5 %B58DB5B5B58DB5B5B58DB5B0BB99B5B0B58DB5B5B58DB5B5B58DB5B5B58D %B5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B0CAFF9AB08DB58CB58DB58CB5 %8DB58CB593CEA0B58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58CB0 %8CB58DB58CB58DB58CB58DB58CB58CB08CB58DB58CB58DB58CB58DB58CB5 %8DB58CB58DB58CB58DB58CB58DB58CB58DB58CB0C3FFBCB0B5B0B5B5B5B0 %B5B5B5B0B5B5B599B5B0B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B0 %BC99B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0 %B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B0C3FF93B58DB58DB5 %8DB58DB58DB58DB58DB08CB58DB58DB58DB58DB58DB58DB58DB58DB58DB5 %8CB5A6CE93B58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB5BCFFB58DB5B5 %B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58D %B5B5B593CEC8BBB0B5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5 %B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58CBCFF8DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB08DB58CB5 %8DB58CB58DB5A0C28CB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CB58DB08CB58DB58CB58DB093FF %B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B593C2BBB5B0 %B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5 %B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B599BCB0B5B0B5B5B5B0 %B6FF8DB58DB58DB58CB58DB58DB58DB58DB58DB58DB58DB58DB58D99A6CE %93B58DB58DB58DB58DB58CB58DB58DB58DB58DB58DB08CB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB593CEA6B58DB58DB5 %8DB593FFB5B5B58DB5B0BCA0BCB0B58DB5B5B58DB5B5B58DB5B5B58DB599 %CEA6B5B0B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB59AC293B5B5B58D %B5B5B58DB5B5B58DB5B0B599C2B0B58DB5B5B58DB5B5B58DBBC8CE93B5B5 %B58DB5B0B6FF8CB58DB58CB5A0CE99B08DB58CB58DB58CB58DB58CB58DB5 %8CB5A0998CB58DB58CB58DB58CB58DB58CB58DB58CB58DB093CEC8938CB5 %8DB58CB58DB58CB58DB58CB593CEA6998CB58CB58DB58CB58DB58CBCA0B5 %8CB58DB58CB593FFB6B5B5B0B5B5C9CEBCB0B5B0B5B5B5B0B5B5B5B0B5B5 %B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0BCCECE93 %B5B5B5B0B5B5B5B0B5B5B5B0B5B0B5A6CE99B5B0B5B5B5B0B5B5B5B0B5B0 %B5B0B5B5B5B0B5B0B6FF93B58DB58DB599A08CB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DC2 %99B08DB58DB58DB58DB58DB58DB58DB58DB59FB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB593FFBC8CB5B5B58DB5B0B58DB5B5B58DB5B5B58D %B5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5 %B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B0B58DB5B5B58DB5B5B58D %B5B5B58DB5B5B58DB5B5B58CBCFF9AB08CB58DB58CB58DB58CB58DB58CB5 %8DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB5 %8DB58CB58DB58CB58DB58CB58DB09AFFC3FCB5B5B5B0B5B5B5B0B5B5B5B0 %B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5 %B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0 %B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5FCC3FFC3B58CB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB593B58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB0A1FFFFB5B58DB5B5B58DB5B5 %B58DB5B5B58DB5B5B58DB5B5B58DB5B5B599CE99B58DB5B5B58DB5B5B58D %B5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5 %B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B0CAFFCAB58CB58CB58DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CB58DC8CDC28CB58CB58DB58CB5 %8DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB5CAFFFFBCB5B0B5B5 %B5B0B5B5B5B0B5B5B5B0B5B0B5B0B5B5B5B0B5B5B5A0CE93B5B0B5B5B5B0 %B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5 %B5B0B5B5B5B0B5B0BBA6C993B5B0B5B5B5B0B5B5B5B0B5B5FFFFFFC38CB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB593B58DB58DB5 %8DB58DB58DB58CB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB593CEC8BB8DB58DB58DB58DB58DB58CBCFFFFFFC4 %B5B0B58DB5B5B58DB5B5B58DB5B0C2C8BCB0B58DB5B5B58DB5B0B58DB5B5 %B58DB5B5B58DB5B0B5C8C893B58DB5B5B58DB5B5B58DB5B5B58DB599CE99 %B5B5B58DB5B5B58DB5B5B58DB5A0CE93B5B5B58DB5B5B58DB5B5B5BCFD04 %FF8DB58DB58CB58DB58CB58DB58CB5A0CE99B58DB58CB58DB58CB58DB58C %B58DB58CB58DB58CB599CEA6B58DB58CB58DB58CB58DB58CB58DB58CC8CD %A08CB58DB58CB58DB58CB58DB58CB599B58CB58DB58CB58DB58CB58CC3FD %04FFBCB0B5B0B5B5B5B0B5B5B5B0B5B0C8CEBCB0B5B0B5B5B5B0B5B5B5B0 %B5B5B5B0B5B5B5B0B5B0BCCEC8B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5C2 %CE99B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5CA %FD04FF9BB08DB58DB58DB58DB58DB58DB593998CB58DB58DB58DB58DB58D %B58DB58DB58DB58DB58DB58D9A93B58DB58DB58DB58DB58DB58DB58DB58C %B599B58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB593 %FD05FFCA8DB5B5B58DB5B5B58DB5B5B58DB5B0B58DB5B5B58DB5B5B58DB5 %B5B58DB5B5B58DB5B5B58DB5B0B58DB5B5B58DB5B5B58DB5B5B58DB5B5B5 %8DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58CBC %FD06FFB68CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB5 %8DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB09AFD %06FFBDB5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5 %B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5 %B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0CAFD06 %FFCA8CB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58CB5CAFD07FF %BC8CB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58D %B5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5 %B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5BCFD08FFC3B08C %B58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58D %B58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58C %B58DB58CB58DB58CB593C293B58DB58CB58DB58CC4FD09FFB0B5B5B5B0B5 %B5B5B0B5B5B5B0B5B5B5B0B5B5B58DB5B0B5B0B5B5B5B0B5B5B5B0B5B5B5 %B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5 %B5B5B0B5B0C2CEC993B5B0B5B5B5B0B5CAFD09FFBC8CB58DB58DB58DB58D %B58DB58DB58DB58DB58D9AA0BB8DB58DB58DB58DB58DB58DB58DB58DB58D %B58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58D %B593CEA6B58DB58DB58DB093FD0AFFC4B58DB5B0B58DB5B5B58DB5B5B58D %B5B5B58DB5C8CE99B5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5 %B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB599C28D %B5B5B58DB5FCC3FD0BFF93B08CB5A0C88DB58DB58CB58DB58CB58DB58CC8 %C8998CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58CB58CB58DB58CB5 %CAFD0BFFC3FCB5BBCEC8BCB0B5B0B5B5B5B0B5B5B5B0B599BC8DB5B5B5B0 %B5B5B5B0B5B5B5B0B5B5B58DB5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5 %B5B0B58DB5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5BCFD0CFFCAB58C %B5A6C88DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58D %B58DB58DBBA6C28DB58DB58DB58DB58DB58DB58DB58DB58DB593C299B58D %B58DB58DB58DB58DB58DB58DB58DB58CC3FD0DFFBDB08DBC93B58DB5B5B5 %8DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5A0CEA0B5 %B0B58DB5B5B58DB5B5B58DB5B5B58DB5B0BCCECE93B58DB5B5B58DB5B5B5 %8DB5B5B58DB5B0B5CAFD0EFF8DB58CB58DB58CB58DB58CB58DB58CB58DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CC2CD998CB58DB58CB58DB58CB5 %8DB58CB58DB58CB58DC2ACBC8CB58CB58DB58CB58DB58CB58DB58CB09AFD %0FFFC3FCB5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5 %B5B0B5B5B5B0B593BC8DB5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B593 %C293B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B0CAFD0FFFCAB58CB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58CB58DB58DB58DB58DB5 %8DB58DB58DB58CB6FD11FFBCB58DB5B5B58DB5B5B58DB5B5B58DB5B5B58D %B5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5 %B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B5BDFD11FFCB %8DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB5 %8DB58CB58DB58CB58DB58CB58DCAFD12FFC3FCB5B5B5B0B5B5B5B0B5B5B5 %B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5 %B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B0BD %FD13FFCAB58CB58DB58DB58DB58DB58DB58CB58DB58DB58DB58DB58DB58D %B58DB58DB58DB58DB58DB58DB58DB58CB58DB58DB58DB58DB58DB58DB58D %B58DB58DB58DB58DB58DB58DB58CB5CAFD14FFC3B08DB5B5B58DB5B5B58D %BCA6C28DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B0 %B599B5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B5B6 %FD16FF93B08CB58DB58CB58DB099CEA0938CB58DB58CB58DB58CB58DB58C %B58DB58CB58DB58CB58DB58CB5A0CE99B58DB58CB58DB58CB58DB58CB58D %B58CB58DB58CB58DB58CB58CCAFD16FFCAFCB5B5B5B0B5B5B5B0C2CEC28D %B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B0C2CEC9B0 %B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B0BCFD18FFBC8C %B58DB58DB58DB593C28DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58D %B58DB58DB58DB593C899B58DB58DB58DB58DB58DB58DB58DB58DB58DB58D %B58DB58DB5C3FD18FFCAB58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5 %B58DB5B0B58DB5B5B58DB5B5B58DB5B5B58DB593B58DB5B5B58DB5B5B58D %B5B5B58DC2C8C28DB5B5B58DB5B5B593FD1AFF9AB08CB58DB58CB58DB58C %B58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58D %B58CB58DB58CB58DB58CB58DB09FCEA0B58CB58DB58CB58CC3FD1BFFFD04 %B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0C2CEC28DB5B5B5B0B5B5B5B0 %B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0BCCEC88DB5B5B5B0B5B0 %BCFD1CFFCA8CB58DB58DB58DB58DB58DB58DB58DB58DB58DB0C2CEA0B58D %B58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58CBC93 %B58DB58DB58DB5C3FD1DFFBD8CB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5 %B0C2A6BCB0B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B5 %8DB5B5B58DB5B5B58DFD04B5FD1EFFCAB58CB58DB58CB58DB58CB58DB58C %B58DB58CB593998CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58D %B58CB58DB58CB58DB58CB58DB58CB58CCAFD1FFFC3B5B5B5B0B5B5B5B0B5 %B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5 %B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B0BCFD21FF9AB08DB58DB58D %B58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58DB58D %B58DB58DB58DB58DB58DB58DB58DB58DB58DB58CB5CAFD22FF93B5B5B58D %B5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B0B58DB5B5 %B58DB5B5B58DB5B0B58DB5B5B58DB5B5B58DB5B5B5BCFD23FFCA8CB58DB5 %8CB58DB58CB58CB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB5 %8DB58CB58C99A0B58DB58CB58DB58CB58DB58CB58DCAFD24FFC3FCB5B0B5 %B5B5B0B593BC93B5B5B5B0B5B5B5B0B5B5B5B0B5B5B58DC2C8B5B0B5B5B5 %B0B5B5B5C2CEBBB5B0B5B5B5B0B5B5B5B0B5B0C3FD26FFBC8CB58DB58DB5 %8CC2CDBC8CB58DB58DB58DB58DB58DB58DB58DB099C88DB58DB58DB58DB5 %8DC2A6B58DB58DB58DB58DB58DB58CB6FD27FFCAB5B0B58DB5B5B5A0CEC2 %B58DB5B5B58DB5B5B58DB5B5B58DB5B0B593B5B5B58DB5B5B58DB593BC8D %B5B5B58DB5B5B58DB5B5B5C3FD28FFA1B08DB58CB58CB5A6C28CB58CB58D %B58CB58CB58CB58DB58CB58DB58CB58DB58CB58DB58CB58CB58CB58DB58C %B58DB58CB09AFD2AFFBDB5B0B5B5B5B0BC93B5B0B5B5B5B0B593BC93B5B5 %B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5FD2C %FF93B08DB58DB58CB58DB58DB58DB58CC2CDBC8CB58DB58DB58DB58DB58D %B58DB58DB58DB58DB58DB58DB58DB58DB58CC3FD2DFFB5B58DB5B5B58DB5 %B5B58DB5B5B5C2CE99B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B5 %8DB5B5B58DB5B0BCFD2EFFCA8CB58CB58DB58CB58DB58CB58C9999B58DB5 %8CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB58DB58CB5CAFD2FFF %C4FCB5B5B5B0B5B5B5B0B5B5B58DB5B5B5B0B5B5B5B0B5B5B5B0B5B5B58D %C2A0B5B0B5B5B5B0B5B5B5B0B5C3FD31FFBD8CB58DB58DB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58D93A6CE99B08DB58DB58DB58DB093FD %33FFBC8CB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB58D %C2CEC2B0B58DB5B5B58DB5B0CAFD33FFCAB68CB58DB58CB58DB58CB58DB5 %8CB58DB58CB58DB58CB58DB58CB593A093B58DB58CB58DB58CC3FD35FFCA %B6B0B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B58DB5B5 %B5B0B5B5B5FCBCFD37FFCAB58CB58DB58DB58DB58DB58CB58DB58DB58DB5 %8DB58DB58DB58DB58DB58DB58DB58CB5CAFD38FFC4B5B0B58DB5B5B58DBC %A6BC8DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5B5B58DB5C3FD3AFFA1B5 %8CB58CB58DB099CEA0B58CB58DB58CB58CB58CB58DB58CB58DB58CB58DB0 %9AFD3CFFC3B5B0B5B5B5B0BCC8C28DB5B5B5B0B593C899B5B5B5B0B5B5B5 %B0FD04B5FD3EFFC3B08CB58DB58CB593B58DB58DB58CBCCEBC8CB58DB58D %B58DB58DB58DCAFD3FFFC3B58DB5B5B5B0B5B5B58DB5B5B593C293B58DB5 %B5B58DB5B5B58CCAFD41FFC3B58CB58DB58CB58DB58CB58DB58CB58DB58C %B58DB58CB58CC3FD43FFCAB5B0B5B0B5B5B5B0B5B5B5B0B5B5B5B0B5B5B5 %B0B5FCC3FD45FFCABC8CB08CB58DB58DB58DB58DB58DB58DB58CB08DC3FD %48FFCABCB58DB5B0B58DB5B0B58DB5FCB58DBCC3FD4CFFCACA9BBD94B693 %B693B694C3C3CACAFD22FFFF %%EndData endstream endobj 19 0 obj <>stream +%AI12_CompressedDataxvk[v?$A~o-}I6z(UcgCCVd#GA%+"ǤB\[kcwh-`Ϲ\+;:M?*ᢑx<ߩ{bn4^J$`4uVs1*@ĭ*𷪬ܪ|*R2HózQǽ~^n=T˭Z=SkwY܃6BVࢼ(yUۭ<Q᷍VXo>oYB^Ӣ<㢚SݪԺn2 ,<7\~irvU՚NZvF]-7gxR^эFzPx+[慇~x>D~H] z=5 s9ܠ?7~??FVyeȊ$ "'ܔj'EQ̈@L4E9>DYRQU䜢wyV{k7-99q lœVf$ :$YdQyQ%)'IQ^I +B{P^z1zjtHwz:9H''Fsެd 9Z[eao;ϵP:{okH>a3gv梱aSII,3P~_r/ a~ajMf}̹)|̷]d,Hz֟Yx!B?yuM3r@hG> P/VD^; +Qn;Q=1)Dx^+bZ*x{ .k7 - +d}Vempߧ^ٻ?6liԿXB`Q|Vi57I"Ȃ;zQ;۫@i9/ѳVA"  G˲A B0z'c߿{9"/4cV)gHyYIqu"*/7NRzy< +!,T|RFEm(邆{@齄&hC9 |^ To>|9{5z}^^!zV ~5v my&INlF6[_7ɗb$qKFZt!= ^3[pG| ?D hϫ\NдFS 0s2b +e4׈#)9A#Y _/;35}N"dQ]D`vd{;*7*U&&e"GU#G4 ѽzGq(s#n;gGTM +r$5uz=r[8OoMx+^ d6]t4]LUNmmfrz +7٦_}-h^כ32~GS 8Dp!D^ql5LѪìl9!zwZ/W0ѫnXwI-~zq4<)9:\ьB#,9~qv k zw] 6^d9W{!0X|Ǖ;UٓZg߆Y?TIR-V~ # ?p1`I߄9?B$EU}]콄Y'`Qxw5O<ljGd퐄;%m)57' aV7sAz^j0P3 8^SsXBк>s/zG'd%fuT67]ԟzC+? +r:=BgtK! ~Y"'fk⋫7{N\ [ t0{r.CwP~G6v_n`J +P8vZFZg246By/oPjp(:0O}{EͶrnUlBЁ/6@l&cϦG*s>}cO+?{qsӏFFGL5rV*5L(n[4ͷڝZWwJ(Ro{߲`^ԫ/;*i2u(W_;Rf (0dƱ38z+ڔjޭݮw-ĸwm[0 d' gpگ<g'UZ]׶ݬ6_\ɷ,w};$Nytzu7~7ԕ4V~Qz(Q{)U2NJ8bIXg[ +m! |gMWptX#@wk `a jxK-edW$8-z '-ލI^Xm;=y7w$MwSf S7Hh/ZUbqgtóY}Vyo0Z|N*5ڽoF>kЕY5bLDIS¢V!\԰ +|aɵ㙕Koڭp+jS6m|UZΣ(< oG>oZmLi*P‚Z3 "z6F\ۜ&w< 6+5ZS6H}+)7{hQ/Bv~h^jދ'I$@ +z!٩ n25>'D5IIZ +Ҁ40| L2#f,OخD&sno4L6*AK}#j(`{/N!zq']b%`5->s f QY.Z6;J&Q!Z:ft9 F9WV |Uv=c,B1a.?>:Rr!-^+zB܂Wgmj\F/h1EgKzEPDBA%4`t٤N_`Q+ x93< ҁ; nܬqh3`k> $4ulU_־9U[fKDk=#$buᎉvcjPҖD I0$X)ţSvzsD.l7 G4Φߣ7VuKcXC8u65Տn<9cxf7RɌwٳ[L{+Da"yy5 R{l==e+ќlλ̅߭6𫱼Ġx]M`4bvyiQ1YU]tДR +M +Nh[ލوPk|hooyMZ,Nh# +AA'ؖ<C?õVɀ} E7QW3M0v +͐B04w;LlKԚj[=5{FL̍ΐhvoD_@)iK6_]m +b+Dc[n6$Y=DӖ-2 cEK .r3/)n@@T532hShGo厧~rU+LonSܦԬ=xRl_p]a[hP,Ђ3H % @Pd8թ16%~WOW⻿_RbXK۰=6"a s{ LT'NMhhM"Kc蜼D/#v(ూ ߍp&Qמ'2Kvu?1jU)Ctsݿ LGd`B`~ K!m]Qۡv3M31Eu6Pɻ45{K(xNzYz.y=3^;]^{gpY{l"_$bJ>/췚 LFmTp_.nꇽ J+~>>]Tc@kji4+H̀_/8wTS74TtQxyh:^T`*rh<ÞQT=BڶPz 쾅a`R=C3hn?N{& TOò6GOͿOkԢow~c\/?{U_/oWL??ݟ?C??//~{wv@v?}握o=pn| ⇿%_14__E[ziFـ;j_0hG'|!D@.i~{[ 5,Z?ՋJ˦ө՗h=8>KYo|ݚ>Y.멐Z>Q^bsHz//ngȠcJ}w3>XA#vJSZs iADy>t}ŕ}2(cSGeF=I ʕ. *uA/0'ns+6ksە۠̕ehn^qx$F@"Νs&)Tj9Pr4'ʍéer~6~1h4uHE96-usrT;v?db1(c5W\2=szYrTJw['+*u 0.k6՞=Vvtqi~U]àj9螺qm +t1rzZ}-1+ec̰Z޻:|9C~1(d؛$wX}-\=}X]vkg#XMݛ>W5A/cP21fv5.w<]M^_~Zwr2\ևޥǠwwxtUü=(^sзנ%kI7ݼZӊǠV-O6YY/o$4EPRpz)y{A;A?͟f?ɠJb4k>LAN+%t; +o[9}DqzpNZpw)>ݬ~i])'w7u>}x00S jyԛ:?}^>oO>_?^$btŵDg +ۇot@u޺1R'׷keJ;M>DkۚL8xGy5Smi _s~w-N.c \7>~:5K>\U_[YnlNxddCg]wkl} oN)an(m8;3-ZL(wވ5NeR{Щ}sP2zV7҃Ǡ>ndAMk|ssmUdնߕ9f=t:CxZSKA۠#~J|Aߡ5h jQ2֩MnsPbxȹcP /xx=*|2qtkG$t-LS˱:׸!tyf"DBqv!hutڇOy `LZyx0_ "qan8FHZ8hMޘCdVډ3`7/BLi_EM\&ޅ-VVqHFv莉'>n62lOۑqq4yZ+(V*@ 8L~EПN?l}zq`hP^? 퓻o3ʲG +W/=11oPoi~D1>M )Mޯ KY-<39pJIqfkÝ'C\/4xoӈ՛zHl]wYbype;" t]=]+iʕIϥ3K{K8籴iߥ@<2"-\p,Y;_/Y5![ *d:ؐsvemCƊ08a>fOg̍wvkUS{!Lqa ζ\yBqAcJk$8A(1 bFyj*kg13]q_F¶lsUk;Pow|uF&䡘hbINc),~_ZOnWbeݦx`[OyNʞM)L{5k&1| `ߤ ?}-KYM `r˰fW댱$ƄX]7"YI;&X64ČȖAhuu\UA^iO:Hʠu-_9f،@/-ᮿ;,h:2y6๖C,&sL<{"ARc"m5`[{"g!VĤڸz #qcS +r Ndl' +\O j0nn bN8eKrR@cX}G @w]>:KmXzAI[^cO}@u;,C䟷'~A 7$Xܓ<%w`cbp;NZpti0x_,,-xqfANwH;N ~%ܖx pPvp Qպc.hѹXqq&.@,&`&)QDXSS9֔޵Mi{'StEjoO (wYEM_v:0,y8ƪh+Eǂ89U^_X"o:b+:]Zz&ЖE訡(D>l2b7`UWN֋"D?fC: l8~ bg29]'X3T0Z?#K$ϐ w*l|^$>#;a%aaӦFa&n\qg=>OP mIyv/"Жƈb`VQ$Zrٌ%ZURZөqy(fFXp?#K4G&/$ULJ[/\w5`yz!`́2HrK|1)aKIEȅ<,O#fnbF}itm!N`ٽ 3j +K6{`?ޜcJKGpȓ !~VWuІ .2} ȱ{Y _hm9GO]gPW_Z2}.'b_B\~.tlXjC]Xa\h r_ӑVxֆt򔝆z׽;&0#bBEX}^ܽŐ.:CtBlĚqo V +iRnC/t=Tf{u!MMZʸk'{:iZZHXL!=#l\Famo P.Br*<3Fɕn[3#ڹR.1X:1똔|E~f/#d zRxt\dFœYN2n/djRtο1A +:jj+;Ư3˽Τqk+謳;ƬsԬsοήοԿL2&]*p'q5ttVE(5tlBwP;&+ּs"a& *{[$܌sGM!(%lhɫV`~(L.yќw.?{74YrOg Cϳf$r.2AƔ +vJf_I|ed;z7SVumdR4ޜ1KO4tͺ ,v +Sg[舱Hn 0pPY>f6!E)(XR<|bJC%Rd:sS&Kn%J$r彛&pn$XP+ƻJ Wv7'8`XI$zkeKVz;S2L90)x u^s#5as3&fwp +B݄M"Io 2X6dglW؉Nt$l-%bbv.;Ş3^ {Nȃ vB>~l.ʰ2Aޫi1r}rxa޵v -F7`=<՛es0aH[ɰmRc#+}KӀ BJ(gL۩ć^",RyH4 %F%82% +/~lCEddĔpRa+)(1%;V#"#iw[8"2tnN؈L$<ߝ{is#2S20 ž I$aGD=.0A)9eX^cy*(&ޝDM9Vs+]:Kćϝ\rҟ>#0c' SW:XAuu#Z n,?8B^G`9>*pfd9s)[MnRÅ Ӑt#Í:B=Jh=\@"~M.W1^=#ިFw ˄m`$%]z? e~s"$FwLȋ!%1vxK$ϸ5؋0\g%>TƳVyRY1BEƮ.b1O6,^d= 6^<^I?!{a%Ҵ;c:˶`}Ҹ#ҦCPz9TXE+Ro'RO) 0STROhW + 7TcIZĢgdd0N6\L, b"amZ ¹j…? zR8paJ"b/R +GE|JQ'vӯzᱮI>b~uuc@lRd9pe\p?Ue6TROBq Q옒EXY7asP15Νէ'5/|,]e{{Yodw. ӵjl)#h7/]ݖH'_ t5m_1,oÛxAɵ*xgݵo][//~Y)v;jP\5m ꬰ_̆GYҧnTxʕv?QpnAWۃ_ی6uGR^`]Z,XJr6D;B>/hZl5_Kfnu\"-y{[w *'=Bб~qr]9Wޥ=|RGDos?a7ɹn(g!]"G-.q6*3#y:޷.\xو|!Dt)g$,ЃRCK+|Z:R32j:ZQ0tn~d5WwtnKNX5[8j0g݌_MD5[-H'Vӹҹ(UMOcppJtDܒ +ηέQ32j:Z:sFs+Q&[M禌r'SM6%|t>7XMn)Mέ+tLWw +ZM76BUӅxtLWU6#VӹX _MfyzV\Mgw7atyJs^']M綠ī0] +'TM\CVӹ- "/ Fs9(tuL 1D1Oݺ羺xI:_"oŽPp +4,I*hCnPg.Z転~ +N %aT^9\a}aUK`;gC5wA0aMrk<ܱ\ Y8 1|~(ܹUq\t7TʪƏ(w͝Q .:ָEw${ϹjNbu8TMc/-NB:йֻo/ȑ땩xAOZOت48ů,l*0m(:l(oU\-0駓̆:\6il棷PPqB^H~@gZv)-vga۲T@,_m~LN.P"^>}jtu$ +ZK:y= +2Ät25b!{n0hBqy梡KyBɎsG*^Wp#G 忐~Š!/ar.ep/d{(d{L Ɇo󯯼"bӨ}p75> wn nʛH]q7U9_Kҙ] Y?1 wO5$Qȱa62dζ +-l']Lϗ;m wYP*3B]6%| +C6\of)Z6%G%l$h. -N!RV ZS:4=fiBlX8=䞥E%.*Kˏ_| 9kiŠk}mr숧ƹB8}vy`ikqgcCD#!;J W/`WYZI#嬙-Oyh S1%"An; +!> +%8hFU!MS86֛9.珍S~dGj>d)DХNmEzlb0o~ btx0 g_󊟱 &yQ. +03~WZs:ܹrT .Q~pUak#cU9D`pwza(l wB*5j<uW4t`@ſ +И֓|cR۲&q),>oK(\h1|rl—yJ_R>g\Gk/w)8W''zaΆ[Ά^?=ǨP zĽ~8*^PgC}Yu7|r{<χ׏~.HRe3~^1V?L! [N^?[F/tXr 粹pϽ9Wa*J;ɽ~!| =ν~& 7}|Cz7U~&?,aeFSsǻ17 {>Mީ^?k+;~!&pY +~Ӷ^x{mcbB|uv/={oN^?V*Wa{pg{gV prl{BX/{߰ }[F 0ሧ7 ymN^P'}oť^4~fN$|H^?3ǭ~{sX.boro}|S+{,gbJc^ oǎ2~9':״Nv'Fe^r{+V&q3igzVt{F`.! f D(V7~,ψ{^q6_/uYIu_~ynWof>NŶ{zFWgN/Z\VNǽO/\vo>f2O%?_˟ߎRKOǵ^'~tęTւQR^"K'Vgx.6ca#Tָ•.Kt<n/K}%enxZݛ *uJX~P-4|7*4VYZ"[o;Yq*JvKV6/)*,6__|TzHrOkkK{{d=$v3'z~1$Jͽ[jyZGQ{_8,Dz㷔= +zߕqJoRixq#3@ 8XU%s0xuHV?ץTvUg 䩐TA2(\rFiKGkK Mh +uAI;:_(+zй$4f^^~mWse.u +y C8O{B1Y~0 (<؅wq {!'C\rCSʢ5OKRxqk0ktˣX#O6^aw;vj`8Ƽ{ꦐ/wYgsV]Orݜޝhx[w0vW*4'gsJzu%YGJ(k!ԲWw۰pDu+g"8gg`?WOOrj9 ~~]#;I]Z^S:6\u*O͂=DKH)YA4)H {Zz o\p\Ԕ =pVy\z͕ʻSdҲmp`^rrewEZ\aCFY:ujsy\H!*\FG]N\[O5 G 7Xͳ 9-+lN91 +[(hRkTC*wk2]RAlA(cXZKǒJ,<ŧ\ U݌C3+}aN?o")u/jkۥYI9|)=,lM>[?+H3 Q\"xi~Bsh R?-}No~bjj)cx|@ʄ/fTud0tPȜ|䟖 B,X_.Bxfmr +6N(ޖޑgU"@Z,ZKVzN?rul4۞^J t.<.OP~.-Yrs"yIK(beⲳTu^a}dX.e^۱ass7>ݠ|ݐ +p"-/srlp\~;C.άb K]P3( JXz]\?XY->.&ه'>+׵{Lzfo-*a&)t],ba'=0Bo.#mm̍al@x4UgVVŻp66>L6>Z8[Vw׷X'S8( +[ؤP//}kD⛍[htíe1vތ0,l&jbVxM$[Gu~}=^~w-4 #+&LVVf#׹-XF6'⭻.n ˯d}Am#z"ك!'*拨2]^n?28)Ki2J4o=@㩖!<͎|26p/G[3eCG, }x@'y1 mnmz|P*9W_.A|:X{:k/;wåUB+L?H.B_m$pGpW?md-gf@"oO%~qlve}XP\0fZC9f~` _@g<## )2kK;'C`zHaԯÓQ<0@#3vxjCO|qa4f,7Fd. 䡘+,5"sln+sNN'Xczkg#xKO1&]|&(Œc ܤCzv7%dqq=Ց|n G9E9Clïa.;*G.ĝ#Oɹ0,G_2שcLgw;!|}:r*n + [=]?;|J';/Yѕ,q!}kc(ҍ|ҳb[FB=31na 9]4zӳ 7EzI/*ʞaZĢjX}1K"r'hĿ0 ˆ%oĔ0 [3 #/xH #~PLa/P5TV=T^)^ux-i?Pf$8/!:n9\mJCAijŇSۅ ŋw~9s׉?Mh ^vǃ].f:oHH5\8fWg׬NAz%2,eOɼgY%Q9%Qiq08yG]=O_i#wq~TE̾xHR%me>4zLo Sԧl{yRn:bI6|7AI3 - |- |*n6ěY?S<Ըj,26( l\Ŧ: l Ĥͬ+:<3u8zoD=h9붕2"G!` vs:Ć^F7`-]KTb8hq?o']=9zpR!(Š)U:]|eN㛟XͿ.^#*Hk<8jL]\]p[Uf(皚+WruJ",*uA Dj7ë7PQ.qؕqʝaџNc~qz:hB 6wrJwP)Bs< HMYД%_줄s -1XV V&t3Jm*ʽ15i?Wg#a`;k?g% l.ۿ##lG8v5 V>)]"_%Dm6?F"4R=NꃡaXg9v^GNFJ9i +Ȁ wg= +h|L͹҇>i +g {9W3 g_Ih9m6W;+l?. ¾MJ=!J,Y,ӤT9$ @ y W7*Jn[TʢQc _OHir|op{*ފ1Gzp7JX'/JpMkn}ARUJλ@s&OehWVgi`6r4\YR/SO^+:U͔׊*FEO҂-+`%,S_Ȓχ+*BTSOߨu;z3Yd׷y*uj7B5{hv4ɅZXDI0Ț> F)5}\.&7mc'pV䨆RiOr1c/_'>A* q*mS>cV + s/$u.}^:_a7M?WJ,F<}";1 g:!:sakfM/%['B/'2̨4_ol[M/c|8kdmT~FsҭHN\ɴL5ڒs(ܳ[C2T{6ɽGy?S/~|Izť7@C uG8 EAues- ̌;JCG<~OrY$>]\ )-Y*/4xZeQ!gÐ)03y}xpu%<6156}gmgy3dBg9&e66Cviֶ8>l F +Jx74[D̊i%q;O _ub̺̔.-)#޸V^7S͒SZrM(^7Lf1@Gs]h%(#5.#q%HFCͬe em$m ďvOA8֕9tL^۞ߋz +~=r3=MfnE7"f]F2oXUsY̍,_m~1QyX +11.߮;XE|Lvb*qQBc8k~rlnM@dv|K +zak"/k@ ټY_ķ kw샦=7@ ,GP`<͙P$Dh̷ϵAt_f ƈ]<ͽϛs=&WE> ҁ<9*re/f0@ ES>N t\3X.r$ &R]ze nDL,8eKQ3QYHwp<Jgy=mjskB,wj(^FgnYQv{SNq1U7ahl>J" LWCmG%Юk[钷 Gc[?`!:+YbKe?Ps/~7>JSi 9uY,Nשb.y# +M}q[LzXo  +%CRqAļ@rsӜˮHDʃI$E2e4Q즍MG0h DS!r =aTXZʎrzƈ"g=*{v߶KTV"K0m(6H<z666j^Z'G8(/hQAዌU"Wѽf#zWW{V6?FՈ&ַOK7V%EZi7.W{ۅbz^xgzC/zQc:iĉ2*'DAU^45EQ8Mo<`f'^UIlj8s +3SQ_bFU=&J+2S`U%J09-#I`\,h(\EY !}`H%j-2"^U"0s5 JQ2"XEPrX \F,T9 ^S4-H0 ,䨒=MY*Q59݋&-з +`3 JQ0:HQFa%Et y&UQHjFUQ`eN $r68 +0L BeGe`EP\FReAdið'p +S:jۈ<8.ƥ9N`](` +:Vd@{Fy~@PjJ.)erB%'!>0fN8` 3du` l39 8^u9s<Ф / D#0H~0x]#T#< T3 +z`(8 Q | RYT`@c+9)A?LHp&2RTW"3g8BFD4@oɬh֤A LsDa3 ؃ +P8, +!(Ŧ`"r*D%?7ndQEA xw4#Ǒ\4^]o@CrD^Q4^ .A d9$& :7*q u Pݩ ! 49uP-sIhЁ@ۨH QE1 K0MAaQ!UWfA|mE$fEAzRH(3 %궗@%*X5GPQKlyv=9Ev*AbY1E``{X/,'# +T0F,5#J& 4b4PMчV@PREX@h +Z8T<@!q$%lA +l<dN0`8*s(z8AI _=L89G ~倢Wt"DbAi@LPE-@(Փgd#~c5ШnS6QU x'7 XoY\hv9ODQ"~2k)AwR3XP4 2)`3U0F*#;q]VF(/L@ =M|#P +1uٙ%sE79΂A$!k+ dd eȓ+b`h#u10%Vy/B ";m F +8 RDd +zDP=,(EVP(†y:` +E+?Z*.!a^Ī$M_ ›vjs$jBm*( D܂ldB*!YT$PQEU3^$$d`[4P4$bHA it[PAF;/q^uA8Ȥ_^%a+$l(9QV$zha =Yk%JQWnc=HJ eE7]u)8W8/2%^a@P۠RKj)jm?n`K*XR7]vBSV#1S1HA RH`ha46S5ESieĎ:S@:RiArnQrPҨdŬ@ +0S +RRfWĉJh3 etq`r`Rv0Nldjh TQ#}[?OSz2H,D30AsJ@<Ѕ-N.r@Qct N%FT+H$ +K$fDYDE[kha d,X02at؉m=` NpAj*4-=xУmՂi$-Љf+{tBk`z!4y4Af1` AW/*4cBeb6x[C @.`9#ՌЀI2+`E҂1^e5L50aU A@#ĥ""ah&@ֺ TӶ!5cMz Iy` LɱE 0%IP ȓ3 .m1U_`Ȃ`*;\(IQS18ۡ_A8’3&LĴ>%.1U61j aL+wu TՆJiNͮ9 -&+aA5F +)RJ鍨P%T h(ga]i+'9I Ϻ<-zE1-0 Q y@Vb xmw&&( @␁dC{`fASYYJ +uhǢ,Qy4Ph@*E?PmZi$ChB[03@& +-dVA S>Da`zp9B}('S22MlX{%MD tgDZ`xТ`TC`VvE8mR} r`~fĻc澖t=݅d|PL?S?EB=Y +|-*Щ H%hi!*ٷ7l)f8U4d j-kz&a(AZ3L@)0gEq/BNٶvHul#3$w0oME/ީA*A6S BK@/~&ɟI2$Qp}V7H0`&Ht5Bȱ `T 'm4e*T+GGgPYY%fv 8hv09Hl@LjʗdU8̶6x)qLY;显`TCТ Ig'I\$! +lD{G $ 63"ຳ~YTg +aJO4^fZn9+O6psHDC,0Q%EtnT&-<9C%I6rdބ QI"I# +Sy*{a"4er='Ss+{ [0>7Y"詆@?$&$.57գ;'0 N0KeLج LƗid"6x9@ QN,O621")Ѡ3b,,QbG\rkS'+a; M5, 韀GC zWS6ixEڐĶ9:D)%}PՃV`_Ԉn} +39T"pt.; J^&sTTRBf2fDIm rH2hl~H7J`"6qS F1/~&ƟѓAXaf$$YoHѻ` sD%;z*ڭ#6$îۮF0F7|R$T5dЉÛTl}!)n01tūdŴM0N**@ɥd= * [*ӈJdlkaͣ/8D'H5S @D X?K$uvQMTTd6M@M(X^,G*PI=P$ )}>4N/ltC~ +pnډ`U+H΍~IB +"y;0 em_E-q2ssU<#jQnɤ< !\AAmiG@E%듅*/ki&`TC`nǗZ?SO(xAߣ5HH;hD$5MhmYvN t3j89ü J5g9k| kFhaU%gPrxl2+5JⱸLG"í) x̗(3ڄ.)XO)@TfF0~g"]m*N`njG uIT Y y*pMhUg.8JY#KVꢘ*`[ΊG_OC,K)bLj|{ bXoSr_{׶qD/$ ^Mm' q(734(:>uwzy RqnUs8qH  #B)!$W#sԀ?c"l``m__J#GɈDx Ä~̘<(:2*N2G3cEBU5Sp'WWH/B ,3p'р_=Yi.Ԩ?]p* 1H9UV⍛Y60d68VDz=8<Ѯ]P +rSzQ~SnQ|X"U/A:m&ԑg~QUlZ,w5lo\`uE-o:юovb DQcy8.靥ܚi{V'‘7> +%}l#P؎yNA-г9N [ZUX}gV' +ԕ`{\ts? ȭd3I+도4,>WOYB`?xvr593 +>hi]lp_ێ>ñp-@L /; D Ct,Ql(12$(ҥ$] g?PEQqPU@w%Xa38nc$z`bkm,\ >Cd#$5xd*=tqJ1XD f&9M]߂ qd +J1}U1MII-A. +'5 ͭj{1 Nrh '-lB1 +bf)WQ5vȳs Wd@p Fz+Qbs;ff ^&W>+}ejPwIORLG! .\Yݳ5fo@|~P|C5X5A"2@̧kȒ$ .٤@:i]ӆ5 @oJ/X={0XA'I*Lh B v u+YXlv>$ƨ-/$ +qHE)I\}dtXm<9JK{ +Qep*H< @ W|X @LSc еqUП*÷l` Gdȓ UXrKY43 +*Vx*W8]m_B< q܇" +q<&_()ΪW hLm*ġI%@vZ⸊r۪ogÌ/\=&{LnpRg?V/`1cr/7Oᄃ?"}uyǧ݇~ݟڼ ?L t!}x|~~ ЯvOw7>_߾|~|$?ӿWݿu~tw]]_ǧ_ovwk~=~{~|}|R endstream endobj 6 0 obj [5 0 R] endobj 20 0 obj <> endobj xref +0 21 +0000000000 65535 f +0000000016 00000 n +0000000144 00000 n +0000021113 00000 n +0000000000 00000 f +0000027310 00000 n +0000078785 00000 n +0000021164 00000 n +0000021543 00000 n +0000027613 00000 n +0000027500 00000 n +0000025652 00000 n +0000026749 00000 n +0000026797 00000 n +0000027384 00000 n +0000027415 00000 n +0000027686 00000 n +0000027860 00000 n +0000029098 00000 n +0000049212 00000 n +0000078808 00000 n +trailer <<098D487F69894E0D9469D550087FBC65>]>> startxref 79004 %%EOF \ No newline at end of file diff --git a/update-log.md b/update-log.md new file mode 100755 index 0000000..f61e80f --- /dev/null +++ b/update-log.md @@ -0,0 +1,87 @@ +> v1.4 +- 修复pexels图库加载不成功问题 +- 增加设置壁纸的填充方式(mac下有效) +- 增加是否自动应用到所有屏幕设置(mac下有效) +- 增加壁纸方向与尺寸的筛选 +- 增加网页模式,网页模式下加载相关网页,并可直接在网页中可以下载图片到本地以及设置壁纸 +- 增加公告展示 + +> v1.3.3 +- 修复500px设置壁纸图片不清晰的问题 + +> v1.3.2 +- 修复pexels与500px壁纸库加载失败问题 + +> v1.3.1 +- 增加NASA图库 +- 增加电影壁纸图库themoviedb + +> v1.3.0 +- 修改用户反馈意见目标邮箱,增加输入校验 +- 增加自定义设置壁纸时间 +- 增加保存最近搜索词,可作为快速分类 +- 增加wallhaven图库 + +> v1.2.0 +- 针对已经设置完壁纸的图片做缓存处理,不再继续下载 +- 修改意见反馈页面 +- 修改pexels地址变化带来的图片加载不出来Bug,优化pexels爬虫逻辑 +- 增加下一页请求中提示,增加请求失败提示。 +- 增加搜索中文关键词的支持 +- 修改Paper的图库处理,对标Paper3.3 +- 修复在多显示器纵轴方向拼接时,定位不对问题。 + +> v1.1.1 +- 采用新规则生成软件的uid,存储字段:first_install_flag_v1.1.1 + +> v1.1.0 +- 增加自定义设置图片的保存目录 +- 增加统计用户安装量接口以及用户留存情况统计(去除之前的邮件统计) +- 增加定时移除图片设置,7天为周期移除已保存的图片 +- 增加unsplash图库 +- 增加图片列表最小宽度1600px的限制 +- 优化页面数据处理逻辑 +- 修复自动命名出现NaN的bug +- 修改定时功能逻辑,解决在mac下定时更新失败的问题 + +> v1.0.0 +- 修改mac下的图标颜色 +- 增加pap.er壁纸库 +- 增加自动设置壁纸的超时取消 +- 增加eslint对代码进行了格式上的更改 +- 增加设置壁纸失败的处理 +- 修改pexels在某些情况下的Bug + +> v0.0.8 +- 修改搜索不能搜索的Bug + +> v0.0.7 +- 增加相关接口的取消操作 +- 解决pexels图库的图片重复问题 + +> v0.0.6 +- 修改采用500px图库预案的时候加载的为大尺寸的问题 +- 增加刷新按钮 +- 修改预览图片重复问题 + +> v0.0.5 +- 增加图片下载以及软件更新下载进度条(进度条颜色随机,部分时候可能不便于显示) +- 解决在部分电脑下主窗口显示定位问题 +- 优化mac下主窗口显示,增加小三角。增加软件开启过渡动画。 +- 解决在win下多实例打开的问题 + +> v0.0.4 +- 增加软件初次安装数统计 + +> v0.0.3 +- 增加壁纸来源的选择,增加500px壁纸来源 + +> v0.0.2 +- 修改win下主窗口的显示位置,win7测试成功 + +> v0.0.1发行版 +- 动态更新壁纸 +- 设置开机启动 +- 意见反馈 +- 自动更新 +- 支持win10 \ No newline at end of file diff --git a/user-config.template.js b/user-config.template.js new file mode 100755 index 0000000..966a4c6 --- /dev/null +++ b/user-config.template.js @@ -0,0 +1,12 @@ +/** +* 用户的自定义配置文件,存放用户的一些账号信息。 +* 执行npm命令后会自动生成.user-config.js文件。 +* 目前相关信息只会影响到电子邮箱与关键词的翻译 +*/ +export default { + emailUserName: '', // 电子邮箱账号 + emailPassword: '', // 电子邮箱的授权码 + baiDuTranslationAppId: '', // 百度翻译的appID + baiDuTranslationAppKey: '', // 百度翻译的appKey + themoviedbAppKey: '', // themoviedb电影壁纸站的id +}