├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .github └── workflows │ └── npm-publish.yml ├── .gitignore ├── .jshintrc ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── android └── app │ └── src │ └── main │ └── res │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable │ ├── ic_launcher_background.xml │ ├── launch_splash.xml │ └── splash.png │ ├── layout │ └── activity_main.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-ldpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── values │ ├── ic_launcher_background.xml │ ├── strings.xml │ └── styles.xml │ └── xml │ ├── config.xml │ └── file_paths.xml ├── bin └── capacitor-resources ├── index.js ├── package.json ├── resources ├── icon.png └── splash.png ├── src ├── copy │ ├── index.js │ └── platforms │ │ ├── android │ │ └── index.js │ │ └── ios │ │ └── index.js ├── generate │ ├── index.js │ ├── platforms │ │ ├── icons │ │ │ ├── android.js │ │ │ ├── blackberry10.js │ │ │ ├── ios.js │ │ │ └── windows.js │ │ └── splash │ │ │ ├── android.js │ │ │ ├── ios.js │ │ │ └── windows.js │ └── splash │ │ ├── cover.js │ │ └── crop.js ├── index.js └── utils │ └── paths.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | [*] 3 | indent_style = space 4 | indent_size = 2 5 | charset = utf-8 6 | trim_trailing_whitespace = true 7 | insert_final_newline = true 8 | end_of_line = lf 9 | 10 | [*.{scss,css,html,py}] 11 | indent_style = space 12 | indent_size = 4 13 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next 3 | build 4 | .idea 5 | .ebextensions 6 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["airbnb", "prettier", "prettier/react"], 3 | "parser": "babel-eslint", 4 | "parserOptions": { 5 | "ecmaVersion": 8, 6 | "ecmaFeatures": { 7 | "experimentalObjectRestSpread": true, 8 | "impliedStrict": true, 9 | "classes": true, 10 | "jsx": true 11 | } 12 | }, 13 | "env": { 14 | "browser": true, 15 | "node": true, 16 | "jest": true, 17 | "commonjs": true 18 | }, 19 | "rules": { 20 | "no-unused-vars": 0, 21 | "import/no-duplicates": 0, 22 | "arrow-body-style": [2, "as-needed"], 23 | "no-param-reassign": [ 24 | 2, 25 | { 26 | "props": false 27 | } 28 | ], 29 | "global-require": 0, 30 | "class-methods-use-this": 0, 31 | "no-plusplus": 0, 32 | "func-names": 0, 33 | "space-before-function-paren": 0, 34 | "max-len": 0, 35 | "no-console": 0, 36 | "no-underscore-dangle": 0, 37 | "consistent-return": 0, 38 | "prefer-arrow-callback": 1, 39 | "import/no-extraneous-dependencies": 0, 40 | "linebreak-style": 0, 41 | "array-callback-return": 0, 42 | "quotes": [ 43 | 2, 44 | "single", 45 | { 46 | "avoidEscape": true, 47 | "allowTemplateLiterals": true 48 | } 49 | ], 50 | "no-bitwise": [ 51 | "error", 52 | { 53 | "allow": ["~"] 54 | } 55 | ], 56 | "react/destructuring-assignment": [2, { "ignoreClassFields": true }], 57 | "react/prefer-stateless-function": 0, 58 | "react/prop-types": 0, 59 | "jsx-a11y/anchor-is-valid": 0, 60 | "jsx-a11y/label-has-associated-control": 0, 61 | "jsx-a11y/href-no-hash": 0, 62 | "react/jsx-filename-extension": 0, 63 | "react/no-access-state-in-setstate": 0, 64 | "react/sort-comp": 0 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /.github/workflows/npm-publish.yml: -------------------------------------------------------------------------------- 1 | # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages 3 | 4 | name: Node.js Package 5 | 6 | on: 7 | release: 8 | types: [created] 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v2 15 | - uses: actions/setup-node@v1 16 | with: 17 | node-version: 12 18 | - run: npm ci 19 | - run: npm test 20 | 21 | publish-npm: 22 | needs: build 23 | runs-on: ubuntu-latest 24 | steps: 25 | - uses: actions/checkout@v2 26 | - uses: actions/setup-node@v1 27 | with: 28 | node-version: 12 29 | registry-url: https://registry.npmjs.org/ 30 | - run: npm ci 31 | - run: npm publish 32 | env: 33 | NODE_AUTH_TOKEN: ${{secrets.npm_token}} 34 | 35 | publish-gpr: 36 | needs: build 37 | runs-on: ubuntu-latest 38 | steps: 39 | - uses: actions/checkout@v2 40 | - uses: actions/setup-node@v1 41 | with: 42 | node-version: 12 43 | registry-url: https://npm.pkg.github.com/ 44 | - run: npm ci 45 | - run: npm publish 46 | env: 47 | NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} 48 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /resources/*/ 3 | /android/*/ 4 | /ios/*/ 5 | 6 | # system 7 | .DS_Store 8 | node_modules/ 9 | /dist/ 10 | /typings/ 11 | 12 | # Logs 13 | logs 14 | *.log 15 | 16 | # Runtime data 17 | pids 18 | *.pid 19 | *.seed 20 | 21 | # Directory for instrumented libs generated by jscoverage/JSCover 22 | lib-cov 23 | 24 | # Coverage directory used by tools like istanbul 25 | coverage 26 | 27 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 28 | .grunt 29 | 30 | # Compiled binary addons (http://nodejs.org/api/addons.html) 31 | build/Release 32 | -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "esversion": 6 3 | } -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | package.json 2 | node_modules 3 | dist 4 | build 5 | coverage 6 | .next 7 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 100, 3 | "tabWidth": 2, 4 | "useTabs": false, 5 | "semi": false, 6 | "singleQuote": true, 7 | "trailingComma": "none", 8 | "bracketSpacing": true, 9 | "jsxBracketSameLine": true 10 | } 11 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Olivab 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Capacitor Resources 2 | 3 | Generate icon & splash screen for Capacitor projects using javascript only. 4 | 5 | 6 | ![build](https://img.shields.io/appveyor/ci/gruntjs/grunt.svg) ![platform](https://img.shields.io/node/v/react.svg) ![stars](https://img.shields.io/amo/stars/dustman.svg) ![license](https://img.shields.io/bower/l/bootstrap.svg) 7 | 8 | > [![basic-merchandising](https://imgur.com/LNOYczf.png)](https://github.com/leopq) 9 | 10 | ## Introduction 11 | 12 | Automatic icon and splash screen resizing CLI tool for Capacitor based applications. 13 | 14 | It automatically resizes and copies your ```icon.png``` and ```splash.png``` files to platform dedicated directories. 15 | 16 | It does **NOT require** any external binary libraries. **Javascript only**. 17 | 18 | --- 19 | 20 | ## Installation 21 | 22 | $ npm install capacitor-resources -g 23 | 24 | --- 25 | 26 | ## Usage 27 | 28 | ### Required files 29 | 30 | Add your ```icon.png``` (1024x1024 px) and ```splash.png``` (2732x2732 px) files to the 'resources' folder under the root of your capacitor based project. 31 | 32 | ### Command line 33 | 34 | $ capacitor-resources 35 | 36 | 37 | **ATTENTION:** while preserving source files, it overwrites previous output if any. 38 | 39 | ### Options 40 | 41 | -V, --version output the version number 42 | -t, --transform-splash [optional] method used to generate splash screen 43 | available tokens: cover, crop 44 | -i, --icon [optional] optional icon file path 45 | (default: ./resources/icon.png) 46 | -s, --splash [optional] optional splash file path 47 | (default: ./resources/splash.png) 48 | -p, --platforms [optional] optional platform token comma separated list 49 | available tokens: android, ios, windows, blackberry10 50 | (default: all platforms processed) 51 | -o, --outputdir [optional] optional output directory 52 | (default: ./resources/) 53 | -I, --makeicon [optional] option to process icon files only 54 | -S, --makesplash [optional] option to process splash files only 55 | -h, --help output usage information 56 | 57 | --- 58 | 59 | ## Do yourself a favour 60 | 61 | Add to your package.json a script definition to match your file generation needs. 62 | This way, you won't have to type every now and again the whole command line with its options. 63 | 64 | ### An example 65 | 66 | { 67 | ... 68 | "scripts": { 69 | ... 70 | "resources": "capacitor-resources -p android,ios" 71 | } 72 | } 73 | 74 | All you have to do then is type : 75 | 76 | $ npm run resources 77 | 78 | or 79 | 80 | $ yarn resources 81 | 82 | NPM will cope with typing the whole command line for you. 83 | 84 | --- 85 | 86 | ## Platforms 87 | 88 | Supported platforms: 89 | 90 | - **iOS** 91 | - icons 92 | - splash screens 93 | - **Android** 94 | - icons 95 | - splash screens 96 | 97 | --- 98 | 99 | ## License 100 | 101 | MIT 102 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 13 | 19 | 22 | 25 | 26 | 27 | 28 | 34 | 35 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_splash.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/drawable/splash.png -------------------------------------------------------------------------------- /android/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 13 | 14 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-ldpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-ldpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-ldpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-ldpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFFFFF 4 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Argo Instant 4 | Argo Instant 5 | com.argo.instant 6 | com.argo.instant.fileprovider 7 | com.argo.instant 8 | 9 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 13 | 14 | 20 | 21 | 22 | 27 | -------------------------------------------------------------------------------- /android/app/src/main/res/xml/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /android/app/src/main/res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /bin/capacitor-resources: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('../index.js') 4 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | require('@babel/polyfill') 2 | 3 | // Transpile all code following this line with babel and use 'env' (aka ES6) preset. 4 | require('@babel/register')({ 5 | presets: ['@babel/preset-env'], 6 | plugins: ['@babel/plugin-proposal-object-rest-spread'] 7 | }) 8 | 9 | // Import the rest of our application. 10 | module.exports = require('./src/index') 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "capacitor-resources", 3 | "version": "2.0.6", 4 | "description": "Generates icon & splash screen for capacitor projects using javascript only.", 5 | "main": "index.js", 6 | "preferGlobal": true, 7 | "bin": { 8 | "capacitor-resources": "./bin/capacitor-resources" 9 | }, 10 | "scripts": { 11 | "capacitor-resources": "cross-env CAPACITOR_RESOURCES_STAGE=development node bin/capacitor-resources" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git://github.com/leopq/capacitor-resources.git" 16 | }, 17 | "keywords": [ 18 | "capacitor", 19 | "resources", 20 | "icon", 21 | "splash", 22 | "splashscreen", 23 | "generator", 24 | "cli", 25 | "tool" 26 | ], 27 | "author": { 28 | "name": "Leonardo Quevedo", 29 | "email": "lpachecoquevedo@gmail.com" 30 | }, 31 | "license": "MIT", 32 | "bugs": { 33 | "url": "https://github.com/leopq/capacitor-resources/issues" 34 | }, 35 | "homepage": "https://github.com/leopq/capacitor-resources", 36 | "dependencies": { 37 | "@babel/core": "^7.7.4", 38 | "@babel/plugin-proposal-object-rest-spread": "^7.7.4", 39 | "@babel/polyfill": "^7.7.0", 40 | "@babel/preset-env": "^7.7.4", 41 | "@babel/register": "^7.7.4", 42 | "bluebird": "^3.7.2", 43 | "colors": "^1.4.0", 44 | "commander": "^4.0.1", 45 | "cross-env": "^6.0.3", 46 | "fs-extra": "^8.1.0", 47 | "gauge": "^2.7.4", 48 | "jimp": "^0.9.3", 49 | "klaw-sync": "^6.0.0", 50 | "lodash": "^4.17.15", 51 | "shelljs": "^0.8.3" 52 | }, 53 | "contributors": [ 54 | { 55 | "name": "leopq", 56 | "email": "lpachecoquevedo@gmail.com" 57 | } 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/resources/icon.png -------------------------------------------------------------------------------- /resources/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonardoquevedox/capacitor-resources/3cfb40277c9a5fcd6e6e7ee2952f814afc67675b/resources/splash.png -------------------------------------------------------------------------------- /src/copy/index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | /** 4 | * @license MIT 5 | * @version 1.0.0 6 | * @author Leonardo Quevedo 7 | */ 8 | 9 | require('colors') 10 | const path = require('path') 11 | const paths = require('../utils/paths') 12 | const { exec } = require('shelljs') 13 | 14 | const { log } = console 15 | 16 | const display = { 17 | info: str => { 18 | log(str) 19 | }, 20 | success: str => { 21 | str = ' ' + '✓ '.green + ' ' + str 22 | log(str) 23 | }, 24 | error: str => { 25 | str = ' ' + '× '.red + ' ' + str 26 | log(str) 27 | }, 28 | header: str => { 29 | log('') 30 | log(str.yellow) 31 | } 32 | } 33 | 34 | module.exports = () => { 35 | return new Promise(async (resolve, reject) => { 36 | try { 37 | const copyAndroid = path.join(__dirname, './platforms/android/index') 38 | const copyIOS = path.join(__dirname, './platforms/ios/index') 39 | // display.header('Copying resources to native projects...') 40 | await exec(`npx cross-env CAPACITOR_PROJECT_ROOT="${paths.getRootPath()}" node "${copyAndroid}"`) 41 | // display.success('Copied android resources') 42 | await exec(`npx cross-env CAPACITOR_PROJECT_ROOT="${paths.getRootPath()}" node "${copyIOS}"`) 43 | // display.success('Copied iOS resources') 44 | resolve() 45 | } catch (e) { 46 | reject(e) 47 | } 48 | }) 49 | } 50 | -------------------------------------------------------------------------------- /src/copy/platforms/android/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license MIT 3 | * @version 1.1.0 4 | * @author Leonardo Quevedo 5 | */ 6 | 7 | require('colors') 8 | const fs = require('fs-extra') 9 | const klawSync = require('klaw-sync') 10 | const path = require('path') 11 | 12 | const rootPath = process.env.CAPACITOR_PROJECT_ROOT 13 | 14 | const androidPath = path.join(rootPath, 'android') 15 | const resourcesPath = path.join(rootPath, 'resources') 16 | 17 | const androidIconsOrigin = path.join(resourcesPath, 'android', 'icon') 18 | const androidIconsDestination = path.join(androidPath, 'app', 'src', 'main', 'res') 19 | 20 | const androidSplashesOrigin = path.join(resourcesPath, 'android', 'splash') 21 | const androidSplashesDestination = path.join(androidPath, 'app', 'src', 'main', 'res') 22 | 23 | const getAndroidIcons = () => { 24 | return new Promise((resolve, reject) => { 25 | try { 26 | const files = klawSync(androidIconsOrigin) 27 | .map(file => file.path.replace(androidIconsOrigin, '')) 28 | .filter( 29 | filePath => filePath && filePath.indexOf('mipmap') > -1 && filePath.indexOf('.') > -1 30 | ) 31 | resolve(files) 32 | } catch (e) { 33 | reject(e) 34 | } 35 | }) 36 | } 37 | 38 | const copyAndroidIcons = async () => { 39 | const icons = await getAndroidIcons() 40 | return Promise.all( 41 | icons.map(iconPath => { 42 | new Promise((resolve, reject) => { 43 | try { 44 | fs.ensureDirSync( 45 | path.dirname(path.join(androidIconsDestination, iconPath)) 46 | ) 47 | fs.copyFileSync( 48 | path.join(androidIconsOrigin, iconPath), 49 | path.join(androidIconsDestination, iconPath) 50 | ) 51 | fs.copyFileSync( 52 | path.join(androidIconsOrigin, iconPath), 53 | path.join(androidIconsDestination, iconPath.replace('.png', '_foreground.png')) 54 | ) 55 | fs.copyFileSync( 56 | path.join(androidIconsOrigin, iconPath), 57 | path.join(androidIconsDestination, iconPath.replace('.png', '_round.png')) 58 | ) 59 | resolve() 60 | } catch (e) { 61 | reject(e) 62 | } 63 | }) 64 | }) 65 | ) 66 | } 67 | 68 | const getAndroidSplashes = () => { 69 | return new Promise((resolve, reject) => { 70 | try { 71 | const files = klawSync(androidSplashesOrigin) 72 | .map(file => file.path.replace(androidSplashesOrigin, '')) 73 | .filter(filePath => filePath && filePath.indexOf('.') > -1) 74 | resolve(files) 75 | } catch (e) { 76 | reject(e) 77 | } 78 | }) 79 | } 80 | 81 | const copyAndroidSplashes = async () => { 82 | const splashes = await getAndroidSplashes() 83 | return Promise.all( 84 | splashes.map(splashPath => { 85 | new Promise((resolve, reject) => { 86 | try { 87 | fs.ensureDirSync( 88 | path.join(androidSplashesDestination, splashPath.replace('-screen.png', '')) 89 | ) 90 | fs.copyFileSync( 91 | path.join(androidSplashesOrigin, splashPath), 92 | path.join(androidSplashesDestination, splashPath.replace('-screen.png', '/splash.png')) 93 | ) 94 | resolve() 95 | } catch (e) { 96 | reject(e) 97 | } 98 | }) 99 | }) 100 | ) 101 | } 102 | 103 | module.exports = new Promise(async (resolve, reject) => { 104 | try { 105 | if (fs.existsSync(androidPath)) { 106 | await copyAndroidIcons() 107 | await copyAndroidSplashes() 108 | resolve() 109 | } else { 110 | resolve() 111 | } 112 | } catch (e) { 113 | reject(e) 114 | } 115 | }) 116 | -------------------------------------------------------------------------------- /src/copy/platforms/ios/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license MIT 3 | * @version 1.1.0 4 | * @author Leonardo Quevedo 5 | */ 6 | 7 | require('colors') 8 | const fs = require('fs-extra') 9 | const klawSync = require('klaw-sync') 10 | const path = require('path') 11 | 12 | const rootPath = process.env.CAPACITOR_PROJECT_ROOT 13 | 14 | const iosPath = path.join(rootPath, 'ios') 15 | const resourcesPath = path.join(rootPath, 'resources') 16 | 17 | const iosIconsOrigin = path.join(resourcesPath, 'ios', 'icon') 18 | const iosIconsDestination = path.join(iosPath, 'App/App/Assets.xcassets/AppIcon.appiconset') 19 | 20 | const iosSplashOrigin = path.join(resourcesPath, 'splash.png') 21 | const iosSplashesDestination = path.join(iosPath, 'App/App/Assets.xcassets/Splash.imageset') 22 | 23 | const getIOSIcons = () => { 24 | return new Promise((resolve, reject) => { 25 | try { 26 | const files = klawSync(iosIconsOrigin).map(file => file.path.replace(iosIconsOrigin, '')) 27 | resolve(files) 28 | } catch (e) { 29 | reject(e) 30 | } 31 | }) 32 | } 33 | 34 | const copyIOSIcons = async () => { 35 | const icons = await getIOSIcons() 36 | fs.ensureDirSync(iosIconsDestination) 37 | return Promise.all( 38 | icons.map(iconPath => { 39 | new Promise((resolve, reject) => { 40 | try { 41 | fs.copyFileSync( 42 | path.join(iosIconsOrigin, iconPath), 43 | path.join(iosIconsDestination, iconPath) 44 | ) 45 | resolve() 46 | } catch (e) { 47 | reject(e) 48 | } 49 | }) 50 | }) 51 | ) 52 | } 53 | 54 | const copyIOSSplash = async () => { 55 | new Promise((resolve, reject) => { 56 | try { 57 | fs.ensureDirSync(iosSplashesDestination) 58 | fs.copyFileSync( 59 | path.join(iosSplashOrigin), 60 | path.join(iosSplashesDestination, 'splash-2732x2732.png') 61 | ) 62 | fs.copyFileSync( 63 | path.join(iosSplashOrigin), 64 | path.join(iosSplashesDestination, 'splash-2732x2732-1.png') 65 | ) 66 | fs.copyFileSync( 67 | path.join(iosSplashOrigin), 68 | path.join(iosSplashesDestination, 'splash-2732x2732-2.png') 69 | ) 70 | resolve() 71 | } catch (e) { 72 | reject(e) 73 | } 74 | }) 75 | } 76 | 77 | module.exports = new Promise(async (resolve, reject) => { 78 | try { 79 | if (fs.existsSync(iosPath)) { 80 | await copyIOSIcons() 81 | await copyIOSSplash() 82 | resolve() 83 | } else { 84 | resolve() 85 | } 86 | } catch (e) { 87 | reject(e) 88 | } 89 | }) 90 | -------------------------------------------------------------------------------- /src/generate/index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('colors') 4 | 5 | const commander = require('commander') 6 | const Q = require('bluebird') 7 | const fs = require('fs-extra') 8 | const path = require('path') 9 | const Jimp = require('jimp') 10 | const _ = require('lodash') 11 | const Gauge = require('gauge') 12 | const pjson = require('../../package.json') 13 | 14 | const { log } = console 15 | 16 | // helpers 17 | 18 | const display = { 19 | info: str => { 20 | log(str) 21 | }, 22 | success: str => { 23 | str = ' ' + '✓ '.green + ' ' + str 24 | log(str) 25 | }, 26 | error: str => { 27 | str = ' ' + '× '.red + ' ' + str 28 | log(str) 29 | }, 30 | header: str => { 31 | log('') 32 | log(str.yellow) 33 | } 34 | } 35 | 36 | // app main variables and constants 37 | 38 | const PLATFORMS = { 39 | android: { 40 | definitions: ['./platforms/icons/android', './platforms/splash/android'] 41 | }, 42 | ios: { 43 | definitions: ['./platforms/icons/ios', './platforms/splash/ios'] 44 | }, 45 | windows: { 46 | definitions: ['./platforms/icons/windows', './platforms/splash/windows'] 47 | }, 48 | blackberry10: { 49 | definitions: ['./platforms/icons/blackberry10'] 50 | } 51 | } 52 | let imageObjects 53 | let selectedPlatforms = [] 54 | 55 | // app functions 56 | 57 | function check(settings) { 58 | display.header('Checking files and directories...') 59 | 60 | return checkPlatforms(settings) 61 | .then(selPlatforms => (selectedPlatforms = selPlatforms)) 62 | .then(() => getImages(settings)) 63 | .then(iobjs => { 64 | imageObjects = iobjs 65 | }) 66 | .then(() => checkOutPutDir(settings)) 67 | } 68 | 69 | function checkPlatforms(settings) { 70 | const platformsKeys = _.keys(PLATFORMS) 71 | 72 | if (!settings.platforms || !Array.isArray(settings.platforms)) { 73 | display.success('Processing files for all platforms') 74 | return Q.resolve(platformsKeys) 75 | } 76 | 77 | const platforms = settings.platforms 78 | const platformsToProcess = [] 79 | const platformsUnknown = [] 80 | 81 | platforms.forEach(platform => { 82 | if (_.find(platformsKeys, p => platform === p)) { 83 | platformsToProcess.push(platform) 84 | } else { 85 | platformsUnknown.push(platform) 86 | } 87 | }) 88 | 89 | if (platformsUnknown.length > 0) { 90 | display.error('Bad platforms: ' + platformsUnknown) 91 | return Q.reject('Bad platforms: ' + platformsUnknown) 92 | } 93 | 94 | display.success('Processing files for: ' + platformsToProcess) 95 | return Q.resolve(platformsToProcess) 96 | } 97 | 98 | function getImages(settings) { 99 | const imageObjects = { 100 | icon: null, 101 | splash: null 102 | } 103 | 104 | let promise = Q.resolve() 105 | 106 | if (settings.makeicon) { 107 | promise = promise 108 | .then(() => checkIconFile(settings.iconfile)) 109 | .then(image => { 110 | imageObjects.icon = image 111 | }) 112 | } 113 | if (settings.makesplash) { 114 | promise = promise 115 | .then(() => checkSplashFile(settings.splashfile)) 116 | .then(image => { 117 | imageObjects.splash = image 118 | }) 119 | } 120 | 121 | return promise.then(() => imageObjects) 122 | 123 | function checkIconFile(iconFileName) { 124 | const defer = Q.defer() 125 | 126 | Jimp.read(iconFileName) 127 | .then(image => { 128 | const width = image.bitmap.width 129 | const height = image.bitmap.height 130 | if (width === 1024 && width === height) { 131 | display.success('Icon file ok (' + width + 'x' + height + ')') 132 | defer.resolve(image) 133 | } else { 134 | display.error('Bad icon file (' + width + 'x' + height + ')') 135 | defer.reject('Bad image format') 136 | } 137 | }) 138 | .catch(err => { 139 | display.error('Could not load icon file') 140 | defer.reject(err) 141 | }) 142 | 143 | return defer.promise 144 | } 145 | 146 | function checkSplashFile(splashFileName) { 147 | const defer = Q.defer() 148 | 149 | Jimp.read(splashFileName) 150 | .then(image => { 151 | const width = image.bitmap.width 152 | const height = image.bitmap.height 153 | if (width >= 2732 && width === height) { 154 | display.success('Splash file ok (' + width + 'x' + height + ')') 155 | defer.resolve(image) 156 | } else { 157 | display.error('Bad splash file (' + width + 'x' + height + ')') 158 | defer.reject('Bad image format') 159 | } 160 | }) 161 | .catch(err => { 162 | display.error('Could not load splash file') 163 | defer.reject(err) 164 | }) 165 | 166 | return defer.promise 167 | } 168 | } 169 | 170 | function checkOutPutDir(settings) { 171 | const dir = settings.outputdirectory 172 | 173 | return fs.pathExists(dir).then(exists => { 174 | if (exists) { 175 | display.success('Output directory ok (' + dir + ')') 176 | } else { 177 | display.error('Output directory not found (' + dir + ')') 178 | throw 'Output directory not found: ' + dir 179 | } 180 | }) 181 | } 182 | 183 | function generateForConfig(imageObj, settings, config) { 184 | const platformPath = path.join(settings.outputdirectory, config.path) 185 | 186 | const transformIcon = definition => { 187 | const defer = Q.defer() 188 | const image = imageObj.icon.clone() 189 | 190 | const outputFilePath = path.join(platformPath, definition.name) 191 | 192 | image.resize(definition.size, definition.size).write(outputFilePath, err => { 193 | if (err) defer.reject(err) 194 | //display.info('Generated icon file for ' + outputFilePath); 195 | defer.resolve() 196 | }) 197 | 198 | return defer.promise 199 | } 200 | 201 | return fs.ensureDir(platformPath).then(() => { 202 | const definitions = config.definitions 203 | const sectionName = 'Generating ' + config.type + ' files for ' + config.platform 204 | const definitionCount = definitions.length 205 | let progressIndex = 0 206 | 207 | const gauge = new Gauge() 208 | gauge.show(sectionName, 0) 209 | 210 | return Q.mapSeries(definitions, def => { 211 | let transformPromise = Q.resolve() 212 | transformPromise = transformPromise.then(() => { 213 | progressIndex++ 214 | const progressRate = progressIndex / definitionCount 215 | gauge.show(sectionName, progressRate) 216 | gauge.pulse(def.name) 217 | }) 218 | switch (config.type) { 219 | case 'icon': 220 | transformPromise = transformPromise.then(() => transformIcon(def)) 221 | break 222 | case 'splash': 223 | transformPromise = transformPromise.then(() => transformSplash(def, imageObj, platformPath)) 224 | break 225 | } 226 | return transformPromise 227 | }) 228 | .then(() => { 229 | gauge.disable() 230 | display.success('Generated ' + config.type + ' files for ' + config.platform) 231 | }) 232 | .catch(err => { 233 | gauge.disable() 234 | throw err 235 | }) 236 | }) 237 | } 238 | 239 | function generate(imageObj, settings) { 240 | return new Promise((resolve, reject) => { 241 | try { 242 | display.header('Generating files...') 243 | 244 | const configs = [] 245 | 246 | selectedPlatforms.forEach(platform => { 247 | PLATFORMS[platform].definitions.forEach(def => configs.push(require(def))) 248 | }) 249 | 250 | const filteredConfigs = _.filter(configs, config => { 251 | if (config.type === 'icon' && settings.makeicon) return true 252 | if (config.type === 'splash' && settings.makesplash) return true 253 | return false 254 | }) 255 | 256 | Q.mapSeries(filteredConfigs, config => generateForConfig(imageObj, settings, config)).then( 257 | () => { 258 | display.success('Successfully generated all files') 259 | resolve() 260 | } 261 | ) 262 | } catch (e) { 263 | reject(e) 264 | } 265 | }) 266 | } 267 | 268 | // cli helper configuration 269 | 270 | function processList(val) { 271 | return val.split(',') 272 | } 273 | 274 | commander 275 | .version(pjson.version) 276 | .description(pjson.description) 277 | .option('-i, --icon [optional]', 'optional icon file path (default: ./resources/icon.png)') 278 | .option('-s, --splash [optional]', 'optional splash file path (default: ./resources/splash.png)') 279 | .option('-t, --transform-splash [crop|cover]', 'optional splash transformation', 'crop') 280 | .option( 281 | '-p, --platforms [optional]', 282 | 'optional platform token comma separated list (default: all platforms processed)', 283 | processList 284 | ) 285 | .option('-o, --outputdir [optional]', 'optional output directory (default: ./resources/)') 286 | .option('-I, --makeicon [optional]', 'option to process icon files only') 287 | .option('-S, --makesplash [optional]', 'option to process splash files only') 288 | .parse(process.argv) 289 | 290 | // app settings and default values 291 | 292 | const settings = { 293 | iconfile: commander.icon || path.join('.', 'resources', 'icon.png'), 294 | splashfile: commander.splash || path.join('.', 'resources', 'splash.png'), 295 | platforms: commander.platforms || undefined, 296 | outputdirectory: commander.outputdir || path.join('.', 'resources'), 297 | makeicon: commander.makeicon || (!commander.makeicon && !commander.makesplash) ? true : false, 298 | makesplash: commander.makesplash || (!commander.makeicon && !commander.makesplash) ? true : false 299 | } 300 | 301 | 302 | // Dinamically set splash transformation function 303 | function setTransformationFunction(transformation){ 304 | switch (transformation){ 305 | case 'cover': 306 | return require('./splash/cover.js'); 307 | default: 308 | return require('./splash/crop.js'); 309 | } 310 | } 311 | const transformSplash = setTransformationFunction(commander.transformSplash) 312 | 313 | 314 | module.exports = () => 315 | new Promise((resolve, reject) => { 316 | check(settings) 317 | .then(() => 318 | generate(imageObjects, settings).then(() => { 319 | resolve() 320 | }) 321 | ) 322 | .catch(e => reject(e)) 323 | }) 324 | -------------------------------------------------------------------------------- /src/generate/platforms/icons/android.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | platform: 'android', 3 | type: 'icon', 4 | path: 'android/icon/', 5 | definitions: [ 6 | { 7 | name: 'drawable-ldpi-icon.png', 8 | size: 36, 9 | comment: 'ldpi' 10 | }, 11 | { 12 | name: 'drawable-mdpi-icon.png', 13 | size: 48, 14 | comment: 'mdpi' 15 | }, 16 | { 17 | name: 'drawable-hdpi-icon.png', 18 | size: 72, 19 | comment: 'hdpi' 20 | }, 21 | { 22 | name: 'drawable-xhdpi-icon.png', 23 | size: 96, 24 | comment: 'xhdpi' 25 | }, 26 | { 27 | name: 'drawable-xxhdpi-icon.png', 28 | size: 144, 29 | comment: 'xxhdpi' 30 | }, 31 | { 32 | name: 'drawable-xxxhdpi-icon.png', 33 | size: 192, 34 | comment: 'xxxhdpi' 35 | }, 36 | { 37 | name: 'drawable-playstore-512-icon.png', 38 | size: 512, 39 | comment: 'Google Play Store' 40 | }, 41 | { 42 | name: 'mipmap-hdpi/ic_launcher.png', 43 | size: 72, 44 | comment: '' 45 | }, 46 | { 47 | name: 'mipmap-ldpi/ic_launcher.png', 48 | size: 36, 49 | comment: '' 50 | }, 51 | { 52 | name: 'mipmap-mdpi/ic_launcher.png', 53 | size: 48, 54 | comment: '' 55 | }, 56 | { 57 | name: 'mipmap-xhdpi/ic_launcher.png', 58 | size: 96, 59 | comment: '' 60 | }, 61 | { 62 | name: 'mipmap-xxhdpi/ic_launcher.png', 63 | size: 144, 64 | comment: '' 65 | }, 66 | { 67 | name: 'mipmap-xxxhdpi/ic_launcher.png', 68 | size: 192, 69 | comment: '' 70 | } 71 | ] 72 | }; -------------------------------------------------------------------------------- /src/generate/platforms/icons/blackberry10.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | platform: 'blackberry10', 3 | type: 'icon', 4 | path: 'blackberry10/icon/', 5 | definitions: [ 6 | // application icons 7 | { 8 | name: 'icon-90.png', 9 | size: 90, 10 | comment: 'For devices with a screen resolution of 720 x 720 pixels' 11 | }, 12 | { 13 | name: 'icon-110.png', 14 | size: 110, 15 | comment: 'For devices with a screen resolution of 768 x 1280 pixels' 16 | }, 17 | { 18 | name: 'icon-96.png', 19 | size: 96, 20 | comment: 'For devices with a screen resolution of 720 x 1280 pixels' 21 | }, 22 | { 23 | name: 'icon-144.png', 24 | size: 144, 25 | comment: 'For devices with a screen resolution of 1440 x 1440 pixels' 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /src/generate/platforms/icons/ios.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | platform: 'ios', 3 | type: 'icon', 4 | path: 'ios/icon', 5 | definitions: [ 6 | { 7 | size: 20, 8 | idiom: 'iphone', 9 | name: 'AppIcon-20x20@1x.png', 10 | scale: '2x' 11 | }, 12 | { 13 | size: 40, 14 | idiom: 'iphone', 15 | name: 'AppIcon-20x20@2x.png', 16 | scale: '2x' 17 | }, 18 | { 19 | size: 60, 20 | idiom: 'iphone', 21 | name: 'AppIcon-20x20@3x.png', 22 | scale: '3x' 23 | }, 24 | { 25 | size: 58, 26 | idiom: 'iphone', 27 | name: 'AppIcon-29x29@2x-1.png', 28 | scale: '2x' 29 | }, 30 | { 31 | size: 87, 32 | idiom: 'iphone', 33 | name: 'AppIcon-29x29@3x.png', 34 | scale: '3x' 35 | }, 36 | { 37 | size: 80, 38 | idiom: 'iphone', 39 | name: 'AppIcon-40x40@2x.png', 40 | scale: '2x' 41 | }, 42 | { 43 | size: 120, 44 | idiom: 'iphone', 45 | name: 'AppIcon-40x40@3x.png', 46 | scale: '3x' 47 | }, 48 | { 49 | size: 120, 50 | idiom: 'iphone', 51 | name: 'AppIcon-60x60@2x.png', 52 | scale: '2x' 53 | }, 54 | { 55 | size: 180, 56 | idiom: 'iphone', 57 | name: 'AppIcon-60x60@3x.png', 58 | scale: '3x' 59 | }, 60 | { 61 | size: 20, 62 | idiom: 'ipad', 63 | name: 'AppIcon-20x20@1x.png', 64 | scale: '1x' 65 | }, 66 | { 67 | size: 40, 68 | idiom: 'ipad', 69 | name: 'AppIcon-20x20@2x-1.png', 70 | scale: '2x' 71 | }, 72 | { 73 | size: 29, 74 | idiom: 'ipad', 75 | name: 'AppIcon-29x29@1x.png', 76 | scale: '1x' 77 | }, 78 | { 79 | size: 58, 80 | idiom: 'ipad', 81 | name: 'AppIcon-29x29@2x.png', 82 | scale: '2x' 83 | }, 84 | { 85 | size: 40, 86 | idiom: 'ipad', 87 | name: 'AppIcon-40x40@1x.png', 88 | scale: '1x' 89 | }, 90 | { 91 | size: 80, 92 | idiom: 'ipad', 93 | name: 'AppIcon-40x40@2x-1.png', 94 | scale: '2x' 95 | }, 96 | { 97 | size: 76, 98 | idiom: 'ipad', 99 | name: 'AppIcon-76x76@1x.png', 100 | scale: '1x' 101 | }, 102 | { 103 | size: 152, 104 | idiom: 'ipad', 105 | name: 'AppIcon-76x76@2x.png', 106 | scale: '2x' 107 | }, 108 | { 109 | size: 167, 110 | idiom: 'ipad', 111 | name: 'AppIcon-83.5x83.5@2x.png', 112 | scale: '2x' 113 | }, 114 | { 115 | size: 1024, 116 | idiom: 'ios-marketing', 117 | name: 'AppIcon-512@2x.png', 118 | scale: '1x' 119 | } 120 | ] 121 | } 122 | -------------------------------------------------------------------------------- /src/generate/platforms/icons/windows.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | // https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/app-assets 3 | platform: 'windows', 4 | type: 'icon', 5 | path: 'windows/icon/', 6 | definitions: [ 7 | // Small tile (Square71x71Logo) 8 | { 9 | name: 'Square71x71Logo.scale-100.png', 10 | size: 71, 11 | comment: 'Square71x71Logo.scale-100.png 100% scale' 12 | }, { 13 | name: 'Square71x71Logo.scale-125.png', 14 | size: 89, 15 | comment: 'Square71x71Logo.scale-125.png 125% scale' 16 | }, { 17 | name: 'Square71x71Logo.scale-150.png', 18 | size: 107, 19 | comment: 'Square71x71Logo.scale-150.png 150% scale' 20 | }, { 21 | name: 'Square71x71Logo.scale-200.png', 22 | size: 142, 23 | comment: 'Square71x71Logo.scale-200.png 200% scale' 24 | }, { 25 | name: 'Square71x71Logo.scale-400.png', 26 | size: 284, 27 | comment: 'Square71x71Logo.scale-400.png 400% scale' 28 | }, 29 | // Medium tile (Square150x150Logo) 30 | { 31 | name: 'Square150x150Logo.scale-100.png', 32 | size: 150, 33 | comment: 'Square150x150Logo.scale-100.png 100% scale' 34 | }, { 35 | name: 'Square150x150Logo.scale-125.png', 36 | size: 188, 37 | comment: 'Square150x150Logo.scale-125.png 125% scale' 38 | }, { 39 | name: 'Square150x150Logo.scale-150.png', 40 | size: 225, 41 | comment: 'Square150x150Logo.scale-150.png 150% scale' 42 | }, { 43 | name: 'Square150x150Logo.scale-200.png', 44 | size: 300, 45 | comment: 'Square150x150Logo.scale-200.png 200% scale' 46 | }, { 47 | name: 'Square150x150Logo.scale-400.png', 48 | size: 600, 49 | comment: 'Square150x150Logo.scale-400.png 400% scale' 50 | }, 51 | // App list icon (Square44x44Logo) 52 | { 53 | name: 'Square44x44Logo.scale-100.png', 54 | size: 44, 55 | comment: 'Square44x44Logo.scale-100.png 100% scale' 56 | }, { 57 | name: 'Square44x44Logo.scale-125.png', 58 | size: 55, 59 | comment: 'Square44x44Logo.scale-125.png 125% scale' 60 | }, { 61 | name: 'Square44x44Logo.scale-150.png', 62 | size: 66, 63 | comment: 'Square44x44Logo.scale-150.png 150% scale' 64 | }, { 65 | name: 'Square44x44Logo.scale-200.png', 66 | size: 88, 67 | comment: 'Square44x44Logo.scale-200.png 200% scale' 68 | }, { 69 | name: 'Square44x44Logo.scale-400.png', 70 | size: 176, 71 | comment: 'Square44x44Logo.scale-400.png 400% scale' 72 | }, 73 | // Target-based assets 74 | { 75 | name: 'Square44x44Logo.targetsize-16.png', 76 | size: 16, 77 | comment: 'Square44x44Logo.targetsize-16' 78 | }, 79 | { 80 | name: 'Square44x44Logo.targetsize-24.png', 81 | size: 24, 82 | comment: 'Square44x44Logo.targetsize-24' 83 | }, 84 | { 85 | name: 'Square44x44Logo.targetsize-32.png', 86 | size: 32, 87 | comment: 'Square44x44Logo.targetsize-32' 88 | }, 89 | { 90 | name: 'Square44x44Logo.targetsize-48.png', 91 | size: 48, 92 | comment: 'Square44x44Logo.targetsize-48' 93 | }, 94 | { 95 | name: 'Square44x44Logo.targetsize-256.png', 96 | size: 256, 97 | comment: 'Square44x44Logo.targetsize-256' 98 | }, 99 | { 100 | name: 'Square44x44Logo.targetsize-20.png', 101 | size: 20, 102 | comment: 'Square44x44Logo.targetsize-20' 103 | }, 104 | { 105 | name: 'Square44x44Logo.targetsize-30.png', 106 | size: 30, 107 | comment: 'Square44x44Logo.targetsize-30' 108 | }, 109 | { 110 | name: 'Square44x44Logo.targetsize-36.png', 111 | size: 36, 112 | comment: 'Square44x44Logo.targetsize-36' 113 | }, 114 | { 115 | name: 'Square44x44Logo.targetsize-40.png', 116 | size: 40, 117 | comment: 'Square44x44Logo.targetsize-40' 118 | }, 119 | { 120 | name: 'Square44x44Logo.targetsize-60.png', 121 | size: 60, 122 | comment: 'Square44x44Logo.targetsize-60' 123 | }, 124 | { 125 | name: 'Square44x44Logo.targetsize-64.png', 126 | size: 64, 127 | comment: 'Square44x44Logo.targetsize-64' 128 | }, 129 | { 130 | name: 'Square44x44Logo.targetsize-72.png', 131 | size: 72, 132 | comment: 'Square44x44Logo.targetsize-72' 133 | }, 134 | { 135 | name: 'Square44x44Logo.targetsize-80.png', 136 | size: 80, 137 | comment: 'Square44x44Logo.targetsize-80' 138 | }, 139 | { 140 | name: 'Square44x44Logo.targetsize-96.png', 141 | size: 96, 142 | comment: 'Square44x44Logo.targetsize-96' 143 | } 144 | ] 145 | }; -------------------------------------------------------------------------------- /src/generate/platforms/splash/android.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | platform: 'android', 3 | type: 'splash', 4 | path: 'android/splash/', 5 | definitions: [{ 6 | name: "drawable-land-hdpi-screen.png", 7 | width: 800, 8 | height: 480, 9 | comment: "land-hdpi" 10 | }, // 800x480 11 | { 12 | name: "drawable-land-ldpi-screen.png", 13 | width: 320, 14 | height: 200, 15 | comment: "land-ldpi" 16 | }, // 320x200 17 | { 18 | name: "drawable-land-mdpi-screen.png", 19 | width: 480, 20 | height: 320, 21 | comment: "land-mdpi" 22 | }, // 480x320 23 | { 24 | name: "drawable-land-xhdpi-screen.png", 25 | width: 1280, 26 | height: 720, 27 | comment: "land-xhdpi" 28 | }, // 1280x720 29 | { 30 | name: "drawable-land-xxhdpi-screen.png", 31 | width: 1600, 32 | height: 960, 33 | comment: "land-xxhdpi" 34 | }, // 1600x960 35 | { 36 | name: "drawable-land-xxxhdpi-screen.png", 37 | width: 1920, 38 | height: 1280, 39 | comment: "land-xxhdpi" 40 | }, // 1920x1280 41 | { 42 | name: "drawable-port-hdpi-screen.png", 43 | width: 480, 44 | height: 800, 45 | comment: "port-hdpi" 46 | }, // 480x800 47 | { 48 | name: "drawable-port-ldpi-screen.png", 49 | width: 200, 50 | height: 320, 51 | comment: "port-ldpi" 52 | }, // 200x320 53 | { 54 | name: "drawable-port-mdpi-screen.png", 55 | width: 320, 56 | height: 480, 57 | comment: "port-mdpi" 58 | }, // 320x480 59 | { 60 | name: "drawable-port-xhdpi-screen.png", 61 | width: 720, 62 | height: 1280, 63 | comment: "port-xhdpi" 64 | }, // 720x1280 65 | { 66 | name: "drawable-port-xxhdpi-screen.png", 67 | width: 960, 68 | height: 1600, 69 | comment: "port-xxhdpi" 70 | }, // 960x1600 71 | { 72 | name: "drawable-port-xxxhdpi-screen.png", 73 | width: 1280, 74 | height: 1920, 75 | comment: "port-xxhdpi" 76 | } // 1280x1920 77 | ] 78 | }; 79 | -------------------------------------------------------------------------------- /src/generate/platforms/splash/ios.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | platform: 'ios', 3 | type: 'splash', 4 | path: 'ios/splash/', 5 | definitions: [{ 6 | name: "Default-568h@2x~iphone.png", 7 | width: 640, 8 | height: 1136, 9 | comment: '' 10 | }, // iPhone 5 Retina 11 | { 12 | name: "Default-667h.png", 13 | width: 750, 14 | height: 1334, 15 | comment: '' 16 | }, // iPhone 6 17 | { 18 | name: "Default-736h.png", 19 | width: 1242, 20 | height: 2208, 21 | comment: '' 22 | }, // iPhone 6 Plus 23 | { 24 | name: "Default-Landscape-736h.png", 25 | width: 2208, 26 | height: 1242, 27 | comment: '' 28 | }, // iPhone 6 Plus 29 | { 30 | name: "Default-Landscape@~ipadpro.png", 31 | width: 2732, 32 | height: 2048, 33 | comment: '' 34 | }, // iPad Pro 35 | { 36 | name: "Default-Landscape@2x~ipad.png", 37 | width: 2048, 38 | height: 1536, 39 | comment: '' 40 | }, // iPad Retina 41 | { 42 | name: "Default-Landscape~ipad.png", 43 | width: 1024, 44 | height: 768, 45 | comment: '' 46 | }, // iPad 47 | { 48 | name: "Default-Portrait@~ipadpro.png", 49 | width: 2048, 50 | height: 2732, 51 | comment: '' 52 | }, // iPad Pro 53 | { 54 | name: "Default-Portrait@2x~ipad.png", 55 | width: 1536, 56 | height: 2048, 57 | comment: '' 58 | }, // iPad Retina 59 | { 60 | name: "Default-Portrait~ipad.png", 61 | width: 768, 62 | height: 1024, 63 | comment: '' 64 | }, // iPad 65 | { 66 | name: "Default@2x~iphone.png", 67 | width: 640, 68 | height: 960, 69 | comment: '' 70 | }, // iPhone Retina 71 | { 72 | name: "Default~iphone.png", 73 | width: 320, 74 | height: 480, 75 | comment: '' 76 | } // iPhone 77 | ] 78 | }; -------------------------------------------------------------------------------- /src/generate/platforms/splash/windows.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | // https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/app-assets 3 | platform: 'windows', 4 | type: 'splash', 5 | path: 'windows/splash/', 6 | definitions: [ 7 | // Wide tile (Wide310x150Logo) 8 | 9 | // 100% scale 310x150 Wide310x150Logo.scale-100.png 10 | { 11 | name: "Wide310x150Logo.scale-100.png", 12 | width: 310, 13 | height: 150, 14 | comment: "Wide310x150Logo 100% scale" 15 | }, 16 | // 125% scale 388x188 Wide310x150Logo.scale-125.png 17 | { 18 | name: "Wide310x150Logo.scale-125.png", 19 | width: 388, 20 | height: 188, 21 | comment: "Wide310x150Logo 125% scale" 22 | }, 23 | // 150% scale 465x225 Wide310x150Logo.scale-150.png 24 | { 25 | name: "Wide310x150Logo.scale-150.png", 26 | width: 465, 27 | height: 225, 28 | comment: "Wide310x150Logo 150% scale" 29 | }, 30 | // 200% scale 620x300 Wide310x150Logo.scale-200.png 31 | { 32 | name: "Wide310x150Logo.scale-200.png", 33 | width: 620, 34 | height: 300, 35 | comment: "Wide310x150Logo 200% scale" 36 | }, 37 | // 400% scale 1240x600 Wide310x150Logo.scale-400.png 38 | { 39 | name: "Wide310x150Logo.scale-400.png", 40 | width: 1240, 41 | height: 600, 42 | comment: "Wide310x150Logo 400% scale" 43 | }, 44 | 45 | // Splash screen (SplashScreen) 46 | 47 | // 100% scale 620x300 SplashScreen.scale-100.png 48 | { 49 | name: "SplashScreen.scale-100.png", 50 | width: 620, 51 | height: 300, 52 | comment: "Splash screen 100% scale" 53 | }, 54 | // 125% scale 775x375 SplashScreen.scale-125.png 55 | { 56 | name: "SplashScreen.scale-125.png", 57 | width: 775, 58 | height: 375, 59 | comment: "Splash screen 125% scale" 60 | }, 61 | // 150% scale 930x450 SplashScreen.scale-150.png 62 | { 63 | name: "SplashScreen.scale-150.png", 64 | width: 930, 65 | height: 450, 66 | comment: "Splash screen 150% scale" 67 | }, 68 | // 200% scale 1240x600 SplashScreen.scale-200.png 69 | { 70 | name: "SplashScreen.scale-200.png", 71 | width: 1240, 72 | height: 600, 73 | comment: "Splash screen 200% scale" 74 | }, 75 | // 400% scale 2480x1200 SplashScreen.scale-400.png 76 | { 77 | name: "SplashScreen.scale-400.png", 78 | width: 2480, 79 | height: 1200, 80 | comment: "Splash screen 400% scale" 81 | } 82 | ] 83 | }; -------------------------------------------------------------------------------- /src/generate/splash/cover.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const Q = require('bluebird') 4 | const path = require('path') 5 | 6 | module.exports = (definition, imageObj, platformPath) => { 7 | const defer = Q.defer() 8 | const image = imageObj.splash.clone() 9 | 10 | const width = definition.width 11 | const height = definition.height 12 | 13 | const outputFilePath = path.join(platformPath, definition.name) 14 | 15 | image.cover(width, height).write(outputFilePath, err => { 16 | if (err) defer.reject(err) 17 | //display.info('Generated splash file for ' + outputFilePath); 18 | defer.resolve() 19 | }) 20 | 21 | return defer.promise 22 | } 23 | -------------------------------------------------------------------------------- /src/generate/splash/crop.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const Q = require('bluebird') 4 | const path = require('path') 5 | 6 | module.exports = (definition, imageObj, platformPath) => { 7 | const defer = Q.defer() 8 | const image = imageObj.splash.clone() 9 | 10 | const x = (image.bitmap.width - definition.width) / 2 11 | const y = (image.bitmap.height - definition.height) / 2 12 | const width = definition.width 13 | const height = definition.height 14 | 15 | const outputFilePath = path.join(platformPath, definition.name) 16 | 17 | image.crop(x, y, width, height).write(outputFilePath, err => { 18 | if (err) defer.reject(err) 19 | //display.info('Generated splash file for ' + outputFilePath); 20 | defer.resolve() 21 | }) 22 | 23 | return defer.promise 24 | } 25 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | /** 4 | * @license MIT 5 | * @version 1.0.0 6 | * @author Leonardo Quevedo 7 | */ 8 | 9 | require('colors') 10 | 11 | const pjson = require('../package.json') 12 | const generate = require('./generate/index') 13 | const copy = require('./copy/index') 14 | const { log } = console 15 | 16 | const start = () => { 17 | log(`📦 Capacitor Resources v${pjson.version}`.bold.green) 18 | log('-----------------------------'.bold.green) 19 | } 20 | 21 | const finish = () => { 22 | log() 23 | log('----------------------------------------------'.bold.green) 24 | log() 25 | log('📦 Capacitor resources generated successfully!'.green.bold) 26 | log() 27 | } 28 | 29 | module.exports = new Promise(resolve => { 30 | start() 31 | generate() 32 | .then(() => { 33 | copy() 34 | finish() 35 | resolve() 36 | }) 37 | .catch(e => { 38 | log(e) 39 | }) 40 | }) 41 | -------------------------------------------------------------------------------- /src/utils/paths.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const fs = require('fs-extra') 3 | 4 | module.exports = { 5 | getRootPath: () => { 6 | console.log(`Root path: ${path.resolve()}`) 7 | const developmentRoot = path.resolve(__dirname, '../../') 8 | const productionRoot = fs.existsSync(path.resolve('capacitor.config.json')) ? 9 | path.resolve() : path.resolve(__dirname, '../../../../') 10 | return process.env.CAPACITOR_RESOURCES_STAGE === 'development' ? developmentRoot : productionRoot 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": 6 | version "7.5.5" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" 8 | integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== 9 | dependencies: 10 | "@babel/highlight" "^7.0.0" 11 | 12 | "@babel/core@^7.7.4": 13 | version "7.7.4" 14 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.4.tgz#37e864532200cb6b50ee9a4045f5f817840166ab" 15 | integrity sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ== 16 | dependencies: 17 | "@babel/code-frame" "^7.5.5" 18 | "@babel/generator" "^7.7.4" 19 | "@babel/helpers" "^7.7.4" 20 | "@babel/parser" "^7.7.4" 21 | "@babel/template" "^7.7.4" 22 | "@babel/traverse" "^7.7.4" 23 | "@babel/types" "^7.7.4" 24 | convert-source-map "^1.7.0" 25 | debug "^4.1.0" 26 | json5 "^2.1.0" 27 | lodash "^4.17.13" 28 | resolve "^1.3.2" 29 | semver "^5.4.1" 30 | source-map "^0.5.0" 31 | 32 | "@babel/generator@^7.7.4": 33 | version "7.7.4" 34 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.4.tgz#db651e2840ca9aa66f327dcec1dc5f5fa9611369" 35 | integrity sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg== 36 | dependencies: 37 | "@babel/types" "^7.7.4" 38 | jsesc "^2.5.1" 39 | lodash "^4.17.13" 40 | source-map "^0.5.0" 41 | 42 | "@babel/helper-annotate-as-pure@^7.7.4": 43 | version "7.7.4" 44 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce" 45 | integrity sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og== 46 | dependencies: 47 | "@babel/types" "^7.7.4" 48 | 49 | "@babel/helper-builder-binary-assignment-operator-visitor@^7.7.4": 50 | version "7.7.4" 51 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz#5f73f2b28580e224b5b9bd03146a4015d6217f5f" 52 | integrity sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ== 53 | dependencies: 54 | "@babel/helper-explode-assignable-expression" "^7.7.4" 55 | "@babel/types" "^7.7.4" 56 | 57 | "@babel/helper-call-delegate@^7.7.4": 58 | version "7.7.4" 59 | resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz#621b83e596722b50c0066f9dc37d3232e461b801" 60 | integrity sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA== 61 | dependencies: 62 | "@babel/helper-hoist-variables" "^7.7.4" 63 | "@babel/traverse" "^7.7.4" 64 | "@babel/types" "^7.7.4" 65 | 66 | "@babel/helper-create-regexp-features-plugin@^7.7.4": 67 | version "7.7.4" 68 | resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz#6d5762359fd34f4da1500e4cff9955b5299aaf59" 69 | integrity sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A== 70 | dependencies: 71 | "@babel/helper-regex" "^7.4.4" 72 | regexpu-core "^4.6.0" 73 | 74 | "@babel/helper-define-map@^7.7.4": 75 | version "7.7.4" 76 | resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz#2841bf92eb8bd9c906851546fe6b9d45e162f176" 77 | integrity sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg== 78 | dependencies: 79 | "@babel/helper-function-name" "^7.7.4" 80 | "@babel/types" "^7.7.4" 81 | lodash "^4.17.13" 82 | 83 | "@babel/helper-explode-assignable-expression@^7.7.4": 84 | version "7.7.4" 85 | resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz#fa700878e008d85dc51ba43e9fb835cddfe05c84" 86 | integrity sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg== 87 | dependencies: 88 | "@babel/traverse" "^7.7.4" 89 | "@babel/types" "^7.7.4" 90 | 91 | "@babel/helper-function-name@^7.7.4": 92 | version "7.7.4" 93 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz#ab6e041e7135d436d8f0a3eca15de5b67a341a2e" 94 | integrity sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ== 95 | dependencies: 96 | "@babel/helper-get-function-arity" "^7.7.4" 97 | "@babel/template" "^7.7.4" 98 | "@babel/types" "^7.7.4" 99 | 100 | "@babel/helper-get-function-arity@^7.7.4": 101 | version "7.7.4" 102 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz#cb46348d2f8808e632f0ab048172130e636005f0" 103 | integrity sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA== 104 | dependencies: 105 | "@babel/types" "^7.7.4" 106 | 107 | "@babel/helper-hoist-variables@^7.7.4": 108 | version "7.7.4" 109 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz#612384e3d823fdfaaf9fce31550fe5d4db0f3d12" 110 | integrity sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ== 111 | dependencies: 112 | "@babel/types" "^7.7.4" 113 | 114 | "@babel/helper-member-expression-to-functions@^7.7.4": 115 | version "7.7.4" 116 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz#356438e2569df7321a8326644d4b790d2122cb74" 117 | integrity sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw== 118 | dependencies: 119 | "@babel/types" "^7.7.4" 120 | 121 | "@babel/helper-module-imports@^7.7.4": 122 | version "7.7.4" 123 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz#e5a92529f8888bf319a6376abfbd1cebc491ad91" 124 | integrity sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ== 125 | dependencies: 126 | "@babel/types" "^7.7.4" 127 | 128 | "@babel/helper-module-transforms@^7.7.4": 129 | version "7.7.4" 130 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.4.tgz#8d7cdb1e1f8ea3d8c38b067345924ac4f8e0879a" 131 | integrity sha512-ehGBu4mXrhs0FxAqN8tWkzF8GSIGAiEumu4ONZ/hD9M88uHcD+Yu2ttKfOCgwzoesJOJrtQh7trI5YPbRtMmnA== 132 | dependencies: 133 | "@babel/helper-module-imports" "^7.7.4" 134 | "@babel/helper-simple-access" "^7.7.4" 135 | "@babel/helper-split-export-declaration" "^7.7.4" 136 | "@babel/template" "^7.7.4" 137 | "@babel/types" "^7.7.4" 138 | lodash "^4.17.13" 139 | 140 | "@babel/helper-optimise-call-expression@^7.7.4": 141 | version "7.7.4" 142 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2" 143 | integrity sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg== 144 | dependencies: 145 | "@babel/types" "^7.7.4" 146 | 147 | "@babel/helper-plugin-utils@^7.0.0": 148 | version "7.0.0" 149 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" 150 | integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== 151 | 152 | "@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": 153 | version "7.5.5" 154 | resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" 155 | integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== 156 | dependencies: 157 | lodash "^4.17.13" 158 | 159 | "@babel/helper-remap-async-to-generator@^7.7.4": 160 | version "7.7.4" 161 | resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz#c68c2407350d9af0e061ed6726afb4fff16d0234" 162 | integrity sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw== 163 | dependencies: 164 | "@babel/helper-annotate-as-pure" "^7.7.4" 165 | "@babel/helper-wrap-function" "^7.7.4" 166 | "@babel/template" "^7.7.4" 167 | "@babel/traverse" "^7.7.4" 168 | "@babel/types" "^7.7.4" 169 | 170 | "@babel/helper-replace-supers@^7.7.4": 171 | version "7.7.4" 172 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz#3c881a6a6a7571275a72d82e6107126ec9e2cdd2" 173 | integrity sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg== 174 | dependencies: 175 | "@babel/helper-member-expression-to-functions" "^7.7.4" 176 | "@babel/helper-optimise-call-expression" "^7.7.4" 177 | "@babel/traverse" "^7.7.4" 178 | "@babel/types" "^7.7.4" 179 | 180 | "@babel/helper-simple-access@^7.7.4": 181 | version "7.7.4" 182 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz#a169a0adb1b5f418cfc19f22586b2ebf58a9a294" 183 | integrity sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A== 184 | dependencies: 185 | "@babel/template" "^7.7.4" 186 | "@babel/types" "^7.7.4" 187 | 188 | "@babel/helper-split-export-declaration@^7.7.4": 189 | version "7.7.4" 190 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz#57292af60443c4a3622cf74040ddc28e68336fd8" 191 | integrity sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug== 192 | dependencies: 193 | "@babel/types" "^7.7.4" 194 | 195 | "@babel/helper-wrap-function@^7.7.4": 196 | version "7.7.4" 197 | resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace" 198 | integrity sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg== 199 | dependencies: 200 | "@babel/helper-function-name" "^7.7.4" 201 | "@babel/template" "^7.7.4" 202 | "@babel/traverse" "^7.7.4" 203 | "@babel/types" "^7.7.4" 204 | 205 | "@babel/helpers@^7.7.4": 206 | version "7.7.4" 207 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302" 208 | integrity sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg== 209 | dependencies: 210 | "@babel/template" "^7.7.4" 211 | "@babel/traverse" "^7.7.4" 212 | "@babel/types" "^7.7.4" 213 | 214 | "@babel/highlight@^7.0.0": 215 | version "7.5.0" 216 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" 217 | integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== 218 | dependencies: 219 | chalk "^2.0.0" 220 | esutils "^2.0.2" 221 | js-tokens "^4.0.0" 222 | 223 | "@babel/parser@^7.7.4": 224 | version "7.7.4" 225 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.4.tgz#75ab2d7110c2cf2fa949959afb05fa346d2231bb" 226 | integrity sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g== 227 | 228 | "@babel/plugin-proposal-async-generator-functions@^7.7.4": 229 | version "7.7.4" 230 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d" 231 | integrity sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw== 232 | dependencies: 233 | "@babel/helper-plugin-utils" "^7.0.0" 234 | "@babel/helper-remap-async-to-generator" "^7.7.4" 235 | "@babel/plugin-syntax-async-generators" "^7.7.4" 236 | 237 | "@babel/plugin-proposal-dynamic-import@^7.7.4": 238 | version "7.7.4" 239 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz#dde64a7f127691758cbfed6cf70de0fa5879d52d" 240 | integrity sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ== 241 | dependencies: 242 | "@babel/helper-plugin-utils" "^7.0.0" 243 | "@babel/plugin-syntax-dynamic-import" "^7.7.4" 244 | 245 | "@babel/plugin-proposal-json-strings@^7.7.4": 246 | version "7.7.4" 247 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz#7700a6bfda771d8dc81973249eac416c6b4c697d" 248 | integrity sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw== 249 | dependencies: 250 | "@babel/helper-plugin-utils" "^7.0.0" 251 | "@babel/plugin-syntax-json-strings" "^7.7.4" 252 | 253 | "@babel/plugin-proposal-object-rest-spread@^7.7.4": 254 | version "7.7.4" 255 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz#cc57849894a5c774214178c8ab64f6334ec8af71" 256 | integrity sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ== 257 | dependencies: 258 | "@babel/helper-plugin-utils" "^7.0.0" 259 | "@babel/plugin-syntax-object-rest-spread" "^7.7.4" 260 | 261 | "@babel/plugin-proposal-optional-catch-binding@^7.7.4": 262 | version "7.7.4" 263 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz#ec21e8aeb09ec6711bc0a39ca49520abee1de379" 264 | integrity sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w== 265 | dependencies: 266 | "@babel/helper-plugin-utils" "^7.0.0" 267 | "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" 268 | 269 | "@babel/plugin-proposal-unicode-property-regex@^7.7.4": 270 | version "7.7.4" 271 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz#7c239ccaf09470dbe1d453d50057460e84517ebb" 272 | integrity sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA== 273 | dependencies: 274 | "@babel/helper-create-regexp-features-plugin" "^7.7.4" 275 | "@babel/helper-plugin-utils" "^7.0.0" 276 | 277 | "@babel/plugin-syntax-async-generators@^7.7.4": 278 | version "7.7.4" 279 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz#331aaf310a10c80c44a66b238b6e49132bd3c889" 280 | integrity sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g== 281 | dependencies: 282 | "@babel/helper-plugin-utils" "^7.0.0" 283 | 284 | "@babel/plugin-syntax-dynamic-import@^7.7.4": 285 | version "7.7.4" 286 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz#29ca3b4415abfe4a5ec381e903862ad1a54c3aec" 287 | integrity sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg== 288 | dependencies: 289 | "@babel/helper-plugin-utils" "^7.0.0" 290 | 291 | "@babel/plugin-syntax-json-strings@^7.7.4": 292 | version "7.7.4" 293 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz#86e63f7d2e22f9e27129ac4e83ea989a382e86cc" 294 | integrity sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg== 295 | dependencies: 296 | "@babel/helper-plugin-utils" "^7.0.0" 297 | 298 | "@babel/plugin-syntax-object-rest-spread@^7.7.4": 299 | version "7.7.4" 300 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46" 301 | integrity sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg== 302 | dependencies: 303 | "@babel/helper-plugin-utils" "^7.0.0" 304 | 305 | "@babel/plugin-syntax-optional-catch-binding@^7.7.4": 306 | version "7.7.4" 307 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz#a3e38f59f4b6233867b4a92dcb0ee05b2c334aa6" 308 | integrity sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ== 309 | dependencies: 310 | "@babel/helper-plugin-utils" "^7.0.0" 311 | 312 | "@babel/plugin-syntax-top-level-await@^7.7.4": 313 | version "7.7.4" 314 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz#bd7d8fa7b9fee793a36e4027fd6dd1aa32f946da" 315 | integrity sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg== 316 | dependencies: 317 | "@babel/helper-plugin-utils" "^7.0.0" 318 | 319 | "@babel/plugin-transform-arrow-functions@^7.7.4": 320 | version "7.7.4" 321 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz#76309bd578addd8aee3b379d809c802305a98a12" 322 | integrity sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA== 323 | dependencies: 324 | "@babel/helper-plugin-utils" "^7.0.0" 325 | 326 | "@babel/plugin-transform-async-to-generator@^7.7.4": 327 | version "7.7.4" 328 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz#694cbeae6d613a34ef0292713fa42fb45c4470ba" 329 | integrity sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg== 330 | dependencies: 331 | "@babel/helper-module-imports" "^7.7.4" 332 | "@babel/helper-plugin-utils" "^7.0.0" 333 | "@babel/helper-remap-async-to-generator" "^7.7.4" 334 | 335 | "@babel/plugin-transform-block-scoped-functions@^7.7.4": 336 | version "7.7.4" 337 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz#d0d9d5c269c78eaea76227ace214b8d01e4d837b" 338 | integrity sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ== 339 | dependencies: 340 | "@babel/helper-plugin-utils" "^7.0.0" 341 | 342 | "@babel/plugin-transform-block-scoping@^7.7.4": 343 | version "7.7.4" 344 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz#200aad0dcd6bb80372f94d9e628ea062c58bf224" 345 | integrity sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg== 346 | dependencies: 347 | "@babel/helper-plugin-utils" "^7.0.0" 348 | lodash "^4.17.13" 349 | 350 | "@babel/plugin-transform-classes@^7.7.4": 351 | version "7.7.4" 352 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz#c92c14be0a1399e15df72667067a8f510c9400ec" 353 | integrity sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg== 354 | dependencies: 355 | "@babel/helper-annotate-as-pure" "^7.7.4" 356 | "@babel/helper-define-map" "^7.7.4" 357 | "@babel/helper-function-name" "^7.7.4" 358 | "@babel/helper-optimise-call-expression" "^7.7.4" 359 | "@babel/helper-plugin-utils" "^7.0.0" 360 | "@babel/helper-replace-supers" "^7.7.4" 361 | "@babel/helper-split-export-declaration" "^7.7.4" 362 | globals "^11.1.0" 363 | 364 | "@babel/plugin-transform-computed-properties@^7.7.4": 365 | version "7.7.4" 366 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz#e856c1628d3238ffe12d668eb42559f79a81910d" 367 | integrity sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ== 368 | dependencies: 369 | "@babel/helper-plugin-utils" "^7.0.0" 370 | 371 | "@babel/plugin-transform-destructuring@^7.7.4": 372 | version "7.7.4" 373 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz#2b713729e5054a1135097b6a67da1b6fe8789267" 374 | integrity sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA== 375 | dependencies: 376 | "@babel/helper-plugin-utils" "^7.0.0" 377 | 378 | "@babel/plugin-transform-dotall-regex@^7.7.4": 379 | version "7.7.4" 380 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz#f7ccda61118c5b7a2599a72d5e3210884a021e96" 381 | integrity sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw== 382 | dependencies: 383 | "@babel/helper-create-regexp-features-plugin" "^7.7.4" 384 | "@babel/helper-plugin-utils" "^7.0.0" 385 | 386 | "@babel/plugin-transform-duplicate-keys@^7.7.4": 387 | version "7.7.4" 388 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz#3d21731a42e3f598a73835299dd0169c3b90ac91" 389 | integrity sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA== 390 | dependencies: 391 | "@babel/helper-plugin-utils" "^7.0.0" 392 | 393 | "@babel/plugin-transform-exponentiation-operator@^7.7.4": 394 | version "7.7.4" 395 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz#dd30c0191e3a1ba19bcc7e389bdfddc0729d5db9" 396 | integrity sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ== 397 | dependencies: 398 | "@babel/helper-builder-binary-assignment-operator-visitor" "^7.7.4" 399 | "@babel/helper-plugin-utils" "^7.0.0" 400 | 401 | "@babel/plugin-transform-for-of@^7.7.4": 402 | version "7.7.4" 403 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz#248800e3a5e507b1f103d8b4ca998e77c63932bc" 404 | integrity sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA== 405 | dependencies: 406 | "@babel/helper-plugin-utils" "^7.0.0" 407 | 408 | "@babel/plugin-transform-function-name@^7.7.4": 409 | version "7.7.4" 410 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz#75a6d3303d50db638ff8b5385d12451c865025b1" 411 | integrity sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g== 412 | dependencies: 413 | "@babel/helper-function-name" "^7.7.4" 414 | "@babel/helper-plugin-utils" "^7.0.0" 415 | 416 | "@babel/plugin-transform-literals@^7.7.4": 417 | version "7.7.4" 418 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz#27fe87d2b5017a2a5a34d1c41a6b9f6a6262643e" 419 | integrity sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw== 420 | dependencies: 421 | "@babel/helper-plugin-utils" "^7.0.0" 422 | 423 | "@babel/plugin-transform-member-expression-literals@^7.7.4": 424 | version "7.7.4" 425 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz#aee127f2f3339fc34ce5e3055d7ffbf7aa26f19a" 426 | integrity sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA== 427 | dependencies: 428 | "@babel/helper-plugin-utils" "^7.0.0" 429 | 430 | "@babel/plugin-transform-modules-amd@^7.7.4": 431 | version "7.7.4" 432 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz#276b3845ca2b228f2995e453adc2e6f54d72fb71" 433 | integrity sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ== 434 | dependencies: 435 | "@babel/helper-module-transforms" "^7.7.4" 436 | "@babel/helper-plugin-utils" "^7.0.0" 437 | babel-plugin-dynamic-import-node "^2.3.0" 438 | 439 | "@babel/plugin-transform-modules-commonjs@^7.7.4": 440 | version "7.7.4" 441 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz#bee4386e550446343dd52a571eda47851ff857a3" 442 | integrity sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA== 443 | dependencies: 444 | "@babel/helper-module-transforms" "^7.7.4" 445 | "@babel/helper-plugin-utils" "^7.0.0" 446 | "@babel/helper-simple-access" "^7.7.4" 447 | babel-plugin-dynamic-import-node "^2.3.0" 448 | 449 | "@babel/plugin-transform-modules-systemjs@^7.7.4": 450 | version "7.7.4" 451 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz#cd98152339d3e763dfe838b7d4273edaf520bb30" 452 | integrity sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw== 453 | dependencies: 454 | "@babel/helper-hoist-variables" "^7.7.4" 455 | "@babel/helper-plugin-utils" "^7.0.0" 456 | babel-plugin-dynamic-import-node "^2.3.0" 457 | 458 | "@babel/plugin-transform-modules-umd@^7.7.4": 459 | version "7.7.4" 460 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz#1027c355a118de0aae9fee00ad7813c584d9061f" 461 | integrity sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw== 462 | dependencies: 463 | "@babel/helper-module-transforms" "^7.7.4" 464 | "@babel/helper-plugin-utils" "^7.0.0" 465 | 466 | "@babel/plugin-transform-named-capturing-groups-regex@^7.7.4": 467 | version "7.7.4" 468 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz#fb3bcc4ee4198e7385805007373d6b6f42c98220" 469 | integrity sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw== 470 | dependencies: 471 | "@babel/helper-create-regexp-features-plugin" "^7.7.4" 472 | 473 | "@babel/plugin-transform-new-target@^7.7.4": 474 | version "7.7.4" 475 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz#4a0753d2d60639437be07b592a9e58ee00720167" 476 | integrity sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg== 477 | dependencies: 478 | "@babel/helper-plugin-utils" "^7.0.0" 479 | 480 | "@babel/plugin-transform-object-super@^7.7.4": 481 | version "7.7.4" 482 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz#48488937a2d586c0148451bf51af9d7dda567262" 483 | integrity sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg== 484 | dependencies: 485 | "@babel/helper-plugin-utils" "^7.0.0" 486 | "@babel/helper-replace-supers" "^7.7.4" 487 | 488 | "@babel/plugin-transform-parameters@^7.7.4": 489 | version "7.7.4" 490 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz#da4555c97f39b51ac089d31c7380f03bca4075ce" 491 | integrity sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw== 492 | dependencies: 493 | "@babel/helper-call-delegate" "^7.7.4" 494 | "@babel/helper-get-function-arity" "^7.7.4" 495 | "@babel/helper-plugin-utils" "^7.0.0" 496 | 497 | "@babel/plugin-transform-property-literals@^7.7.4": 498 | version "7.7.4" 499 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz#2388d6505ef89b266103f450f9167e6bd73f98c2" 500 | integrity sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ== 501 | dependencies: 502 | "@babel/helper-plugin-utils" "^7.0.0" 503 | 504 | "@babel/plugin-transform-regenerator@^7.7.4": 505 | version "7.7.4" 506 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz#d18eac0312a70152d7d914cbed2dc3999601cfc0" 507 | integrity sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw== 508 | dependencies: 509 | regenerator-transform "^0.14.0" 510 | 511 | "@babel/plugin-transform-reserved-words@^7.7.4": 512 | version "7.7.4" 513 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz#6a7cf123ad175bb5c69aec8f6f0770387ed3f1eb" 514 | integrity sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ== 515 | dependencies: 516 | "@babel/helper-plugin-utils" "^7.0.0" 517 | 518 | "@babel/plugin-transform-shorthand-properties@^7.7.4": 519 | version "7.7.4" 520 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz#74a0a9b2f6d67a684c6fbfd5f0458eb7ba99891e" 521 | integrity sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q== 522 | dependencies: 523 | "@babel/helper-plugin-utils" "^7.0.0" 524 | 525 | "@babel/plugin-transform-spread@^7.7.4": 526 | version "7.7.4" 527 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz#aa673b356fe6b7e70d69b6e33a17fef641008578" 528 | integrity sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q== 529 | dependencies: 530 | "@babel/helper-plugin-utils" "^7.0.0" 531 | 532 | "@babel/plugin-transform-sticky-regex@^7.7.4": 533 | version "7.7.4" 534 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz#ffb68c05090c30732076b1285dc1401b404a123c" 535 | integrity sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A== 536 | dependencies: 537 | "@babel/helper-plugin-utils" "^7.0.0" 538 | "@babel/helper-regex" "^7.0.0" 539 | 540 | "@babel/plugin-transform-template-literals@^7.7.4": 541 | version "7.7.4" 542 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz#1eb6411736dd3fe87dbd20cc6668e5121c17d604" 543 | integrity sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ== 544 | dependencies: 545 | "@babel/helper-annotate-as-pure" "^7.7.4" 546 | "@babel/helper-plugin-utils" "^7.0.0" 547 | 548 | "@babel/plugin-transform-typeof-symbol@^7.7.4": 549 | version "7.7.4" 550 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz#3174626214f2d6de322882e498a38e8371b2140e" 551 | integrity sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg== 552 | dependencies: 553 | "@babel/helper-plugin-utils" "^7.0.0" 554 | 555 | "@babel/plugin-transform-unicode-regex@^7.7.4": 556 | version "7.7.4" 557 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz#a3c0f65b117c4c81c5b6484f2a5e7b95346b83ae" 558 | integrity sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw== 559 | dependencies: 560 | "@babel/helper-create-regexp-features-plugin" "^7.7.4" 561 | "@babel/helper-plugin-utils" "^7.0.0" 562 | 563 | "@babel/polyfill@^7.7.0": 564 | version "7.7.0" 565 | resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.7.0.tgz#e1066e251e17606ec7908b05617f9b7f8180d8f3" 566 | integrity sha512-/TS23MVvo34dFmf8mwCisCbWGrfhbiWZSwBo6HkADTBhUa2Q/jWltyY/tpofz/b6/RIhqaqQcquptCirqIhOaQ== 567 | dependencies: 568 | core-js "^2.6.5" 569 | regenerator-runtime "^0.13.2" 570 | 571 | "@babel/preset-env@^7.7.4": 572 | version "7.7.4" 573 | resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.4.tgz#ccaf309ae8d1ee2409c85a4e2b5e280ceee830f8" 574 | integrity sha512-Dg+ciGJjwvC1NIe/DGblMbcGq1HOtKbw8RLl4nIjlfcILKEOkWT/vRqPpumswABEBVudii6dnVwrBtzD7ibm4g== 575 | dependencies: 576 | "@babel/helper-module-imports" "^7.7.4" 577 | "@babel/helper-plugin-utils" "^7.0.0" 578 | "@babel/plugin-proposal-async-generator-functions" "^7.7.4" 579 | "@babel/plugin-proposal-dynamic-import" "^7.7.4" 580 | "@babel/plugin-proposal-json-strings" "^7.7.4" 581 | "@babel/plugin-proposal-object-rest-spread" "^7.7.4" 582 | "@babel/plugin-proposal-optional-catch-binding" "^7.7.4" 583 | "@babel/plugin-proposal-unicode-property-regex" "^7.7.4" 584 | "@babel/plugin-syntax-async-generators" "^7.7.4" 585 | "@babel/plugin-syntax-dynamic-import" "^7.7.4" 586 | "@babel/plugin-syntax-json-strings" "^7.7.4" 587 | "@babel/plugin-syntax-object-rest-spread" "^7.7.4" 588 | "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" 589 | "@babel/plugin-syntax-top-level-await" "^7.7.4" 590 | "@babel/plugin-transform-arrow-functions" "^7.7.4" 591 | "@babel/plugin-transform-async-to-generator" "^7.7.4" 592 | "@babel/plugin-transform-block-scoped-functions" "^7.7.4" 593 | "@babel/plugin-transform-block-scoping" "^7.7.4" 594 | "@babel/plugin-transform-classes" "^7.7.4" 595 | "@babel/plugin-transform-computed-properties" "^7.7.4" 596 | "@babel/plugin-transform-destructuring" "^7.7.4" 597 | "@babel/plugin-transform-dotall-regex" "^7.7.4" 598 | "@babel/plugin-transform-duplicate-keys" "^7.7.4" 599 | "@babel/plugin-transform-exponentiation-operator" "^7.7.4" 600 | "@babel/plugin-transform-for-of" "^7.7.4" 601 | "@babel/plugin-transform-function-name" "^7.7.4" 602 | "@babel/plugin-transform-literals" "^7.7.4" 603 | "@babel/plugin-transform-member-expression-literals" "^7.7.4" 604 | "@babel/plugin-transform-modules-amd" "^7.7.4" 605 | "@babel/plugin-transform-modules-commonjs" "^7.7.4" 606 | "@babel/plugin-transform-modules-systemjs" "^7.7.4" 607 | "@babel/plugin-transform-modules-umd" "^7.7.4" 608 | "@babel/plugin-transform-named-capturing-groups-regex" "^7.7.4" 609 | "@babel/plugin-transform-new-target" "^7.7.4" 610 | "@babel/plugin-transform-object-super" "^7.7.4" 611 | "@babel/plugin-transform-parameters" "^7.7.4" 612 | "@babel/plugin-transform-property-literals" "^7.7.4" 613 | "@babel/plugin-transform-regenerator" "^7.7.4" 614 | "@babel/plugin-transform-reserved-words" "^7.7.4" 615 | "@babel/plugin-transform-shorthand-properties" "^7.7.4" 616 | "@babel/plugin-transform-spread" "^7.7.4" 617 | "@babel/plugin-transform-sticky-regex" "^7.7.4" 618 | "@babel/plugin-transform-template-literals" "^7.7.4" 619 | "@babel/plugin-transform-typeof-symbol" "^7.7.4" 620 | "@babel/plugin-transform-unicode-regex" "^7.7.4" 621 | "@babel/types" "^7.7.4" 622 | browserslist "^4.6.0" 623 | core-js-compat "^3.1.1" 624 | invariant "^2.2.2" 625 | js-levenshtein "^1.1.3" 626 | semver "^5.5.0" 627 | 628 | "@babel/register@^7.7.4": 629 | version "7.7.4" 630 | resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.7.4.tgz#45a4956471a9df3b012b747f5781cc084ee8f128" 631 | integrity sha512-/fmONZqL6ZMl9KJUYajetCrID6m0xmL4odX7v+Xvoxcv0DdbP/oO0TWIeLUCHqczQ6L6njDMqmqHFy2cp3FFsA== 632 | dependencies: 633 | find-cache-dir "^2.0.0" 634 | lodash "^4.17.13" 635 | make-dir "^2.1.0" 636 | pirates "^4.0.0" 637 | source-map-support "^0.5.16" 638 | 639 | "@babel/runtime@^7.7.2": 640 | version "7.7.4" 641 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.4.tgz#b23a856751e4bf099262f867767889c0e3fe175b" 642 | integrity sha512-r24eVUUr0QqNZa+qrImUk8fn5SPhHq+IfYvIoIMg0do3GdK9sMdiLKP3GYVVaxpPKORgm8KRKaNTEhAjgIpLMw== 643 | dependencies: 644 | regenerator-runtime "^0.13.2" 645 | 646 | "@babel/template@^7.7.4": 647 | version "7.7.4" 648 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.4.tgz#428a7d9eecffe27deac0a98e23bf8e3675d2a77b" 649 | integrity sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw== 650 | dependencies: 651 | "@babel/code-frame" "^7.0.0" 652 | "@babel/parser" "^7.7.4" 653 | "@babel/types" "^7.7.4" 654 | 655 | "@babel/traverse@^7.7.4": 656 | version "7.7.4" 657 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558" 658 | integrity sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw== 659 | dependencies: 660 | "@babel/code-frame" "^7.5.5" 661 | "@babel/generator" "^7.7.4" 662 | "@babel/helper-function-name" "^7.7.4" 663 | "@babel/helper-split-export-declaration" "^7.7.4" 664 | "@babel/parser" "^7.7.4" 665 | "@babel/types" "^7.7.4" 666 | debug "^4.1.0" 667 | globals "^11.1.0" 668 | lodash "^4.17.13" 669 | 670 | "@babel/types@^7.7.4": 671 | version "7.7.4" 672 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193" 673 | integrity sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA== 674 | dependencies: 675 | esutils "^2.0.2" 676 | lodash "^4.17.13" 677 | to-fast-properties "^2.0.0" 678 | 679 | "@jimp/bmp@^0.9.3": 680 | version "0.9.3" 681 | resolved "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.9.3.tgz#98eafc81674ce750f428ac9380007f1a4e90255e" 682 | integrity sha512-wXZYccgGQAsIK8DZX0wZE3gbSd2mL2+eheSJMts6I5hQjxhVRZd1Gwu425nUQGzfKCOgKYTW0nLv7/8OoOTTkw== 683 | dependencies: 684 | "@babel/runtime" "^7.7.2" 685 | "@jimp/utils" "^0.9.3" 686 | bmp-js "^0.1.0" 687 | core-js "^3.4.1" 688 | 689 | "@jimp/core@^0.9.3": 690 | version "0.9.3" 691 | resolved "https://registry.yarnpkg.com/@jimp/core/-/core-0.9.3.tgz#bffbf955c046569bf4b682b575228e31bb41e445" 692 | integrity sha512-kB9lvst1QhgYOC963SAuPgv+DdVfxTProphrSffAAoo5eLeQab/Ca3ZUeX1E/SnLSr+NGVnNCd8c9gyuKDiENg== 693 | dependencies: 694 | "@babel/runtime" "^7.7.2" 695 | "@jimp/utils" "^0.9.3" 696 | any-base "^1.1.0" 697 | buffer "^5.2.0" 698 | core-js "^3.4.1" 699 | exif-parser "^0.1.12" 700 | file-type "^9.0.0" 701 | load-bmfont "^1.3.1" 702 | mkdirp "0.5.1" 703 | phin "^2.9.1" 704 | pixelmatch "^4.0.2" 705 | tinycolor2 "^1.4.1" 706 | 707 | "@jimp/custom@^0.9.3": 708 | version "0.9.3" 709 | resolved "https://registry.yarnpkg.com/@jimp/custom/-/custom-0.9.3.tgz#b49dfe1d6b24e62fd4101a7db77104024c8d97e8" 710 | integrity sha512-2E7yabQMeqjcK8+ZFu3Ja5cWyrB0zv/pmzNSDg/BBPJ59HE0fj/qcERAz6VklcjHUYRUfmE5uODsb+4DE0o/YQ== 711 | dependencies: 712 | "@babel/runtime" "^7.7.2" 713 | "@jimp/core" "^0.9.3" 714 | core-js "^3.4.1" 715 | 716 | "@jimp/gif@^0.9.3": 717 | version "0.9.3" 718 | resolved "https://registry.yarnpkg.com/@jimp/gif/-/gif-0.9.3.tgz#b2b1a519092f94a913a955f252996f9a968930db" 719 | integrity sha512-DshKgMQ8lXorI/xTRyeRkZqZ3JqgnL2aGYAhx0SkAunyHgXji27chmrOGj/6KVDBucrDf/6mSexnSoUDnlWrfA== 720 | dependencies: 721 | "@babel/runtime" "^7.7.2" 722 | "@jimp/utils" "^0.9.3" 723 | core-js "^3.4.1" 724 | omggif "^1.0.9" 725 | 726 | "@jimp/jpeg@^0.9.3": 727 | version "0.9.3" 728 | resolved "https://registry.yarnpkg.com/@jimp/jpeg/-/jpeg-0.9.3.tgz#a759cb3bccf3cb163166873b9bdc0c949c5991b5" 729 | integrity sha512-AJzcTJXfN9BHtpzAbICwR3+GoH0pSr6OYXbAS6yuKwz+xVn9UHrEjQb74CIzIRqrT/VWcIKg29cMQxgokzWY7w== 730 | dependencies: 731 | "@babel/runtime" "^7.7.2" 732 | "@jimp/utils" "^0.9.3" 733 | core-js "^3.4.1" 734 | jpeg-js "^0.3.4" 735 | 736 | "@jimp/plugin-blit@^0.9.3": 737 | version "0.9.3" 738 | resolved "https://registry.yarnpkg.com/@jimp/plugin-blit/-/plugin-blit-0.9.3.tgz#740346ac62ec0f7ae4458f5fd59c7582e630a8e8" 739 | integrity sha512-+UxCsJ3XkRSdpigpTBJ9WkdwUc3OtBlhVZdU6OL6M9ldume5Gj3rTyWvMCqytOK1tZ/+7HmxoWe4IWX31hz9qA== 740 | dependencies: 741 | "@babel/runtime" "^7.7.2" 742 | "@jimp/utils" "^0.9.3" 743 | core-js "^3.4.1" 744 | 745 | "@jimp/plugin-blur@^0.9.3": 746 | version "0.9.3" 747 | resolved "https://registry.yarnpkg.com/@jimp/plugin-blur/-/plugin-blur-0.9.3.tgz#9df505aaa63de138060264cf83ed4a98304bf105" 748 | integrity sha512-RADcYjZ5vbk5ZrUiK7qv0G4xOpHtu19HWVVX9JTDbm4VByWTxPboVKlgiYLA6l+IxIXNtEqDclsADIM0s9FQhA== 749 | dependencies: 750 | "@babel/runtime" "^7.7.2" 751 | "@jimp/utils" "^0.9.3" 752 | core-js "^3.4.1" 753 | 754 | "@jimp/plugin-color@^0.9.3": 755 | version "0.9.3" 756 | resolved "https://registry.yarnpkg.com/@jimp/plugin-color/-/plugin-color-0.9.3.tgz#4a5ad28f68901355878f5330186c260f4f87f944" 757 | integrity sha512-gHDA5GVx4/R4fitEACKmWH7hNy0aU48MZWYRxmATvuqY39KidJ0fjwp+brQ3Ivgb35AgFVc2jQYc3U/JXv4RxQ== 758 | dependencies: 759 | "@babel/runtime" "^7.7.2" 760 | "@jimp/utils" "^0.9.3" 761 | core-js "^3.4.1" 762 | tinycolor2 "^1.4.1" 763 | 764 | "@jimp/plugin-contain@^0.9.3": 765 | version "0.9.3" 766 | resolved "https://registry.yarnpkg.com/@jimp/plugin-contain/-/plugin-contain-0.9.3.tgz#d0da9892edea25549611c88e125bfcc59045c426" 767 | integrity sha512-vdYAtp65LNDT/hMctow5o0a/SbD41/y7Z9AO7MGsfUIK92Woq90SNTWx7JplDl4HSZGrqaBONnfiEhRiYlDrdg== 768 | dependencies: 769 | "@babel/runtime" "^7.7.2" 770 | "@jimp/utils" "^0.9.3" 771 | core-js "^3.4.1" 772 | 773 | "@jimp/plugin-cover@^0.9.3": 774 | version "0.9.3" 775 | resolved "https://registry.yarnpkg.com/@jimp/plugin-cover/-/plugin-cover-0.9.3.tgz#2fca63620fcf8145bdecf315cf461588b09d9488" 776 | integrity sha512-yOwsvakgyS2/C4iZF1a1wg63QKfYvqb2d6k+rgY/0vaAe44JtEx+Gbg+7iOt4EaMm5BDlxRwmcA2Q8Pef8TvAQ== 777 | dependencies: 778 | "@babel/runtime" "^7.7.2" 779 | "@jimp/utils" "^0.9.3" 780 | core-js "^3.4.1" 781 | 782 | "@jimp/plugin-crop@^0.9.3": 783 | version "0.9.3" 784 | resolved "https://registry.yarnpkg.com/@jimp/plugin-crop/-/plugin-crop-0.9.3.tgz#9b19c11293714a99c03d4b517ab597a5f88823e8" 785 | integrity sha512-kqMXSyY8hrfo0idr6qY2USOWPrNqpDWs+D6Vwa+kV6SGJhj3rMTIcptQDaamIETSxbjkE8rwUu3K4Q5UD69D7w== 786 | dependencies: 787 | "@babel/runtime" "^7.7.2" 788 | "@jimp/utils" "^0.9.3" 789 | core-js "^3.4.1" 790 | 791 | "@jimp/plugin-displace@^0.9.3": 792 | version "0.9.3" 793 | resolved "https://registry.yarnpkg.com/@jimp/plugin-displace/-/plugin-displace-0.9.3.tgz#07645687b29ebc8a8491244410172795d511ba21" 794 | integrity sha512-0AdwxYRWDmJ2wIRIj2RR3sRmNjMhcy5Kwt9Jbi/RRnzxkRScZAiyzkNZhBul23EM7ClfjrUrZufuUvRMHxZRDw== 795 | dependencies: 796 | "@babel/runtime" "^7.7.2" 797 | "@jimp/utils" "^0.9.3" 798 | core-js "^3.4.1" 799 | 800 | "@jimp/plugin-dither@^0.9.3": 801 | version "0.9.3" 802 | resolved "https://registry.yarnpkg.com/@jimp/plugin-dither/-/plugin-dither-0.9.3.tgz#292b3ee617a5dcfe065d13b643055e910f8b6934" 803 | integrity sha512-8OE+Xak9xepiCwSV+oAsb/gupTnttG3aDKxtpSZjwHebnr+k1VG8NgICbMSFATTVJqqZ18oj6LC+5726qHUJ9w== 804 | dependencies: 805 | "@babel/runtime" "^7.7.2" 806 | "@jimp/utils" "^0.9.3" 807 | core-js "^3.4.1" 808 | 809 | "@jimp/plugin-flip@^0.9.3": 810 | version "0.9.3" 811 | resolved "https://registry.yarnpkg.com/@jimp/plugin-flip/-/plugin-flip-0.9.3.tgz#a755ffa1d860106067215987cbac213501d22b41" 812 | integrity sha512-w+lzE1ZF/UOjB8qJdeIm+dLQtOK1obZwGYdCIbgxZxw4SfkkjAftJdY8o8RNOXhHDZqGu+cYQZbMKP1zcoNkyQ== 813 | dependencies: 814 | "@babel/runtime" "^7.7.2" 815 | "@jimp/utils" "^0.9.3" 816 | core-js "^3.4.1" 817 | 818 | "@jimp/plugin-gaussian@^0.9.3": 819 | version "0.9.3" 820 | resolved "https://registry.yarnpkg.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.9.3.tgz#b10b5a5b4c37cb4edc3ed22a9b25294e68daf2f8" 821 | integrity sha512-RPrWwzlZsbWC2opSgeyWt30JU9Uwg1+GwBnoNpEMLKeqm0Dv6snASASa4zVtviGWAIq//p3Jrap7g57hKqL0Cg== 822 | dependencies: 823 | "@babel/runtime" "^7.7.2" 824 | "@jimp/utils" "^0.9.3" 825 | core-js "^3.4.1" 826 | 827 | "@jimp/plugin-invert@^0.9.3": 828 | version "0.9.3" 829 | resolved "https://registry.yarnpkg.com/@jimp/plugin-invert/-/plugin-invert-0.9.3.tgz#723a873133a1d62f9b93e023991f262c85917c78" 830 | integrity sha512-0lRsh7IPkzyYqExrZDT50h38xdlB/+KrdiDcuxWwWyIlKauLMR0kInjwf8sPeb3elPLeETmze7uwPAxrIAtsGQ== 831 | dependencies: 832 | "@babel/runtime" "^7.7.2" 833 | "@jimp/utils" "^0.9.3" 834 | core-js "^3.4.1" 835 | 836 | "@jimp/plugin-mask@^0.9.3": 837 | version "0.9.3" 838 | resolved "https://registry.yarnpkg.com/@jimp/plugin-mask/-/plugin-mask-0.9.3.tgz#6329ec861269244ab10ab9b3f54b1624c4ce0bab" 839 | integrity sha512-nZ0J62Hly9JtMZctlSDVgnTd8Fg2XGikzAYilSTCjzIRtbXL5Be/qSAZrMfLD3CZ8exTxdlEGRkEJI3RZKXYCw== 840 | dependencies: 841 | "@babel/runtime" "^7.7.2" 842 | "@jimp/utils" "^0.9.3" 843 | core-js "^3.4.1" 844 | 845 | "@jimp/plugin-normalize@^0.9.3": 846 | version "0.9.3" 847 | resolved "https://registry.yarnpkg.com/@jimp/plugin-normalize/-/plugin-normalize-0.9.3.tgz#564155032d1b9dc567dbb7427a85606a25427c30" 848 | integrity sha512-0IvgTt4R15QJnoCHvvqlK56zOtCsQV7Mkx757kdNah8uyPGjadTcFBuqCaOMK943X36IIv+o7Ix7yvNUJZt4aw== 849 | dependencies: 850 | "@babel/runtime" "^7.7.2" 851 | "@jimp/utils" "^0.9.3" 852 | core-js "^3.4.1" 853 | 854 | "@jimp/plugin-print@^0.9.3": 855 | version "0.9.3" 856 | resolved "https://registry.yarnpkg.com/@jimp/plugin-print/-/plugin-print-0.9.3.tgz#b4470137312232de9b35eaf412cd753f999c58d8" 857 | integrity sha512-pV6oX5Bhe9O/dbgrotz46Bv6u1M+/n9G0kRUunDjwzXrvON5raBFEJHQDPcTXiqPT25Gc9Ba4/Akfo/Zl6+wgQ== 858 | dependencies: 859 | "@babel/runtime" "^7.7.2" 860 | "@jimp/utils" "^0.9.3" 861 | core-js "^3.4.1" 862 | load-bmfont "^1.4.0" 863 | 864 | "@jimp/plugin-resize@^0.9.3": 865 | version "0.9.3" 866 | resolved "https://registry.yarnpkg.com/@jimp/plugin-resize/-/plugin-resize-0.9.3.tgz#916abd57c4f9b426984354c77555ade1efda7a82" 867 | integrity sha512-YzqVE8QoDIZpVuI52v+WejwEjEEiJfNFviQfprfm5af7uSSseZgDw1sJ0koqAu+liMSY+Ewp79v2SDrKoJKqtg== 868 | dependencies: 869 | "@babel/runtime" "^7.7.2" 870 | "@jimp/utils" "^0.9.3" 871 | core-js "^3.4.1" 872 | 873 | "@jimp/plugin-rotate@^0.9.3": 874 | version "0.9.3" 875 | resolved "https://registry.yarnpkg.com/@jimp/plugin-rotate/-/plugin-rotate-0.9.3.tgz#aa0d674c08726c0ae3ebc7f2adbfca0a927b1d9f" 876 | integrity sha512-kADY2pI3/yMyHbuyvKB4nqPoKf8DPQBU1b4zz2K7SxcwKh1krFf4Fa9mmhhDLoFwuNSy0SPb1JCMUO4BtFCFLA== 877 | dependencies: 878 | "@babel/runtime" "^7.7.2" 879 | "@jimp/utils" "^0.9.3" 880 | core-js "^3.4.1" 881 | 882 | "@jimp/plugin-scale@^0.9.3": 883 | version "0.9.3" 884 | resolved "https://registry.yarnpkg.com/@jimp/plugin-scale/-/plugin-scale-0.9.3.tgz#427fed7642883c27601aae33c25413980b6a2c50" 885 | integrity sha512-vZaiL5Qc+WrgGEfUe4Y0vG+qbT6pe2TW68/mu124E1tKVcZjHKZUeFN0Wr/hP2myN6nqTYj0/sord2OS/04JpA== 886 | dependencies: 887 | "@babel/runtime" "^7.7.2" 888 | "@jimp/utils" "^0.9.3" 889 | core-js "^3.4.1" 890 | 891 | "@jimp/plugins@^0.9.3": 892 | version "0.9.3" 893 | resolved "https://registry.yarnpkg.com/@jimp/plugins/-/plugins-0.9.3.tgz#bdff9d49484469c4d74ef47c2708e75773ca22b9" 894 | integrity sha512-KYCSgFGoZBNC0224X5yUnMHCZnCdUVrsu2Yo67o3XZfUgDjO81J+vdzZ0twpPQ6qLLVAP+nQ8hkRV/QzEUstMw== 895 | dependencies: 896 | "@babel/runtime" "^7.7.2" 897 | "@jimp/plugin-blit" "^0.9.3" 898 | "@jimp/plugin-blur" "^0.9.3" 899 | "@jimp/plugin-color" "^0.9.3" 900 | "@jimp/plugin-contain" "^0.9.3" 901 | "@jimp/plugin-cover" "^0.9.3" 902 | "@jimp/plugin-crop" "^0.9.3" 903 | "@jimp/plugin-displace" "^0.9.3" 904 | "@jimp/plugin-dither" "^0.9.3" 905 | "@jimp/plugin-flip" "^0.9.3" 906 | "@jimp/plugin-gaussian" "^0.9.3" 907 | "@jimp/plugin-invert" "^0.9.3" 908 | "@jimp/plugin-mask" "^0.9.3" 909 | "@jimp/plugin-normalize" "^0.9.3" 910 | "@jimp/plugin-print" "^0.9.3" 911 | "@jimp/plugin-resize" "^0.9.3" 912 | "@jimp/plugin-rotate" "^0.9.3" 913 | "@jimp/plugin-scale" "^0.9.3" 914 | core-js "^3.4.1" 915 | timm "^1.6.1" 916 | 917 | "@jimp/png@^0.9.3": 918 | version "0.9.3" 919 | resolved "https://registry.yarnpkg.com/@jimp/png/-/png-0.9.3.tgz#5c1bbb89b32e2332891a13efdb423e87287a8321" 920 | integrity sha512-LJXUemDTSbTGAGEp9hNQH0uTRSB8gYeE6FsfT3M00oZincu6/WzDzl0P8E95rMjNxZqAihdTyOP3+kcrbbqX+w== 921 | dependencies: 922 | "@babel/runtime" "^7.7.2" 923 | "@jimp/utils" "^0.9.3" 924 | core-js "^3.4.1" 925 | pngjs "^3.3.3" 926 | 927 | "@jimp/tiff@^0.9.3": 928 | version "0.9.3" 929 | resolved "https://registry.yarnpkg.com/@jimp/tiff/-/tiff-0.9.3.tgz#a4498c0616fb24034f5512b159b75b0aea389e9c" 930 | integrity sha512-w9H6dT+GDHN//Srsv27JhRn7R2byzUahOGfFw7KpIn95jg0ogcxjKTo/RAGQC56sr4U092e4Npl7E85Lt934WQ== 931 | dependencies: 932 | "@babel/runtime" "^7.7.2" 933 | core-js "^3.4.1" 934 | utif "^2.0.1" 935 | 936 | "@jimp/types@^0.9.3": 937 | version "0.9.3" 938 | resolved "https://registry.yarnpkg.com/@jimp/types/-/types-0.9.3.tgz#75337245a1a8c7c84a414beca3cfeded338c0ef1" 939 | integrity sha512-hUJKoT2IhnbO/trxNWzN19n8g+p7aKbM1R+71n4wMZnD41PzrVtz+sBBCdB+JCjBJs/i7fJt4d9z0i3Xe8m7Zw== 940 | dependencies: 941 | "@babel/runtime" "^7.7.2" 942 | "@jimp/bmp" "^0.9.3" 943 | "@jimp/gif" "^0.9.3" 944 | "@jimp/jpeg" "^0.9.3" 945 | "@jimp/png" "^0.9.3" 946 | "@jimp/tiff" "^0.9.3" 947 | core-js "^3.4.1" 948 | timm "^1.6.1" 949 | 950 | "@jimp/utils@^0.9.3": 951 | version "0.9.3" 952 | resolved "https://registry.yarnpkg.com/@jimp/utils/-/utils-0.9.3.tgz#fd7af0d1138febbeacc841be4b802218444ce088" 953 | integrity sha512-9D2Of6BcjYONtl77YfmU2y5aRMLe0/O2e2aQvfCxdNwD33jRdwNdN4i3m73dpiClNquApIjL4nYGhTixA4UstA== 954 | dependencies: 955 | "@babel/runtime" "^7.7.2" 956 | core-js "^3.4.1" 957 | 958 | ansi-regex@^2.0.0: 959 | version "2.1.1" 960 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 961 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 962 | 963 | ansi-regex@^3.0.0: 964 | version "3.0.0" 965 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 966 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 967 | 968 | ansi-styles@^3.2.1: 969 | version "3.2.1" 970 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 971 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 972 | dependencies: 973 | color-convert "^1.9.0" 974 | 975 | any-base@^1.1.0: 976 | version "1.1.0" 977 | resolved "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe" 978 | integrity sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg== 979 | 980 | aproba@^1.0.3: 981 | version "1.2.0" 982 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 983 | integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== 984 | 985 | babel-plugin-dynamic-import-node@^2.3.0: 986 | version "2.3.0" 987 | resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" 988 | integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== 989 | dependencies: 990 | object.assign "^4.1.0" 991 | 992 | balanced-match@^1.0.0: 993 | version "1.0.0" 994 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 995 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 996 | 997 | base64-js@^1.0.2: 998 | version "1.3.1" 999 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" 1000 | integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== 1001 | 1002 | bluebird@^3.7.2: 1003 | version "3.7.2" 1004 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" 1005 | integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== 1006 | 1007 | bmp-js@^0.1.0: 1008 | version "0.1.0" 1009 | resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233" 1010 | integrity sha1-4Fpj95amwf8l9Hcex62twUjAcjM= 1011 | 1012 | brace-expansion@^1.1.7: 1013 | version "1.1.11" 1014 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 1015 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 1016 | dependencies: 1017 | balanced-match "^1.0.0" 1018 | concat-map "0.0.1" 1019 | 1020 | browserslist@^4.6.0, browserslist@^4.8.0: 1021 | version "4.8.0" 1022 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.0.tgz#6f06b0f974a7cc3a84babc2ccc56493668e3c789" 1023 | integrity sha512-HYnxc/oLRWvJ3TsGegR0SRL/UDnknGq2s/a8dYYEO+kOQ9m9apKoS5oiathLKZdh/e9uE+/J3j92qPlGD/vTqA== 1024 | dependencies: 1025 | caniuse-lite "^1.0.30001012" 1026 | electron-to-chromium "^1.3.317" 1027 | node-releases "^1.1.41" 1028 | 1029 | buffer-equal@0.0.1: 1030 | version "0.0.1" 1031 | resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" 1032 | integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs= 1033 | 1034 | buffer-from@^1.0.0: 1035 | version "1.1.1" 1036 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 1037 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 1038 | 1039 | buffer@^5.2.0: 1040 | version "5.4.3" 1041 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" 1042 | integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A== 1043 | dependencies: 1044 | base64-js "^1.0.2" 1045 | ieee754 "^1.1.4" 1046 | 1047 | caniuse-lite@^1.0.30001012: 1048 | version "1.0.30001015" 1049 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz#15a7ddf66aba786a71d99626bc8f2b91c6f0f5f0" 1050 | integrity sha512-/xL2AbW/XWHNu1gnIrO8UitBGoFthcsDgU9VLK1/dpsoxbaD5LscHozKze05R6WLsBvLhqv78dAPozMFQBYLbQ== 1051 | 1052 | chalk@^2.0.0: 1053 | version "2.4.2" 1054 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 1055 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 1056 | dependencies: 1057 | ansi-styles "^3.2.1" 1058 | escape-string-regexp "^1.0.5" 1059 | supports-color "^5.3.0" 1060 | 1061 | code-point-at@^1.0.0: 1062 | version "1.1.0" 1063 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 1064 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 1065 | 1066 | color-convert@^1.9.0: 1067 | version "1.9.3" 1068 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1069 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1070 | dependencies: 1071 | color-name "1.1.3" 1072 | 1073 | color-name@1.1.3: 1074 | version "1.1.3" 1075 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1076 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 1077 | 1078 | colors@^1.4.0: 1079 | version "1.4.0" 1080 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" 1081 | integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== 1082 | 1083 | commander@^4.0.1: 1084 | version "4.0.1" 1085 | resolved "https://registry.yarnpkg.com/commander/-/commander-4.0.1.tgz#b67622721785993182e807f4883633e6401ba53c" 1086 | integrity sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA== 1087 | 1088 | commondir@^1.0.1: 1089 | version "1.0.1" 1090 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 1091 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 1092 | 1093 | concat-map@0.0.1: 1094 | version "0.0.1" 1095 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1096 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 1097 | 1098 | console-control-strings@^1.0.0: 1099 | version "1.1.0" 1100 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 1101 | integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= 1102 | 1103 | convert-source-map@^1.7.0: 1104 | version "1.7.0" 1105 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" 1106 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== 1107 | dependencies: 1108 | safe-buffer "~5.1.1" 1109 | 1110 | core-js-compat@^3.1.1: 1111 | version "3.4.7" 1112 | resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.4.7.tgz#39f8080b1d92a524d6d90505c42b9c5c1eb90611" 1113 | integrity sha512-57+mgz/P/xsGdjwQYkwtBZR3LuISaxD1dEwVDtbk8xJMqAmwqaxLOvnNT7kdJ7jYE/NjNptyzXi+IQFMi/2fCw== 1114 | dependencies: 1115 | browserslist "^4.8.0" 1116 | semver "^6.3.0" 1117 | 1118 | core-js@^2.6.5: 1119 | version "2.6.10" 1120 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" 1121 | integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== 1122 | 1123 | core-js@^3.4.1: 1124 | version "3.4.7" 1125 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.4.7.tgz#57c35937da80fe494fbc3adcf9cf3dc00eb86b34" 1126 | integrity sha512-qaPVGw30J1wQ0GR3GvoPqlGf9GZfKKF4kFC7kiHlcsPTqH3txrs9crCp3ZiMAXuSenhz89Jnl4GZs/67S5VOSg== 1127 | 1128 | cross-env@^6.0.3: 1129 | version "6.0.3" 1130 | resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941" 1131 | integrity sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag== 1132 | dependencies: 1133 | cross-spawn "^7.0.0" 1134 | 1135 | cross-spawn@^7.0.0: 1136 | version "7.0.1" 1137 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" 1138 | integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== 1139 | dependencies: 1140 | path-key "^3.1.0" 1141 | shebang-command "^2.0.0" 1142 | which "^2.0.1" 1143 | 1144 | debug@^4.1.0: 1145 | version "4.1.1" 1146 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 1147 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 1148 | dependencies: 1149 | ms "^2.1.1" 1150 | 1151 | define-properties@^1.1.2, define-properties@^1.1.3: 1152 | version "1.1.3" 1153 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 1154 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 1155 | dependencies: 1156 | object-keys "^1.0.12" 1157 | 1158 | dom-walk@^0.1.0: 1159 | version "0.1.1" 1160 | resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" 1161 | integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= 1162 | 1163 | electron-to-chromium@^1.3.317: 1164 | version "1.3.322" 1165 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8" 1166 | integrity sha512-Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA== 1167 | 1168 | es-abstract@^1.5.1: 1169 | version "1.16.3" 1170 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.3.tgz#52490d978f96ff9f89ec15b5cf244304a5bca161" 1171 | integrity sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw== 1172 | dependencies: 1173 | es-to-primitive "^1.2.1" 1174 | function-bind "^1.1.1" 1175 | has "^1.0.3" 1176 | has-symbols "^1.0.1" 1177 | is-callable "^1.1.4" 1178 | is-regex "^1.0.4" 1179 | object-inspect "^1.7.0" 1180 | object-keys "^1.1.1" 1181 | string.prototype.trimleft "^2.1.0" 1182 | string.prototype.trimright "^2.1.0" 1183 | 1184 | es-to-primitive@^1.2.1: 1185 | version "1.2.1" 1186 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 1187 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 1188 | dependencies: 1189 | is-callable "^1.1.4" 1190 | is-date-object "^1.0.1" 1191 | is-symbol "^1.0.2" 1192 | 1193 | escape-string-regexp@^1.0.5: 1194 | version "1.0.5" 1195 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1196 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1197 | 1198 | esutils@^2.0.2: 1199 | version "2.0.3" 1200 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1201 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1202 | 1203 | exif-parser@^0.1.12: 1204 | version "0.1.12" 1205 | resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922" 1206 | integrity sha1-WKnS1ywCwfbwKg70qRZicrd2CSI= 1207 | 1208 | file-type@^9.0.0: 1209 | version "9.0.0" 1210 | resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18" 1211 | integrity sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw== 1212 | 1213 | find-cache-dir@^2.0.0: 1214 | version "2.1.0" 1215 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" 1216 | integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== 1217 | dependencies: 1218 | commondir "^1.0.1" 1219 | make-dir "^2.0.0" 1220 | pkg-dir "^3.0.0" 1221 | 1222 | find-up@^3.0.0: 1223 | version "3.0.0" 1224 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 1225 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 1226 | dependencies: 1227 | locate-path "^3.0.0" 1228 | 1229 | fs-extra@^8.1.0: 1230 | version "8.1.0" 1231 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" 1232 | integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== 1233 | dependencies: 1234 | graceful-fs "^4.2.0" 1235 | jsonfile "^4.0.0" 1236 | universalify "^0.1.0" 1237 | 1238 | fs.realpath@^1.0.0: 1239 | version "1.0.0" 1240 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1241 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1242 | 1243 | function-bind@^1.1.1: 1244 | version "1.1.1" 1245 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1246 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1247 | 1248 | gauge@^2.7.4: 1249 | version "2.7.4" 1250 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1251 | integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= 1252 | dependencies: 1253 | aproba "^1.0.3" 1254 | console-control-strings "^1.0.0" 1255 | has-unicode "^2.0.0" 1256 | object-assign "^4.1.0" 1257 | signal-exit "^3.0.0" 1258 | string-width "^1.0.1" 1259 | strip-ansi "^3.0.1" 1260 | wide-align "^1.1.0" 1261 | 1262 | glob@^7.0.0: 1263 | version "7.1.6" 1264 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1265 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 1266 | dependencies: 1267 | fs.realpath "^1.0.0" 1268 | inflight "^1.0.4" 1269 | inherits "2" 1270 | minimatch "^3.0.4" 1271 | once "^1.3.0" 1272 | path-is-absolute "^1.0.0" 1273 | 1274 | global@~4.3.0: 1275 | version "4.3.2" 1276 | resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" 1277 | integrity sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8= 1278 | dependencies: 1279 | min-document "^2.19.0" 1280 | process "~0.5.1" 1281 | 1282 | globals@^11.1.0: 1283 | version "11.12.0" 1284 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1285 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1286 | 1287 | graceful-fs@^4.1.11, graceful-fs@^4.1.6, graceful-fs@^4.2.0: 1288 | version "4.2.3" 1289 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" 1290 | integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== 1291 | 1292 | has-flag@^3.0.0: 1293 | version "3.0.0" 1294 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1295 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1296 | 1297 | has-symbols@^1.0.0, has-symbols@^1.0.1: 1298 | version "1.0.1" 1299 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 1300 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 1301 | 1302 | has-unicode@^2.0.0: 1303 | version "2.0.1" 1304 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1305 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= 1306 | 1307 | has@^1.0.1, has@^1.0.3: 1308 | version "1.0.3" 1309 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1310 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1311 | dependencies: 1312 | function-bind "^1.1.1" 1313 | 1314 | ieee754@^1.1.4: 1315 | version "1.1.13" 1316 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" 1317 | integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== 1318 | 1319 | inflight@^1.0.4: 1320 | version "1.0.6" 1321 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1322 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1323 | dependencies: 1324 | once "^1.3.0" 1325 | wrappy "1" 1326 | 1327 | inherits@2: 1328 | version "2.0.4" 1329 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1330 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1331 | 1332 | interpret@^1.0.0: 1333 | version "1.2.0" 1334 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" 1335 | integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== 1336 | 1337 | invariant@^2.2.2: 1338 | version "2.2.4" 1339 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 1340 | integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== 1341 | dependencies: 1342 | loose-envify "^1.0.0" 1343 | 1344 | is-callable@^1.1.4: 1345 | version "1.1.4" 1346 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 1347 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== 1348 | 1349 | is-date-object@^1.0.1: 1350 | version "1.0.1" 1351 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 1352 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 1353 | 1354 | is-fullwidth-code-point@^1.0.0: 1355 | version "1.0.0" 1356 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1357 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 1358 | dependencies: 1359 | number-is-nan "^1.0.0" 1360 | 1361 | is-fullwidth-code-point@^2.0.0: 1362 | version "2.0.0" 1363 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1364 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1365 | 1366 | is-function@^1.0.1: 1367 | version "1.0.1" 1368 | resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" 1369 | integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU= 1370 | 1371 | is-regex@^1.0.4: 1372 | version "1.0.4" 1373 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 1374 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= 1375 | dependencies: 1376 | has "^1.0.1" 1377 | 1378 | is-symbol@^1.0.2: 1379 | version "1.0.3" 1380 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 1381 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== 1382 | dependencies: 1383 | has-symbols "^1.0.1" 1384 | 1385 | isexe@^2.0.0: 1386 | version "2.0.0" 1387 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1388 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1389 | 1390 | jimp@^0.9.3: 1391 | version "0.9.3" 1392 | resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.9.3.tgz#85e8e80eea65a7e6de806c6bb622ec6a7244e6f3" 1393 | integrity sha512-dIxvT1OMRkd3+B18XUhJ5WZ2Dw7Hp8mvjaTqfi945zZ7fga6LT22h3NLYDorHHAiy9z30KjfNnOgpBoxrdjDZg== 1394 | dependencies: 1395 | "@babel/runtime" "^7.7.2" 1396 | "@jimp/custom" "^0.9.3" 1397 | "@jimp/plugins" "^0.9.3" 1398 | "@jimp/types" "^0.9.3" 1399 | core-js "^3.4.1" 1400 | regenerator-runtime "^0.13.3" 1401 | 1402 | jpeg-js@^0.3.4: 1403 | version "0.3.6" 1404 | resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.6.tgz#c40382aac9506e7d1f2d856eb02f6c7b2a98b37c" 1405 | integrity sha512-MUj2XlMB8kpe+8DJUGH/3UJm4XpI8XEgZQ+CiHDeyrGoKPdW/8FJv6ku+3UiYm5Fz3CWaL+iXmD8Q4Ap6aC1Jw== 1406 | 1407 | js-levenshtein@^1.1.3: 1408 | version "1.1.6" 1409 | resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" 1410 | integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== 1411 | 1412 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1413 | version "4.0.0" 1414 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1415 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1416 | 1417 | jsesc@^2.5.1: 1418 | version "2.5.2" 1419 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1420 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1421 | 1422 | jsesc@~0.5.0: 1423 | version "0.5.0" 1424 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 1425 | integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= 1426 | 1427 | json5@^2.1.0: 1428 | version "2.1.1" 1429 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" 1430 | integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== 1431 | dependencies: 1432 | minimist "^1.2.0" 1433 | 1434 | jsonfile@^4.0.0: 1435 | version "4.0.0" 1436 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 1437 | integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= 1438 | optionalDependencies: 1439 | graceful-fs "^4.1.6" 1440 | 1441 | klaw-sync@^6.0.0: 1442 | version "6.0.0" 1443 | resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" 1444 | integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== 1445 | dependencies: 1446 | graceful-fs "^4.1.11" 1447 | 1448 | load-bmfont@^1.3.1, load-bmfont@^1.4.0: 1449 | version "1.4.0" 1450 | resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.0.tgz#75f17070b14a8c785fe7f5bee2e6fd4f98093b6b" 1451 | integrity sha512-kT63aTAlNhZARowaNYcY29Fn/QYkc52M3l6V1ifRcPewg2lvUZDAj7R6dXjOL9D0sict76op3T5+odumDSF81g== 1452 | dependencies: 1453 | buffer-equal "0.0.1" 1454 | mime "^1.3.4" 1455 | parse-bmfont-ascii "^1.0.3" 1456 | parse-bmfont-binary "^1.0.5" 1457 | parse-bmfont-xml "^1.1.4" 1458 | phin "^2.9.1" 1459 | xhr "^2.0.1" 1460 | xtend "^4.0.0" 1461 | 1462 | locate-path@^3.0.0: 1463 | version "3.0.0" 1464 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 1465 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 1466 | dependencies: 1467 | p-locate "^3.0.0" 1468 | path-exists "^3.0.0" 1469 | 1470 | lodash@^4.17.13, lodash@^4.17.15: 1471 | version "4.17.15" 1472 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 1473 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== 1474 | 1475 | loose-envify@^1.0.0: 1476 | version "1.4.0" 1477 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1478 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1479 | dependencies: 1480 | js-tokens "^3.0.0 || ^4.0.0" 1481 | 1482 | make-dir@^2.0.0, make-dir@^2.1.0: 1483 | version "2.1.0" 1484 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" 1485 | integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== 1486 | dependencies: 1487 | pify "^4.0.1" 1488 | semver "^5.6.0" 1489 | 1490 | mime@^1.3.4: 1491 | version "1.6.0" 1492 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1493 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1494 | 1495 | min-document@^2.19.0: 1496 | version "2.19.0" 1497 | resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" 1498 | integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= 1499 | dependencies: 1500 | dom-walk "^0.1.0" 1501 | 1502 | minimatch@^3.0.4: 1503 | version "3.0.4" 1504 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1505 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1506 | dependencies: 1507 | brace-expansion "^1.1.7" 1508 | 1509 | minimist@0.0.8: 1510 | version "0.0.8" 1511 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1512 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 1513 | 1514 | minimist@^1.2.0: 1515 | version "1.2.0" 1516 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1517 | integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= 1518 | 1519 | mkdirp@0.5.1: 1520 | version "0.5.1" 1521 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1522 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 1523 | dependencies: 1524 | minimist "0.0.8" 1525 | 1526 | ms@^2.1.1: 1527 | version "2.1.2" 1528 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1529 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1530 | 1531 | node-modules-regexp@^1.0.0: 1532 | version "1.0.0" 1533 | resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" 1534 | integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= 1535 | 1536 | node-releases@^1.1.41: 1537 | version "1.1.42" 1538 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.42.tgz#a999f6a62f8746981f6da90627a8d2fc090bbad7" 1539 | integrity sha512-OQ/ESmUqGawI2PRX+XIRao44qWYBBfN54ImQYdWVTQqUckuejOg76ysSqDBK8NG3zwySRVnX36JwDQ6x+9GxzA== 1540 | dependencies: 1541 | semver "^6.3.0" 1542 | 1543 | number-is-nan@^1.0.0: 1544 | version "1.0.1" 1545 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1546 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 1547 | 1548 | object-assign@^4.1.0: 1549 | version "4.1.1" 1550 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1551 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1552 | 1553 | object-inspect@^1.7.0: 1554 | version "1.7.0" 1555 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" 1556 | integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== 1557 | 1558 | object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: 1559 | version "1.1.1" 1560 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1561 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1562 | 1563 | object.assign@^4.1.0: 1564 | version "4.1.0" 1565 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 1566 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 1567 | dependencies: 1568 | define-properties "^1.1.2" 1569 | function-bind "^1.1.1" 1570 | has-symbols "^1.0.0" 1571 | object-keys "^1.0.11" 1572 | 1573 | object.getownpropertydescriptors@^2.0.3: 1574 | version "2.0.3" 1575 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" 1576 | integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= 1577 | dependencies: 1578 | define-properties "^1.1.2" 1579 | es-abstract "^1.5.1" 1580 | 1581 | omggif@^1.0.9: 1582 | version "1.0.10" 1583 | resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19" 1584 | integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw== 1585 | 1586 | once@^1.3.0: 1587 | version "1.4.0" 1588 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1589 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1590 | dependencies: 1591 | wrappy "1" 1592 | 1593 | p-limit@^2.0.0: 1594 | version "2.2.1" 1595 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" 1596 | integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== 1597 | dependencies: 1598 | p-try "^2.0.0" 1599 | 1600 | p-locate@^3.0.0: 1601 | version "3.0.0" 1602 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 1603 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 1604 | dependencies: 1605 | p-limit "^2.0.0" 1606 | 1607 | p-try@^2.0.0: 1608 | version "2.2.0" 1609 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1610 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1611 | 1612 | pako@^1.0.5: 1613 | version "1.0.10" 1614 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" 1615 | integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== 1616 | 1617 | parse-bmfont-ascii@^1.0.3: 1618 | version "1.0.6" 1619 | resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285" 1620 | integrity sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU= 1621 | 1622 | parse-bmfont-binary@^1.0.5: 1623 | version "1.0.6" 1624 | resolved "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006" 1625 | integrity sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY= 1626 | 1627 | parse-bmfont-xml@^1.1.4: 1628 | version "1.1.4" 1629 | resolved "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz#015319797e3e12f9e739c4d513872cd2fa35f389" 1630 | integrity sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ== 1631 | dependencies: 1632 | xml-parse-from-string "^1.0.0" 1633 | xml2js "^0.4.5" 1634 | 1635 | parse-headers@^2.0.0: 1636 | version "2.0.3" 1637 | resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.3.tgz#5e8e7512383d140ba02f0c7aa9f49b4399c92515" 1638 | integrity sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA== 1639 | 1640 | path-exists@^3.0.0: 1641 | version "3.0.0" 1642 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1643 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 1644 | 1645 | path-is-absolute@^1.0.0: 1646 | version "1.0.1" 1647 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1648 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1649 | 1650 | path-key@^3.1.0: 1651 | version "3.1.1" 1652 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1653 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1654 | 1655 | path-parse@^1.0.6: 1656 | version "1.0.6" 1657 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 1658 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 1659 | 1660 | phin@^2.9.1: 1661 | version "2.9.3" 1662 | resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c" 1663 | integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA== 1664 | 1665 | pify@^4.0.1: 1666 | version "4.0.1" 1667 | resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 1668 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== 1669 | 1670 | pirates@^4.0.0: 1671 | version "4.0.1" 1672 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" 1673 | integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== 1674 | dependencies: 1675 | node-modules-regexp "^1.0.0" 1676 | 1677 | pixelmatch@^4.0.2: 1678 | version "4.0.2" 1679 | resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" 1680 | integrity sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ= 1681 | dependencies: 1682 | pngjs "^3.0.0" 1683 | 1684 | pkg-dir@^3.0.0: 1685 | version "3.0.0" 1686 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" 1687 | integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== 1688 | dependencies: 1689 | find-up "^3.0.0" 1690 | 1691 | pngjs@^3.0.0, pngjs@^3.3.3: 1692 | version "3.4.0" 1693 | resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" 1694 | integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== 1695 | 1696 | private@^0.1.6: 1697 | version "0.1.8" 1698 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 1699 | integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== 1700 | 1701 | process@~0.5.1: 1702 | version "0.5.2" 1703 | resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" 1704 | integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= 1705 | 1706 | rechoir@^0.6.2: 1707 | version "0.6.2" 1708 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 1709 | integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= 1710 | dependencies: 1711 | resolve "^1.1.6" 1712 | 1713 | regenerate-unicode-properties@^8.1.0: 1714 | version "8.1.0" 1715 | resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" 1716 | integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== 1717 | dependencies: 1718 | regenerate "^1.4.0" 1719 | 1720 | regenerate@^1.4.0: 1721 | version "1.4.0" 1722 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" 1723 | integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== 1724 | 1725 | regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.3: 1726 | version "0.13.3" 1727 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" 1728 | integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== 1729 | 1730 | regenerator-transform@^0.14.0: 1731 | version "0.14.1" 1732 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" 1733 | integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== 1734 | dependencies: 1735 | private "^0.1.6" 1736 | 1737 | regexpu-core@^4.6.0: 1738 | version "4.6.0" 1739 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" 1740 | integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== 1741 | dependencies: 1742 | regenerate "^1.4.0" 1743 | regenerate-unicode-properties "^8.1.0" 1744 | regjsgen "^0.5.0" 1745 | regjsparser "^0.6.0" 1746 | unicode-match-property-ecmascript "^1.0.4" 1747 | unicode-match-property-value-ecmascript "^1.1.0" 1748 | 1749 | regjsgen@^0.5.0: 1750 | version "0.5.1" 1751 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" 1752 | integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== 1753 | 1754 | regjsparser@^0.6.0: 1755 | version "0.6.0" 1756 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" 1757 | integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== 1758 | dependencies: 1759 | jsesc "~0.5.0" 1760 | 1761 | resolve@^1.1.6, resolve@^1.3.2: 1762 | version "1.13.1" 1763 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.13.1.tgz#be0aa4c06acd53083505abb35f4d66932ab35d16" 1764 | integrity sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w== 1765 | dependencies: 1766 | path-parse "^1.0.6" 1767 | 1768 | safe-buffer@~5.1.1: 1769 | version "5.1.2" 1770 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1771 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1772 | 1773 | sax@>=0.6.0: 1774 | version "1.2.4" 1775 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 1776 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== 1777 | 1778 | semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: 1779 | version "5.7.1" 1780 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1781 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1782 | 1783 | semver@^6.3.0: 1784 | version "6.3.0" 1785 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1786 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1787 | 1788 | shebang-command@^2.0.0: 1789 | version "2.0.0" 1790 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1791 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1792 | dependencies: 1793 | shebang-regex "^3.0.0" 1794 | 1795 | shebang-regex@^3.0.0: 1796 | version "3.0.0" 1797 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1798 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1799 | 1800 | shelljs@^0.8.3: 1801 | version "0.8.3" 1802 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" 1803 | integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== 1804 | dependencies: 1805 | glob "^7.0.0" 1806 | interpret "^1.0.0" 1807 | rechoir "^0.6.2" 1808 | 1809 | signal-exit@^3.0.0: 1810 | version "3.0.2" 1811 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1812 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 1813 | 1814 | source-map-support@^0.5.16: 1815 | version "0.5.16" 1816 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" 1817 | integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== 1818 | dependencies: 1819 | buffer-from "^1.0.0" 1820 | source-map "^0.6.0" 1821 | 1822 | source-map@^0.5.0: 1823 | version "0.5.7" 1824 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1825 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 1826 | 1827 | source-map@^0.6.0: 1828 | version "0.6.1" 1829 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1830 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1831 | 1832 | string-width@^1.0.1: 1833 | version "1.0.2" 1834 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 1835 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 1836 | dependencies: 1837 | code-point-at "^1.0.0" 1838 | is-fullwidth-code-point "^1.0.0" 1839 | strip-ansi "^3.0.0" 1840 | 1841 | "string-width@^1.0.2 || 2": 1842 | version "2.1.1" 1843 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1844 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1845 | dependencies: 1846 | is-fullwidth-code-point "^2.0.0" 1847 | strip-ansi "^4.0.0" 1848 | 1849 | string.prototype.trimleft@^2.1.0: 1850 | version "2.1.0" 1851 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" 1852 | integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== 1853 | dependencies: 1854 | define-properties "^1.1.3" 1855 | function-bind "^1.1.1" 1856 | 1857 | string.prototype.trimright@^2.1.0: 1858 | version "2.1.0" 1859 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" 1860 | integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== 1861 | dependencies: 1862 | define-properties "^1.1.3" 1863 | function-bind "^1.1.1" 1864 | 1865 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 1866 | version "3.0.1" 1867 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1868 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 1869 | dependencies: 1870 | ansi-regex "^2.0.0" 1871 | 1872 | strip-ansi@^4.0.0: 1873 | version "4.0.0" 1874 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1875 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1876 | dependencies: 1877 | ansi-regex "^3.0.0" 1878 | 1879 | supports-color@^5.3.0: 1880 | version "5.5.0" 1881 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1882 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1883 | dependencies: 1884 | has-flag "^3.0.0" 1885 | 1886 | timm@^1.6.1: 1887 | version "1.6.2" 1888 | resolved "https://registry.yarnpkg.com/timm/-/timm-1.6.2.tgz#dfd8c6719f7ba1fcfc6295a32670a1c6d166c0bd" 1889 | integrity sha512-IH3DYDL1wMUwmIlVmMrmesw5lZD6N+ZOAFWEyLrtpoL9Bcrs9u7M/vyOnHzDD2SMs4irLkVjqxZbHrXStS/Nmw== 1890 | 1891 | tinycolor2@^1.4.1: 1892 | version "1.4.1" 1893 | resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" 1894 | integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g= 1895 | 1896 | to-fast-properties@^2.0.0: 1897 | version "2.0.0" 1898 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1899 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1900 | 1901 | unicode-canonical-property-names-ecmascript@^1.0.4: 1902 | version "1.0.4" 1903 | resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" 1904 | integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== 1905 | 1906 | unicode-match-property-ecmascript@^1.0.4: 1907 | version "1.0.4" 1908 | resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" 1909 | integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== 1910 | dependencies: 1911 | unicode-canonical-property-names-ecmascript "^1.0.4" 1912 | unicode-property-aliases-ecmascript "^1.0.4" 1913 | 1914 | unicode-match-property-value-ecmascript@^1.1.0: 1915 | version "1.1.0" 1916 | resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" 1917 | integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== 1918 | 1919 | unicode-property-aliases-ecmascript@^1.0.4: 1920 | version "1.0.5" 1921 | resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" 1922 | integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== 1923 | 1924 | universalify@^0.1.0: 1925 | version "0.1.2" 1926 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 1927 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 1928 | 1929 | utif@^2.0.1: 1930 | version "2.0.1" 1931 | resolved "https://registry.yarnpkg.com/utif/-/utif-2.0.1.tgz#9e1582d9bbd20011a6588548ed3266298e711759" 1932 | integrity sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg== 1933 | dependencies: 1934 | pako "^1.0.5" 1935 | 1936 | util.promisify@~1.0.0: 1937 | version "1.0.0" 1938 | resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" 1939 | integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== 1940 | dependencies: 1941 | define-properties "^1.1.2" 1942 | object.getownpropertydescriptors "^2.0.3" 1943 | 1944 | which@^2.0.1: 1945 | version "2.0.2" 1946 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1947 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1948 | dependencies: 1949 | isexe "^2.0.0" 1950 | 1951 | wide-align@^1.1.0: 1952 | version "1.1.3" 1953 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 1954 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 1955 | dependencies: 1956 | string-width "^1.0.2 || 2" 1957 | 1958 | wrappy@1: 1959 | version "1.0.2" 1960 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1961 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1962 | 1963 | xhr@^2.0.1: 1964 | version "2.5.0" 1965 | resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" 1966 | integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ== 1967 | dependencies: 1968 | global "~4.3.0" 1969 | is-function "^1.0.1" 1970 | parse-headers "^2.0.0" 1971 | xtend "^4.0.0" 1972 | 1973 | xml-parse-from-string@^1.0.0: 1974 | version "1.0.1" 1975 | resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28" 1976 | integrity sha1-qQKekp09vN7RafPG4oI42VpdWig= 1977 | 1978 | xml2js@^0.4.5: 1979 | version "0.4.22" 1980 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.22.tgz#4fa2d846ec803237de86f30aa9b5f70b6600de02" 1981 | integrity sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw== 1982 | dependencies: 1983 | sax ">=0.6.0" 1984 | util.promisify "~1.0.0" 1985 | xmlbuilder "~11.0.0" 1986 | 1987 | xmlbuilder@~11.0.0: 1988 | version "11.0.1" 1989 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" 1990 | integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== 1991 | 1992 | xtend@^4.0.0: 1993 | version "4.0.2" 1994 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 1995 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 1996 | --------------------------------------------------------------------------------