From fb85f1551c91750d16b5f2e403f55fdd8d91dcb1 Mon Sep 17 00:00:00 2001 From: vinnivso Date: Fri, 29 Oct 2021 20:34:33 -0300 Subject: [PATCH 01/10] Feat: Process 1/3 --- semana20/projeto-Labook/.DS_Store | Bin 0 -> 6148 bytes semana20/projeto-Labook/README.md | 93 + semana20/projeto-Labook/package.json | 37 + .../src/business/PostBusiness.ts | 0 .../src/business/UserBusiness.ts | 4 + .../src/controller/PostController.ts | 1 + .../src/controller/UserController.ts | 39 + semana20/projeto-Labook/src/entities/Post.ts | 0 semana20/projeto-Labook/src/entities/User.ts | 14 + semana20/projeto-Labook/src/index.ts | 216 ++ semana20/projeto-Labook/src/migrations.ts | 23 + .../projeto-Labook/src/routes/postRouter.ts | 5 + .../projeto-Labook/src/routes/userRouter.ts | 6 + semana20/projeto-Labook/tsconfig.json | 69 + semana20/projeto-Labook/yarn.lock | 1939 +++++++++++++++++ 15 files changed, 2446 insertions(+) create mode 100644 semana20/projeto-Labook/.DS_Store create mode 100644 semana20/projeto-Labook/README.md create mode 100644 semana20/projeto-Labook/package.json create mode 100644 semana20/projeto-Labook/src/business/PostBusiness.ts create mode 100644 semana20/projeto-Labook/src/business/UserBusiness.ts create mode 100644 semana20/projeto-Labook/src/controller/PostController.ts create mode 100644 semana20/projeto-Labook/src/controller/UserController.ts create mode 100644 semana20/projeto-Labook/src/entities/Post.ts create mode 100644 semana20/projeto-Labook/src/entities/User.ts create mode 100644 semana20/projeto-Labook/src/index.ts create mode 100644 semana20/projeto-Labook/src/migrations.ts create mode 100644 semana20/projeto-Labook/src/routes/postRouter.ts create mode 100644 semana20/projeto-Labook/src/routes/userRouter.ts create mode 100644 semana20/projeto-Labook/tsconfig.json create mode 100644 semana20/projeto-Labook/yarn.lock diff --git a/semana20/projeto-Labook/.DS_Store b/semana20/projeto-Labook/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..feca8613504bcd7430524202412f605a970dd548 GIT binary patch literal 6148 zcmeH~JqiLr422VS3&Cbf%V|7-HyA`u-~~i21wpZ&qx41vI)z6#m+=T zbn`f`MFtU>!%bynVPcAXCwIBY>3lz3j@RpDteEA>YT$!Ro{xoGkN^pg011!)3H%HJ zJGWu;MJOW)kN^pc1nmD%;HEXTh5D}p!AAgSkF*=sK1)E0C7?C6g(3sfXoW_r`WRw) zZ-`o{NKSp&Hs}YZb^Uy{)~Y3 z+x>QfkIJ+4?ei>u$gHg!9O~r=FP8vp>?mHs-SE8F0$NjBC^9f!1RMhc34E2n6Mwc5 Aa{vGU literal 0 HcmV?d00001 diff --git a/semana20/projeto-Labook/README.md b/semana20/projeto-Labook/README.md new file mode 100644 index 0000000..b8ac9b0 --- /dev/null +++ b/semana20/projeto-Labook/README.md @@ -0,0 +1,93 @@ +# LABOOK + +## Primeiros Passos + +* Clonar este repositório +* Executar `npm install` para adicionar as dependências +* Criar um arquivo .env na raiz do projeto e preencher as chaves a seguir com os valores apropriados: + ``` + DB_HOST = + DB_USER = + DB_PASSWORD = + DB_SCHEMA = + + JWT_KEY = + + BCRYPT_COST = + ``` +* Executar `npm run migrations` para adicionar as tabelas ao banco de dados (em caso de sucesso, o servidor já estará pronto para receber requisições ) + +## Endpoints + +1. Cadastro + * Exemplo de requisição: + ```bash + curl -i -X POST http://localhost:3003/users/signup -H "Content-Type: application/json" -d '{"name":"Alice","email":"alice@gmail.com","password":"pass123"}' + ``` + * Exemplo de resposta (sucesso): + ```bash + HTTP/1.1 201 Created + X-Powered-By: Express + Access-Control-Allow-Origin: * + Content-Type: application/json; charset=utf-8 + Content-Length: 220 + ETag: W/"dc-ec7r4rkKsMBe/V0SGyUkO6Vyto0" + Date: Tue, 17 Nov 2020 14:33:15 GMT + Connection: keep-alive + + {"message":"Success!", "token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg5OGJjNDVlLTExZjEtNGEyMy04OTZhLTdmMmUyOWNmZTAxMiIsImlhdCI6MTYwNTYyMzU5NSwiZXhwIjoxNjA1NzA5OTk1fQ.pWxV2vtLnp0hKm0CXXnLpnDu6PEPkZM27A71oTTCYfE"}% + ``` +1. Login + * Exemplo de requisição: + ```bash + curl -i -X POST http://localhost:3003/users/login -H "Content-Type: application/json" -d '{"email":"alice@gmail.com","password":"pass123"}' + ``` + * Exemplo de resposta (sucesso): + ```bash + HTTP/1.1 200 OK + X-Powered-By: Express + Access-Control-Allow-Origin: * + Content-Type: application/json; charset=utf-8 + Content-Length: 220 + ETag: W/"dc-IBDYVXSmDzdFsqHXhPCAutzNwn8" + Date: Tue, 17 Nov 2020 14:39:23 GMT + Connection: keep-alive + + {"message":"Success!","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg5OGJjNDVlLTExZjEtNGEyMy04OTZhLTdmMmUyOWNmZTAxMiIsImlhdCI6MTYwNTYyMzk2MywiZXhwIjoxNjA1NzEwMzYzfQ.9JvXRQpazI5k6GAnc1lFcVcTbZ_ElASnwyybU_tRU48"}% + ``` +1. Criar Post + * Exemplo de requisição: + ```bash + curl -i -X POST http://localhost:3003/posts/create -H "Content-Type: application/json" -H "authorization:$token" -d '{"photo":"https://i.picsum.photos/id/238/200/200.jpg?hmac=O4Jc6lqHVfaKVzLf8bWssNTbWzQoaRUC0TDXod9xDdM","description":"My city is beautiful =D","type":"normal"}' + ``` + * Exemplo de resposta (sucesso): + ```bash + HTTP/1.1 201 Created + X-Powered-By: Express + Access-Control-Allow-Origin: * + Content-Type: application/json; charset=utf-8 + Content-Length: 22 + ETag: W/"16-ChcZhlw1slqtGuDwxLsUclql5gE" + Date: Tue, 17 Nov 2020 14:47:15 GMT + Connection: keep-alive + + {"message":"Success!"}% + ``` +1. Buscar Post por id + * Exemplo de requisição: + ```bash + curl -i http://localhost:3003/posts/$id -H "Content-Type: application/json" -H "authorization:$token" + ``` + * Exemplo de resposta (sucesso): + ```bash + HTTP/1.1 200 OK + X-Powered-By: Express + Access-Control-Allow-Origin: * + Content-Type: application/json; charset=utf-8 + Content-Length: 322 + ETag: W/"142-IYRwCODXZBltXE3MydHuIDB8M3w" + Date: Tue, 17 Nov 2020 14:52:19 GMT + Connection: keep-alive + + {"message":"Success!","post":{"id":"e4eb1531-d814-4742-b614-be2a36602548","photo":"https://i.picsum.photos/id/238/200/200.jpg?hmac=O4Jc6lqHVfaKVzLf8bWssNTbWzQoaRUC0TDXod9xDdM","description":"My city is beautiful =D","type":"normal","createdAt":"2020-11-17T17:47:15.000Z","authorId":"898bc45e-11f1-4a23-896a-7f2e29cfe012"}}% + ``` \ No newline at end of file diff --git a/semana20/projeto-Labook/package.json b/semana20/projeto-Labook/package.json new file mode 100644 index 0000000..c74fbe8 --- /dev/null +++ b/semana20/projeto-Labook/package.json @@ -0,0 +1,37 @@ +{ + "name": "projeto-labook-semana20", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "migrations": "tsc && node ./build/migrations.js", + "start": "npm run build && node --inspect ./build/src/index.js", + "dev": "clear && ts-node-dev ./src/index.ts", + "build": "clear && echo \"Transpiling files...\" && tsc && echo \"Done!\" ", + "test": "jest" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^8.2.0", + "express": "^4.17.1", + "jsonwebtoken": "^8.5.1", + "knex": "^0.21.5", + "mysql": "^2.18.1", + "uuid": "^8.3.0" + }, + "devDependencies": { + "@types/cors": "^2.8.7", + "@types/bcryptjs": "^2.4.2", + "@types/express": "^4.17.8", + "@types/jsonwebtoken": "^8.5.0", + "@types/knex": "^0.16.1", + "@types/node": "^14.11.2", + "@types/uuid": "^8.3.0", + "ts-node-dev": "^1.0.0-pre.63", + "typescript": "^4.0.3" + } +} diff --git a/semana20/projeto-Labook/src/business/PostBusiness.ts b/semana20/projeto-Labook/src/business/PostBusiness.ts new file mode 100644 index 0000000..e69de29 diff --git a/semana20/projeto-Labook/src/business/UserBusiness.ts b/semana20/projeto-Labook/src/business/UserBusiness.ts new file mode 100644 index 0000000..060363c --- /dev/null +++ b/semana20/projeto-Labook/src/business/UserBusiness.ts @@ -0,0 +1,4 @@ + +export default UserBusiness { + signup() +} \ No newline at end of file diff --git a/semana20/projeto-Labook/src/controller/PostController.ts b/semana20/projeto-Labook/src/controller/PostController.ts new file mode 100644 index 0000000..5c9c660 --- /dev/null +++ b/semana20/projeto-Labook/src/controller/PostController.ts @@ -0,0 +1 @@ +//Se tem req e res = Controller diff --git a/semana20/projeto-Labook/src/controller/UserController.ts b/semana20/projeto-Labook/src/controller/UserController.ts new file mode 100644 index 0000000..15a7b35 --- /dev/null +++ b/semana20/projeto-Labook/src/controller/UserController.ts @@ -0,0 +1,39 @@ +//Se tem req e res = Controller +import express from 'express' + +export default class UserController { + async signup(req: express.Request, res: express.Response) { + try { + let message = "Success!" + const { name, email, password } = req.body + + if (!name || !email || !password) { + res.statusCode = 406 + message = '"name", "email" and "password" must be provided' + throw new Error(message) + } + + const id: string = generateId() + + const cypherPassword = await hash(password); + + await connection('labook_users') + .insert({ + id, + name, + email, + password: cypherPassword + }) + + const token: string = generateToken({ id }) + + res.status(201).send({ message, token }) + + } catch (error:any) { + res.statusCode = 400 + let message = error.sqlMessage || error.message + + res.send({ message }) + } + } +} \ No newline at end of file diff --git a/semana20/projeto-Labook/src/entities/Post.ts b/semana20/projeto-Labook/src/entities/Post.ts new file mode 100644 index 0000000..e69de29 diff --git a/semana20/projeto-Labook/src/entities/User.ts b/semana20/projeto-Labook/src/entities/User.ts new file mode 100644 index 0000000..0139375 --- /dev/null +++ b/semana20/projeto-Labook/src/entities/User.ts @@ -0,0 +1,14 @@ +export interface authenticationData { + id: string +} + +export interface user { + id: string, + name: string, + email: string, + password: string +} + +export interface SignupInputDTO { + +} \ No newline at end of file diff --git a/semana20/projeto-Labook/src/index.ts b/semana20/projeto-Labook/src/index.ts new file mode 100644 index 0000000..e4b46b3 --- /dev/null +++ b/semana20/projeto-Labook/src/index.ts @@ -0,0 +1,216 @@ +/**************************** IMPORTS ******************************/ + +import express, { Express, Request, Response } from "express" +import cors from "cors" +import knex from "knex" +import dotenv from "dotenv" +import * as jwt from "jsonwebtoken" +import * as bcrypt from "bcryptjs" +import { v4 } from "uuid" +import Knex from "knex" + +/**************************** CONFIG ******************************/ + +dotenv.config() + +export const connection: Knex = knex({ + client: "mysql", + connection: { + host: process.env.DB_HOST, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_SCHEMA, + port: 3306, + multipleStatements: true + } +}) + +const app: Express = express() +app.use(express.json()) +app.use(cors()) + +/**************************** TYPES ******************************/ + +enum POST_TYPES { + NORMAL = "normal", + EVENT = "event" +} + +type post = { + id: string, + photo: string, + description: string, + type: POST_TYPES, + createdAt: Date, + authorId: string +} + +/**************************** SERVICES ******************************/ + +const generateId = (): string => v4() + +function generateToken( + payload: authenticationData +): string { + return jwt.sign( + payload, + process.env.JWT_KEY as string, + { + expiresIn: process.env.JWT_EXPIRES_IN + } + ) +} + +function getTokenData( + token: string +): authenticationData { + const result: any = jwt.verify( + token, + process.env.JWT_KEY as string + ) + + return { id: result.id, } +} + +const hash = async ( + plainText: string +): Promise => { + const rounds = Number(process.env.BCRYPT_COST); + const salt = await bcrypt.genSalt(rounds); + return bcrypt.hash(plainText, salt) +} + +const compare = async ( + plainText: string, cypherText: string +): Promise => { + return bcrypt.compare(plainText, cypherText) +} + +/**************************** ENDPOINTS ******************************/ + +app.post('/users/signup', async (req: Request, res: Response) => { + +}) + +app.post('/users/login', async (req: Request, res: Response) => { + try { + let message = "Success!" + + const { email, password } = req.body + + if (!email || !password) { + res.statusCode = 406 + message = '"email" and "password" must be provided' + throw new Error(message) + } + + const queryResult: any = await connection("labook_users") + .select("*") + .where({ email }) + + if (!queryResult[0]) { + res.statusCode = 401 + message = "Invalid credentials" + throw new Error(message) + } + + const user: user = { + id: queryResult[0].id, + name: queryResult[0].name, + email: queryResult[0].email, + password: queryResult[0].password + } + + const passwordIsCorrect: boolean = await compare(password, user.password) + + if (!passwordIsCorrect) { + res.statusCode = 401 + message = "Invalid credentials" + throw new Error(message) + } + + const token: string = generateToken({ + id: user.id + }) + + res.status(200).send({ message, token }) + + } catch (error:any) { + let message = error.sqlMessage || error.message + res.statusCode = 400 + + res.send({ message }) + } +}) + +app.post('/posts/create', async (req: Request, res: Response) => { + try { + let message = "Success!" + + const { photo, description, type } = req.body + + const token: string = req.headers.authorization as string + + const tokenData: authenticationData = getTokenData(token) + + const id: string = generateId() + + await connection("labook_posts") + .insert({ + id, + photo, + description, + type, + author_id: tokenData.id + }) + + res.status(201).send({ message }) + + } catch (error:any) { + let message = error.sqlMessage || error.message + res.statusCode = 400 + + res.send({ message }) + } +}) + +app.get('/posts/:id', async (req: Request, res: Response) => { + try { + let message = "Success!" + + const { id } = req.params + + const queryResult: any = await connection("labook_posts") + .select("*") + .where({ id }) + + if (!queryResult[0]) { + res.statusCode = 404 + message = "Post not found" + throw new Error(message) + } + + const post: post = { + id: queryResult[0].id, + photo: queryResult[0].photo, + description: queryResult[0].description, + type: queryResult[0].type, + createdAt: queryResult[0].created_at, + authorId: queryResult[0].author_id, + } + + res.status(200).send({ message, post }) + + } catch (error:any) { + let message = error.sqlMessage || error.message + res.statusCode = 400 + + res.send({ message }) + } +}) + +/**************************** SERVER INIT ******************************/ + +app.listen(3003, () => { + console.log("Server running on port 3003") +}) \ No newline at end of file diff --git a/semana20/projeto-Labook/src/migrations.ts b/semana20/projeto-Labook/src/migrations.ts new file mode 100644 index 0000000..aba2a5b --- /dev/null +++ b/semana20/projeto-Labook/src/migrations.ts @@ -0,0 +1,23 @@ +import { connection } from "./index" + +connection + .raw(` + CREATE TABLE IF NOT EXISTS labook_users( + id VARCHAR(255) PRIMARY KEY, + name VARCHAR(255) NOT NULL, + email VARCHAR(255) UNIQUE NOT NULL, + password VARCHAR(255) NOT NULL + ); + + CREATE TABLE IF NOT EXISTS labook_posts( + id VARCHAR(255) PRIMARY KEY, + photo VARCHAR(255) NOT NULL, + description VARCHAR(255) NOT NULL, + type ENUM("normal","event") DEFAULT "normal", + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + author_id VARCHAR(255), + FOREIGN KEY (author_id) REFERENCES labook_users (id) + ) + `) + .then(console.log) + .catch(console.log) \ No newline at end of file diff --git a/semana20/projeto-Labook/src/routes/postRouter.ts b/semana20/projeto-Labook/src/routes/postRouter.ts new file mode 100644 index 0000000..c9e9032 --- /dev/null +++ b/semana20/projeto-Labook/src/routes/postRouter.ts @@ -0,0 +1,5 @@ +import express from "express" + +export const postRouter = express.Router() +postRouter.post('/signup') +postRouter.get('/:id') diff --git a/semana20/projeto-Labook/src/routes/userRouter.ts b/semana20/projeto-Labook/src/routes/userRouter.ts new file mode 100644 index 0000000..f7ec977 --- /dev/null +++ b/semana20/projeto-Labook/src/routes/userRouter.ts @@ -0,0 +1,6 @@ +import express from "express" +import UserController from "../controller/userController" + +export const userRouter = express.Router() +userRouter.post('/signup', new UserController().signup) +userRouter.post('/login') diff --git a/semana20/projeto-Labook/tsconfig.json b/semana20/projeto-Labook/tsconfig.json new file mode 100644 index 0000000..51fa0c0 --- /dev/null +++ b/semana20/projeto-Labook/tsconfig.json @@ -0,0 +1,69 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ + "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + // "lib": [], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + "outDir": "./build", /* Redirect output structure to the directory. */ + "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true, /* Enable all strict type-checking options. */ + "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true, /* Skip type checking of declaration files. */ + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + } +} diff --git a/semana20/projeto-Labook/yarn.lock b/semana20/projeto-Labook/yarn.lock new file mode 100644 index 0000000..d6dcf85 --- /dev/null +++ b/semana20/projeto-Labook/yarn.lock @@ -0,0 +1,1939 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/bcryptjs@^2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/bcryptjs/-/bcryptjs-2.4.2.tgz#e3530eac9dd136bfdfb0e43df2c4c5ce1f77dfae" + integrity sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ== + +"@types/body-parser@*": + version "1.19.1" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz#0c0174c42a7d017b818303d4b5d969cb0b75929c" + integrity sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/cors@^2.8.7": + version "2.8.12" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" + integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== + +"@types/express-serve-static-core@^4.17.18": + version "4.17.24" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz#ea41f93bf7e0d59cd5a76665068ed6aab6815c07" + integrity sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@^4.17.8": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/jsonwebtoken@^8.5.0": + version "8.5.5" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.5.tgz#da5f2f4baee88f052ef3e4db4c1a0afb46cff22c" + integrity sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw== + dependencies: + "@types/node" "*" + +"@types/knex@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@types/knex/-/knex-0.16.1.tgz#619678407265c675463c563ed38323461a49515d" + integrity sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ== + dependencies: + knex "*" + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/node@*": + version "16.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae" + integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w== + +"@types/node@^14.11.2": + version "14.17.32" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.32.tgz#2ca61c9ef8c77f6fa1733be9e623ceb0d372ad96" + integrity sha512-JcII3D5/OapPGx+eJ+Ik1SQGyt6WvuqdRfh9jUwL6/iHGjmyOriBDciBUu7lEIBTL2ijxwrR70WUnw5AEDmFvQ== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/strip-bom@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" + integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= + +"@types/strip-json-comments@0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" + integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== + +"@types/uuid@^8.3.0": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.1.tgz#1a32969cf8f0364b3d8c8af9cc3555b7805df14f" + integrity sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg== + +accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcryptjs@^2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" + integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= + +bignumber.js@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" + integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +colorette@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + +colorette@2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + +dynamic-dedupe@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz#06e44c223f5e4e94d78ef9db23a6515ce2f962a1" + integrity sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE= + dependencies: + xtend "^4.0.0" + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" + integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +flagged-respawn@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" + integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + dependencies: + for-in "^1.0.1" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getopts@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" + integrity sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.1.3: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-core-module@^2.2.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +knex@*: + version "0.95.12" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.95.12.tgz#b250f6690dc643c17e59b82e5c8780f0ed82060a" + integrity sha512-/fdau7F372J/rZzMFjYo1trHs67kB13YtGErOe94Ev+OdilNEI2ddSE3O4Hb3EfgRtJUbhZWxp8T4PpDMtnjSg== + dependencies: + colorette "2.0.16" + commander "^7.1.0" + debug "4.3.2" + escalade "^3.1.1" + esm "^3.2.25" + getopts "2.2.5" + interpret "^2.2.0" + lodash "^4.17.21" + pg-connection-string "2.5.0" + rechoir "0.7.0" + resolve-from "^5.0.0" + tarn "^3.0.1" + tildify "2.0.0" + +knex@^0.21.5: + version "0.21.21" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.21.21.tgz#b1335c75afd15ff83371b096e9cc4c4eafab8c05" + integrity sha512-cjw5qO1EzVKjbywcVa61IQJMLt7PfYBRI/2NwCA/B9beXgbw652wDNLz+JM+UKKNsfwprq0ugYqBYc9q4JN36A== + dependencies: + colorette "1.2.1" + commander "^6.2.0" + debug "4.3.1" + esm "^3.2.25" + getopts "2.2.5" + interpret "^2.2.0" + liftoff "3.1.0" + lodash "^4.17.20" + pg-connection-string "2.4.0" + tarn "^3.0.1" + tildify "2.0.0" + v8flags "^3.2.0" + +liftoff@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" + integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== + dependencies: + extend "^3.0.0" + findup-sync "^3.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + +lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.0.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +mime-db@1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" + integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== + +mime-types@~2.1.24: + version "2.1.33" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" + integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== + dependencies: + mime-db "1.50.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +mysql@^2.18.1: + version "2.18.1" + resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz#2254143855c5a8c73825e4522baf2ea021766717" + integrity sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig== + dependencies: + bignumber.js "9.0.0" + readable-stream "2.3.7" + safe-buffer "5.1.2" + sqlstring "2.3.1" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +object-assign@^4: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +pg-connection-string@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.4.0.tgz#c979922eb47832999a204da5dbe1ebf2341b6a10" + integrity sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ== + +pg-connection-string@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" + integrity sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ== + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +proxy-addr@~2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +readable-stream@2.3.7: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" + integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== + dependencies: + resolve "^1.9.0" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.0.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.9.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^2.6.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.12, source-map-support@^0.5.17: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sqlstring@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40" + integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-json-comments@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +tarn@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tarn/-/tarn-3.0.1.tgz#ebac2c6dbc6977d34d4526e0a7814200386a8aec" + integrity sha512-6usSlV9KyHsspvwu2duKH+FMUhqJnAh6J5J/4MITl8s94iSUQTLkJggdiewKv4RyARQccnigV48Z+khiuVZDJw== + +tildify@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-2.0.0.tgz#f205f3674d677ce698b7067a99e949ce03b4754a" + integrity sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw== + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +ts-node-dev@^1.0.0-pre.63: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.1.8.tgz#95520d8ab9d45fffa854d6668e2f8f9286241066" + integrity sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg== + dependencies: + chokidar "^3.5.1" + dynamic-dedupe "^0.3.0" + minimist "^1.2.5" + mkdirp "^1.0.4" + resolve "^1.0.0" + rimraf "^2.6.1" + source-map-support "^0.5.12" + tree-kill "^1.2.2" + ts-node "^9.0.0" + tsconfig "^7.0.0" + +ts-node@^9.0.0: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tsconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" + integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== + dependencies: + "@types/strip-bom" "^3.0.0" + "@types/strip-json-comments" "0.0.30" + strip-bom "^3.0.0" + strip-json-comments "^2.0.0" + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typescript@^4.0.3: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8flags@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== + dependencies: + homedir-polyfill "^1.0.1" + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +which@^1.2.14: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From 9069c2169129b93d2d815004941a14db052201bf Mon Sep 17 00:00:00 2001 From: vinnivso Date: Sun, 31 Oct 2021 13:35:39 -0300 Subject: [PATCH 02/10] Feat 2/3 --- .../projeto-Labook/{src => }/migrations.ts | 2 +- .../src/business/UserBusiness.ts | 36 ++++++++++++++-- .../src/controller/UserController.ts | 25 +++-------- .../projeto-Labook/src/data/BaseDatabase.ts | 4 ++ .../projeto-Labook/src/data/PostDatabase.ts | 0 .../projeto-Labook/src/data/UserDatabase.ts | 17 ++++++++ semana20/projeto-Labook/src/entities/User.ts | 4 +- semana20/projeto-Labook/src/index.ts | 41 ------------------- .../src/services/AuthenticatorGenerator.ts | 30 ++++++++++++++ .../src/services/HashManager.ts | 20 +++++++++ .../src/services/IdGenerator.ts | 5 +++ 11 files changed, 118 insertions(+), 66 deletions(-) rename semana20/projeto-Labook/{src => }/migrations.ts (94%) create mode 100644 semana20/projeto-Labook/src/data/BaseDatabase.ts create mode 100644 semana20/projeto-Labook/src/data/PostDatabase.ts create mode 100644 semana20/projeto-Labook/src/data/UserDatabase.ts create mode 100644 semana20/projeto-Labook/src/services/AuthenticatorGenerator.ts create mode 100644 semana20/projeto-Labook/src/services/HashManager.ts create mode 100644 semana20/projeto-Labook/src/services/IdGenerator.ts diff --git a/semana20/projeto-Labook/src/migrations.ts b/semana20/projeto-Labook/migrations.ts similarity index 94% rename from semana20/projeto-Labook/src/migrations.ts rename to semana20/projeto-Labook/migrations.ts index aba2a5b..c8d7b66 100644 --- a/semana20/projeto-Labook/src/migrations.ts +++ b/semana20/projeto-Labook/migrations.ts @@ -1,4 +1,4 @@ -import { connection } from "./index" +import { connection } from "./src/index" connection .raw(` diff --git a/semana20/projeto-Labook/src/business/UserBusiness.ts b/semana20/projeto-Labook/src/business/UserBusiness.ts index 060363c..9e90bbb 100644 --- a/semana20/projeto-Labook/src/business/UserBusiness.ts +++ b/semana20/projeto-Labook/src/business/UserBusiness.ts @@ -1,4 +1,34 @@ +import HashManager from "../services/HashManager"; +import IdGenerator from "../services/IdGenerator"; -export default UserBusiness { - signup() -} \ No newline at end of file +export default class UserBusiness { + async signup(input: SignupInputDTO) { + + try { + //Nesse caso, vou reqalizar as validações conforme o que foi estabelecido no body (req.body.name, req.body.email, req.body.password). Demonstrado na linha 10. + if (!input.name || !input.email || !input.password) { + throw new Error(`"name", "email" and "password" must be provided'`); + } + + const idGenerator = new IdGenerator() + + const id: string = new IdGenerator().generateId(); + + const hashManager = new HashManager() + const cypherPassword = await hashManager.hash(input.password); + + const user:user = { + id, + name: input.name, + email: input.email, + password: cypherPassword + } + await insertUser(user) + + const token: string = generateToken({ id }); + + } catch (error) { + + } + } +} diff --git a/semana20/projeto-Labook/src/controller/UserController.ts b/semana20/projeto-Labook/src/controller/UserController.ts index 15a7b35..161d94f 100644 --- a/semana20/projeto-Labook/src/controller/UserController.ts +++ b/semana20/projeto-Labook/src/controller/UserController.ts @@ -1,32 +1,17 @@ //Se tem req e res = Controller import express from 'express' +import { SignupInputDTO } from '../entities/User' export default class UserController { async signup(req: express.Request, res: express.Response) { try { let message = "Success!" const { name, email, password } = req.body - - if (!name || !email || !password) { - res.statusCode = 406 - message = '"name", "email" and "password" must be provided' - throw new Error(message) + const input :SignupInputDTO = { + name: req.body.name, + email: req.body.Email, + password: req.body.password } - - const id: string = generateId() - - const cypherPassword = await hash(password); - - await connection('labook_users') - .insert({ - id, - name, - email, - password: cypherPassword - }) - - const token: string = generateToken({ id }) - res.status(201).send({ message, token }) } catch (error:any) { diff --git a/semana20/projeto-Labook/src/data/BaseDatabase.ts b/semana20/projeto-Labook/src/data/BaseDatabase.ts new file mode 100644 index 0000000..2bfb808 --- /dev/null +++ b/semana20/projeto-Labook/src/data/BaseDatabase.ts @@ -0,0 +1,4 @@ + +export class BaseDatabase { + +} \ No newline at end of file diff --git a/semana20/projeto-Labook/src/data/PostDatabase.ts b/semana20/projeto-Labook/src/data/PostDatabase.ts new file mode 100644 index 0000000..e69de29 diff --git a/semana20/projeto-Labook/src/data/UserDatabase.ts b/semana20/projeto-Labook/src/data/UserDatabase.ts new file mode 100644 index 0000000..9ffcf92 --- /dev/null +++ b/semana20/projeto-Labook/src/data/UserDatabase.ts @@ -0,0 +1,17 @@ +import { BaseDatabase } from "./BaseDatabase"; + +export class UserDatabase extends BaseDatabase { + async insertUser(user:User) { + try { + await this.connection("labook_users") + .insert({ + id, + name, + email, + password: cypherPassword, + }); + } catch (error:any) { + throw new Error(error.sqlMessage || error.Message); + } + } +} \ No newline at end of file diff --git a/semana20/projeto-Labook/src/entities/User.ts b/semana20/projeto-Labook/src/entities/User.ts index 0139375..d9bef8e 100644 --- a/semana20/projeto-Labook/src/entities/User.ts +++ b/semana20/projeto-Labook/src/entities/User.ts @@ -10,5 +10,7 @@ export interface user { } export interface SignupInputDTO { - + name:string, + email:string, + password:string } \ No newline at end of file diff --git a/semana20/projeto-Labook/src/index.ts b/semana20/projeto-Labook/src/index.ts index e4b46b3..fafbddc 100644 --- a/semana20/projeto-Labook/src/index.ts +++ b/semana20/projeto-Labook/src/index.ts @@ -45,47 +45,6 @@ type post = { authorId: string } -/**************************** SERVICES ******************************/ - -const generateId = (): string => v4() - -function generateToken( - payload: authenticationData -): string { - return jwt.sign( - payload, - process.env.JWT_KEY as string, - { - expiresIn: process.env.JWT_EXPIRES_IN - } - ) -} - -function getTokenData( - token: string -): authenticationData { - const result: any = jwt.verify( - token, - process.env.JWT_KEY as string - ) - - return { id: result.id, } -} - -const hash = async ( - plainText: string -): Promise => { - const rounds = Number(process.env.BCRYPT_COST); - const salt = await bcrypt.genSalt(rounds); - return bcrypt.hash(plainText, salt) -} - -const compare = async ( - plainText: string, cypherText: string -): Promise => { - return bcrypt.compare(plainText, cypherText) -} - /**************************** ENDPOINTS ******************************/ app.post('/users/signup', async (req: Request, res: Response) => { diff --git a/semana20/projeto-Labook/src/services/AuthenticatorGenerator.ts b/semana20/projeto-Labook/src/services/AuthenticatorGenerator.ts new file mode 100644 index 0000000..1763237 --- /dev/null +++ b/semana20/projeto-Labook/src/services/AuthenticatorGenerator.ts @@ -0,0 +1,30 @@ +import * as jwt from "jsonwebtoken"; +import dotenv from 'dotenv' +import {authenticationData} from '../entities/User' + +dotenv.config() + +export default class AuthenticatorGenerator { + generateToken( + payload: authenticationData + ): string { + return jwt.sign( + payload, + process.env.JWT_KEY as string, + { + expiresIn: process.env.JWT_EXPIRES_IN + } + ) + } + + getTokenData( + token: string + ): authenticationData { + const result: any = jwt.verify( + token, + process.env.JWT_KEY as string + ) + + return { id: result.id, } + } +} \ No newline at end of file diff --git a/semana20/projeto-Labook/src/services/HashManager.ts b/semana20/projeto-Labook/src/services/HashManager.ts new file mode 100644 index 0000000..c05441a --- /dev/null +++ b/semana20/projeto-Labook/src/services/HashManager.ts @@ -0,0 +1,20 @@ +import bcryptjs from "bcryptjs"; +import dotenv from "dotenv"; + +dotenv.config(); + +export default class HashManager { + hash = async ( + plainText: string + ): Promise => { + const rounds = Number(process.env.BCRYPT_COST); + const salt = await bcryptjs.genSaltSync(rounds); + return bcryptjs.hashSync(plainText, salt) + } + + compare = async ( + plainText: string, cypherText: string + ): Promise => { + return bcryptjs.compareSync(plainText, cypherText) + } +} \ No newline at end of file diff --git a/semana20/projeto-Labook/src/services/IdGenerator.ts b/semana20/projeto-Labook/src/services/IdGenerator.ts new file mode 100644 index 0000000..7d33b2c --- /dev/null +++ b/semana20/projeto-Labook/src/services/IdGenerator.ts @@ -0,0 +1,5 @@ +import {v4} from 'uuid' + +export default class IdGenerator { + generateId = (): string => v4() +} \ No newline at end of file From e88808ab68796ed31771f75c69b77ff58488c112 Mon Sep 17 00:00:00 2001 From: vinnivso Date: Mon, 1 Nov 2021 17:32:00 -0300 Subject: [PATCH 03/10] Feat: 1/4 - DONE --- semana21/revisao- backendChallenge/.gitignore | 5 + .../revisao- backendChallenge/PokemonGo.js | 39 + .../revisao- backendChallenge/PokemonGo.xlsx | Bin 0 -> 108523 bytes .../revisao- backendChallenge/package.json | 33 + semana21/revisao- backendChallenge/src/app.ts | 16 + .../src/data/connection.ts | 16 + .../revisao- backendChallenge/src/index.ts | 1 + .../src/interfaces/types.ts | 0 .../src/migrations/index.ts | 24 + .../revisao- backendChallenge/tsconfig.json | 15 + semana21/revisao- backendChallenge/yarn.lock | 1188 +++++++++++++++++ 11 files changed, 1337 insertions(+) create mode 100644 semana21/revisao- backendChallenge/.gitignore create mode 100644 semana21/revisao- backendChallenge/PokemonGo.js create mode 100644 semana21/revisao- backendChallenge/PokemonGo.xlsx create mode 100644 semana21/revisao- backendChallenge/package.json create mode 100644 semana21/revisao- backendChallenge/src/app.ts create mode 100644 semana21/revisao- backendChallenge/src/data/connection.ts create mode 100644 semana21/revisao- backendChallenge/src/index.ts create mode 100644 semana21/revisao- backendChallenge/src/interfaces/types.ts create mode 100644 semana21/revisao- backendChallenge/src/migrations/index.ts create mode 100644 semana21/revisao- backendChallenge/tsconfig.json create mode 100644 semana21/revisao- backendChallenge/yarn.lock diff --git a/semana21/revisao- backendChallenge/.gitignore b/semana21/revisao- backendChallenge/.gitignore new file mode 100644 index 0000000..0752280 --- /dev/null +++ b/semana21/revisao- backendChallenge/.gitignore @@ -0,0 +1,5 @@ +build +node_modules +requests.rest +.env +.vscode \ No newline at end of file diff --git a/semana21/revisao- backendChallenge/PokemonGo.js b/semana21/revisao- backendChallenge/PokemonGo.js new file mode 100644 index 0000000..b70e07f --- /dev/null +++ b/semana21/revisao- backendChallenge/PokemonGo.js @@ -0,0 +1,39 @@ +var XLSX = require("xlsx"); +var workbook = XLSX.readFile("PokemonGo.xlsx"); +var sheet_name_list = workbook.SheetNames; +console.log(sheet_name_list); // getting as Sheet1 + +sheet_name_list.forEach(function (y) { + var worksheet = workbook.Sheets[y]; + //getting the complete sheet + // console.log(worksheet); + + var headers = {}; + var data = []; + for (z in worksheet) { + if (z[0] === "!") continue; + //parse out the column, row, and value + var col = z.substring(0, 1); + // console.log(col); + + var row = parseInt(z.substring(1)); + // console.log(row); + + var value = worksheet[z].v; + // console.log(value); + + //store header names + if (row == 1) { + headers[col] = value; + // storing the header names + continue; + } + + if (!data[row]) data[row] = {}; + data[row][headers[col]] = value; + } + //drop those first two rows which are empty + data.shift(); + data.shift(); + console.log(data); +}); \ No newline at end of file diff --git a/semana21/revisao- backendChallenge/PokemonGo.xlsx b/semana21/revisao- backendChallenge/PokemonGo.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c991e83ed68856c9c516152313e06e966f4ae508 GIT binary patch literal 108523 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 literal 0 HcmV?d00001 diff --git a/semana21/revisao- backendChallenge/package.json b/semana21/revisao- backendChallenge/package.json new file mode 100644 index 0000000..3d22562 --- /dev/null +++ b/semana21/revisao- backendChallenge/package.json @@ -0,0 +1,33 @@ +{ + "name": "revisao-backendchallenge", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "scripts": { + "start": "clear && tsc && node ./build/index.js", + "dev": "clear && ts-node-dev --ignore-watch node_modules --transpile-only --exit-child src/index.ts", + "migrations": "tsc && node ./build/migrations/index.js" + }, + "devDependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/cors": "^2.8.12", + "@types/dotenv": "^8.2.0", + "@types/express": "^4.17.13", + "@types/jsonwebtoken": "^8.5.5", + "@types/knex": "^0.16.1", + "@types/uuid": "^8.3.1", + "ts-node-dev": "^1.1.8", + "typescript": "^4.4.4" + }, + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^10.0.0", + "express": "^4.17.1", + "jsonwebtoken": "^8.5.1", + "knex": "^0.95.11", + "mysql": "^2.18.1", + "uuid": "^8.3.2", + "xlsx": "^0.17.3" + } +} diff --git a/semana21/revisao- backendChallenge/src/app.ts b/semana21/revisao- backendChallenge/src/app.ts new file mode 100644 index 0000000..58ba115 --- /dev/null +++ b/semana21/revisao- backendChallenge/src/app.ts @@ -0,0 +1,16 @@ +import express from "express" +import cors from "cors" +import net from "net" + +export const app: express.Express = express() +app.use(express.json()) //Lembrando que esse comando é um middleware, transformando os códigos que vem json em um objeto. +app.use(cors()) //Fazemos com que qualquer frontend, possa acessar nosso backend. + +const server = app.listen(process.env.PORT || 3003, () => { + if (server) { + const address = server.address() as net.AddressInfo; + console.log(`Server is running on http://localhost:${address.port}`) + } else { + console.error(`Failure upon starting server`) + } +}) diff --git a/semana21/revisao- backendChallenge/src/data/connection.ts b/semana21/revisao- backendChallenge/src/data/connection.ts new file mode 100644 index 0000000..5b45222 --- /dev/null +++ b/semana21/revisao- backendChallenge/src/data/connection.ts @@ -0,0 +1,16 @@ +import knex from 'knex' +import dotenv from 'dotenv' + +dotenv.config() + +export const connection = knex ({ + client:'mysql', + connection: { + host: process.env.DB_HOST, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_SCHEMA, + port: 3306, + multipleStatements: true + } +}) \ No newline at end of file diff --git a/semana21/revisao- backendChallenge/src/index.ts b/semana21/revisao- backendChallenge/src/index.ts new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/semana21/revisao- backendChallenge/src/index.ts @@ -0,0 +1 @@ + diff --git a/semana21/revisao- backendChallenge/src/interfaces/types.ts b/semana21/revisao- backendChallenge/src/interfaces/types.ts new file mode 100644 index 0000000..e69de29 diff --git a/semana21/revisao- backendChallenge/src/migrations/index.ts b/semana21/revisao- backendChallenge/src/migrations/index.ts new file mode 100644 index 0000000..4ec8807 --- /dev/null +++ b/semana21/revisao- backendChallenge/src/migrations/index.ts @@ -0,0 +1,24 @@ +// import connection from '../data/connection' +// import { recipeTableName, userTableName } from "../types"; + +/*---------------------IMPORT----------------------*/ + +// connection.raw(` +// CREATE TABLE IF NOT EXISTS ${userTableName} ( +// id VARCHAR(255) PRIMARY KEY, +// name VARCHAR(255) NOT NULL, +// email VARCHAR(255) NOT NULL UNIQUE, +// password VARCHAR(255) NOT NULL +// ); + +// CREATE TABLE IF NOT EXISTS ${recipeTableName} ( +// id VARCHAR(255) PRIMARY KEY, +// title VARCHAR(255) NOT NULL, +// description VARCHAR(15000) NOT NULL, +// created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, +// author_id VARCHAR(255), +// FOREIGN KEY (author_id) REFERENCES ${userTableName} (id) +// ); +// `).then(() => console.log(`MySQL tables were sucessfully created`)) +// .catch(error => console.log(error.message)) +// .finally(() => connection.destroy()) diff --git a/semana21/revisao- backendChallenge/tsconfig.json b/semana21/revisao- backendChallenge/tsconfig.json new file mode 100644 index 0000000..5975a67 --- /dev/null +++ b/semana21/revisao- backendChallenge/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "rootDir": "./src", + "outDir": "./build", + "sourceMap": true, + "removeComments": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true, + "typeRoots":["./src/@types", "node_modules/@types"] + } +} diff --git a/semana21/revisao- backendChallenge/yarn.lock b/semana21/revisao- backendChallenge/yarn.lock new file mode 100644 index 0000000..7ab9ef9 --- /dev/null +++ b/semana21/revisao- backendChallenge/yarn.lock @@ -0,0 +1,1188 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/bcryptjs@^2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/bcryptjs/-/bcryptjs-2.4.2.tgz#e3530eac9dd136bfdfb0e43df2c4c5ce1f77dfae" + integrity sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ== + +"@types/body-parser@*": + version "1.19.1" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz#0c0174c42a7d017b818303d4b5d969cb0b75929c" + integrity sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/cors@^2.8.12": + version "2.8.12" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" + integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== + +"@types/dotenv@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@types/dotenv/-/dotenv-8.2.0.tgz#5cd64710c3c98e82d9d15844375a33bf1b45d053" + integrity sha512-ylSC9GhfRH7m1EUXBXofhgx4lUWmFeQDINW5oLuS+gxWdfUeW4zJdeVTYVkexEW+e2VUvlZR2kGnGGipAWR7kw== + dependencies: + dotenv "*" + +"@types/express-serve-static-core@^4.17.18": + version "4.17.24" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz#ea41f93bf7e0d59cd5a76665068ed6aab6815c07" + integrity sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@^4.17.13": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/jsonwebtoken@^8.5.5": + version "8.5.5" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.5.tgz#da5f2f4baee88f052ef3e4db4c1a0afb46cff22c" + integrity sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw== + dependencies: + "@types/node" "*" + +"@types/knex@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@types/knex/-/knex-0.16.1.tgz#619678407265c675463c563ed38323461a49515d" + integrity sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ== + dependencies: + knex "*" + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/node@*": + version "16.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae" + integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/strip-bom@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" + integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= + +"@types/strip-json-comments@0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" + integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== + +"@types/uuid@^8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.1.tgz#1a32969cf8f0364b3d8c8af9cc3555b7805df14f" + integrity sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg== + +accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +adler-32@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25" + integrity sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU= + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +adler-32@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.3.0.tgz#3cad1b71cdfa69f6c8a91f3e3615d31a4fdedc72" + integrity sha512-f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g== + dependencies: + printj "~1.2.2" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +bcryptjs@^2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" + integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= + +bignumber.js@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" + integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cfb@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/cfb/-/cfb-1.2.1.tgz#209429e4c68efd30641f6fc74b2d6028bd202402" + integrity sha512-wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ== + dependencies: + adler-32 "~1.3.0" + crc-32 "~1.2.0" + printj "~1.3.0" + +chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +codepage@~1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.15.0.tgz#2e00519024b39424ec66eeb3ec07227e692618ab" + integrity sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA== + +colorette@2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + +commander@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@~2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +crc-32@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dotenv@*, dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + +dynamic-dedupe@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz#06e44c223f5e4e94d78ef9db23a6515ce2f962a1" + integrity sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE= + dependencies: + xtend "^4.0.0" + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + +express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +fflate@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.7.1.tgz#56e87e87c3f2fe01b025fbb1c4ea835990c02fa2" + integrity sha512-VYM2Xy1gSA5MerKzCnmmuV2XljkpKwgJBKezW+495TTnTCh1x5HcYa1aH8wRU/MfTGhW4ziXqgwprgQUVl3Ohw== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +frac@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b" + integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +getopts@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" + integrity sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.1.3: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.2.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +knex@*, knex@^0.95.11: + version "0.95.12" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.95.12.tgz#b250f6690dc643c17e59b82e5c8780f0ed82060a" + integrity sha512-/fdau7F372J/rZzMFjYo1trHs67kB13YtGErOe94Ev+OdilNEI2ddSE3O4Hb3EfgRtJUbhZWxp8T4PpDMtnjSg== + dependencies: + colorette "2.0.16" + commander "^7.1.0" + debug "4.3.2" + escalade "^3.1.1" + esm "^3.2.25" + getopts "2.2.5" + interpret "^2.2.0" + lodash "^4.17.21" + pg-connection-string "2.5.0" + rechoir "0.7.0" + resolve-from "^5.0.0" + tarn "^3.0.1" + tildify "2.0.0" + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +mime-db@1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" + integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== + +mime-types@~2.1.24: + version "2.1.33" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" + integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== + dependencies: + mime-db "1.50.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +mysql@^2.18.1: + version "2.18.1" + resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz#2254143855c5a8c73825e4522baf2ea021766717" + integrity sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig== + dependencies: + bignumber.js "9.0.0" + readable-stream "2.3.7" + safe-buffer "5.1.2" + sqlstring "2.3.1" + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +object-assign@^4: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +pg-connection-string@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" + integrity sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ== + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +printj@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + +printj@~1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.2.3.tgz#2cfb2b192a1e5385dbbe5b46658ac34aa828508a" + integrity sha512-sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA== + +printj@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.3.0.tgz#9018a918a790e43707f10625d6e10187a367cff6" + integrity sha512-017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +proxy-addr@~2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +readable-stream@2.3.7: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" + integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== + dependencies: + resolve "^1.9.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.0.0, resolve@^1.9.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +rimraf@^2.6.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +source-map-support@^0.5.12, source-map-support@^0.5.17: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sqlstring@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40" + integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A= + +ssf@~0.11.2: + version "0.11.2" + resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.11.2.tgz#0b99698b237548d088fc43cdf2b70c1a7512c06c" + integrity sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g== + dependencies: + frac "~1.1.2" + +"statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-json-comments@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +tarn@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tarn/-/tarn-3.0.1.tgz#ebac2c6dbc6977d34d4526e0a7814200386a8aec" + integrity sha512-6usSlV9KyHsspvwu2duKH+FMUhqJnAh6J5J/4MITl8s94iSUQTLkJggdiewKv4RyARQccnigV48Z+khiuVZDJw== + +tildify@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-2.0.0.tgz#f205f3674d677ce698b7067a99e949ce03b4754a" + integrity sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +ts-node-dev@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.1.8.tgz#95520d8ab9d45fffa854d6668e2f8f9286241066" + integrity sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg== + dependencies: + chokidar "^3.5.1" + dynamic-dedupe "^0.3.0" + minimist "^1.2.5" + mkdirp "^1.0.4" + resolve "^1.0.0" + rimraf "^2.6.1" + source-map-support "^0.5.12" + tree-kill "^1.2.2" + ts-node "^9.0.0" + tsconfig "^7.0.0" + +ts-node@^9.0.0: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tsconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" + integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== + dependencies: + "@types/strip-bom" "^3.0.0" + "@types/strip-json-comments" "0.0.30" + strip-bom "^3.0.0" + strip-json-comments "^2.0.0" + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typescript@^4.4.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +wmf@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da" + integrity sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw== + +word@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/word/-/word-0.3.0.tgz#8542157e4f8e849f4a363a288992d47612db9961" + integrity sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xlsx@^0.17.3: + version "0.17.3" + resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.17.3.tgz#1c2dd36ff1cecb0ebdf79ba4f268e945d0070849" + integrity sha512-dGZKfyPSXfnoITruwisuDVZkvnxhjgqzWJXBJm2Khmh01wcw8//baRUvhroVRhW2SLbnlpGcCZZbeZO1qJgMIw== + dependencies: + adler-32 "~1.2.0" + cfb "^1.1.4" + codepage "~1.15.0" + commander "~2.17.1" + crc-32 "~1.2.0" + exit-on-epipe "~1.0.1" + fflate "^0.7.1" + ssf "~0.11.2" + wmf "~1.0.1" + word "~0.3.0" + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From d12e5027b5daa1471d681c7445e099ef5c9c1c30 Mon Sep 17 00:00:00 2001 From: vinnivso Date: Wed, 3 Nov 2021 20:45:01 -0300 Subject: [PATCH 04/10] Feat: 2/4, SQL tem vontade propria --- semana21/revisao- redfoxChallenge/.gitignore | 3 + .../revisao- redfoxChallenge/package.json | 33 + semana21/revisao- redfoxChallenge/src/app.ts | 16 + .../src/data/connection.ts | 16 + .../revisao- redfoxChallenge/src/index.ts | 1 + .../src/interfaces/types.ts | 0 .../src/migrations/PokemonGo.xlsx | Bin 0 -> 108523 bytes .../src/migrations/index.ts | 102 ++ .../revisao- redfoxChallenge/tsconfig.json | 15 + semana21/revisao- redfoxChallenge/yarn.lock | 1188 +++++++++++++++++ 10 files changed, 1374 insertions(+) create mode 100644 semana21/revisao- redfoxChallenge/.gitignore create mode 100644 semana21/revisao- redfoxChallenge/package.json create mode 100644 semana21/revisao- redfoxChallenge/src/app.ts create mode 100644 semana21/revisao- redfoxChallenge/src/data/connection.ts create mode 100644 semana21/revisao- redfoxChallenge/src/index.ts create mode 100644 semana21/revisao- redfoxChallenge/src/interfaces/types.ts create mode 100644 semana21/revisao- redfoxChallenge/src/migrations/PokemonGo.xlsx create mode 100644 semana21/revisao- redfoxChallenge/src/migrations/index.ts create mode 100644 semana21/revisao- redfoxChallenge/tsconfig.json create mode 100644 semana21/revisao- redfoxChallenge/yarn.lock diff --git a/semana21/revisao- redfoxChallenge/.gitignore b/semana21/revisao- redfoxChallenge/.gitignore new file mode 100644 index 0000000..935306f --- /dev/null +++ b/semana21/revisao- redfoxChallenge/.gitignore @@ -0,0 +1,3 @@ +build +node_modules +.env \ No newline at end of file diff --git a/semana21/revisao- redfoxChallenge/package.json b/semana21/revisao- redfoxChallenge/package.json new file mode 100644 index 0000000..55e92ba --- /dev/null +++ b/semana21/revisao- redfoxChallenge/package.json @@ -0,0 +1,33 @@ +{ + "name": "redfoxchallenge", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "scripts": { + "start": "clear && tsc && node ./build/index.js", + "dev": "clear && tsnd --ignore-watch node_modules --transpile-only --exit-child src/index.ts", + "migrations": "tsc && node ./src/migrations/index.ts" + }, + "devDependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/cors": "^2.8.12", + "@types/dotenv": "^8.2.0", + "@types/express": "^4.17.13", + "@types/jsonwebtoken": "^8.5.5", + "@types/knex": "^0.16.1", + "@types/uuid": "^8.3.1", + "ts-node-dev": "^1.1.8", + "typescript": "^4.4.4" + }, + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^10.0.0", + "express": "^4.17.1", + "jsonwebtoken": "^8.5.1", + "knex": "^0.95.11", + "mysql": "^2.18.1", + "uuid": "^8.3.2", + "xlsx": "^0.17.3" + } +} diff --git a/semana21/revisao- redfoxChallenge/src/app.ts b/semana21/revisao- redfoxChallenge/src/app.ts new file mode 100644 index 0000000..58ba115 --- /dev/null +++ b/semana21/revisao- redfoxChallenge/src/app.ts @@ -0,0 +1,16 @@ +import express from "express" +import cors from "cors" +import net from "net" + +export const app: express.Express = express() +app.use(express.json()) //Lembrando que esse comando é um middleware, transformando os códigos que vem json em um objeto. +app.use(cors()) //Fazemos com que qualquer frontend, possa acessar nosso backend. + +const server = app.listen(process.env.PORT || 3003, () => { + if (server) { + const address = server.address() as net.AddressInfo; + console.log(`Server is running on http://localhost:${address.port}`) + } else { + console.error(`Failure upon starting server`) + } +}) diff --git a/semana21/revisao- redfoxChallenge/src/data/connection.ts b/semana21/revisao- redfoxChallenge/src/data/connection.ts new file mode 100644 index 0000000..5b45222 --- /dev/null +++ b/semana21/revisao- redfoxChallenge/src/data/connection.ts @@ -0,0 +1,16 @@ +import knex from 'knex' +import dotenv from 'dotenv' + +dotenv.config() + +export const connection = knex ({ + client:'mysql', + connection: { + host: process.env.DB_HOST, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_SCHEMA, + port: 3306, + multipleStatements: true + } +}) \ No newline at end of file diff --git a/semana21/revisao- redfoxChallenge/src/index.ts b/semana21/revisao- redfoxChallenge/src/index.ts new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/semana21/revisao- redfoxChallenge/src/index.ts @@ -0,0 +1 @@ + diff --git a/semana21/revisao- redfoxChallenge/src/interfaces/types.ts b/semana21/revisao- redfoxChallenge/src/interfaces/types.ts new file mode 100644 index 0000000..e69de29 diff --git a/semana21/revisao- redfoxChallenge/src/migrations/PokemonGo.xlsx b/semana21/revisao- redfoxChallenge/src/migrations/PokemonGo.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c991e83ed68856c9c516152313e06e966f4ae508 GIT binary patch literal 108523 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 literal 0 HcmV?d00001 diff --git a/semana21/revisao- redfoxChallenge/src/migrations/index.ts b/semana21/revisao- redfoxChallenge/src/migrations/index.ts new file mode 100644 index 0000000..20416c6 --- /dev/null +++ b/semana21/revisao- redfoxChallenge/src/migrations/index.ts @@ -0,0 +1,102 @@ +const knex = require('knex') +const dotenv = require('dotenv') +const path = require('path') +const XLSX = require('xlsx'); + +dotenv.config() + +const connection = knex ({ + client:'mysql', + connection: { + host: process.env.DB_HOST, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_SCHEMA, + port: 3306, + multipleStatements: true + } +}) + +const filename = __dirname + path.sep + 'PokemonGo.xlsx' +const workbook = XLSX.readFile(filename); +const sheetName = (workbook.SheetNames)[0]; +let pokemons = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], {defval: ""}); + +pokemons = [pokemons[0], pokemons[1]]; + +const main = async() => { + try { + await connection.raw(` + CREATE TABLE IF NOT EXISTS pokemon_goDefinitive ( + ROW INT PRIMARY KEY NOT NULL, + Name VARCHAR(255) NOT NULL, + PokedexNumber INT, + ImgName VARCHAR(255), + Generation INT, + EvolutionStage VARCHAR(255), + Evolved INT NOT NULL, + FamilyID INT, + CrossGen INT NOT NULL, + Type1 VARCHAR(255) NOT NULL, + Type2 VARCHAR(255), + Weather1 VARCHAR(255) NOT NULL, + Weather2 VARCHAR(255), + STATTOTAL INT NOT NULL, + ATK INT NOT NULL, + DEF INT NOT NULL, + STA INT NOT NULL, + Legendary INT NOT NULL, + Aquireable INT NOT NULL, + Spawns INT NOT NULL, + Regional INT NOT NULL, + Raidable INT NOT NULL, + Hatchable INT NOT NULL, + Shiny INT NOT NULL, + Nest INT NOT NULL, + New INT NOT NULL, + NotGettable INT NOT NULL, + FutureEvolve INT NOT NULL, + ) + `) + console.log(`Tabela criada!`) + + for (const pokemon of pokemons) { + await connection('pokemon_goDefinitive') + .insert({ + ROW: pokemon.row, + Name: pokemon.name, + PokedexNumber: pokemon.pokedexNumber, + ImgName: pokemon.imageName, + Generation: pokemon.generation, + EvolutionStage: pokemon.evolutionStage, + Evolved: pokemon.evolved, + FamilyID: pokemon.familyId, + CrossGen: pokemon.crossGen, + Type1: pokemon.type1, + Type2: pokemon.type2, + Weather1: pokemon.weather1, + Weather2: pokemon.weather2, + STATTOTAL: pokemon.stattotal, + ATK: pokemon.atk, + DEF: pokemon.def, + STA: pokemon.sta, + Legendary: pokemon.legendary, + Aquireable: pokemon.aquireable, + Spawns: pokemon.spawns, + Regional:pokemon.regional, + Raidable: pokemon.raidable, + Hatchable: pokemon.hatchable, + Shiny: pokemon.shiny, + Nest: pokemon.nest, + New: pokemon.new, + NotGettable:pokemon.notGettable, + FutureEvolve: pokemon.futureEvolve, + }) + } + } catch (error) { + console.log(error) + } finally { + connection.destroy() + } +} +main(); diff --git a/semana21/revisao- redfoxChallenge/tsconfig.json b/semana21/revisao- redfoxChallenge/tsconfig.json new file mode 100644 index 0000000..5975a67 --- /dev/null +++ b/semana21/revisao- redfoxChallenge/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "rootDir": "./src", + "outDir": "./build", + "sourceMap": true, + "removeComments": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true, + "typeRoots":["./src/@types", "node_modules/@types"] + } +} diff --git a/semana21/revisao- redfoxChallenge/yarn.lock b/semana21/revisao- redfoxChallenge/yarn.lock new file mode 100644 index 0000000..7ab9ef9 --- /dev/null +++ b/semana21/revisao- redfoxChallenge/yarn.lock @@ -0,0 +1,1188 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/bcryptjs@^2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/bcryptjs/-/bcryptjs-2.4.2.tgz#e3530eac9dd136bfdfb0e43df2c4c5ce1f77dfae" + integrity sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ== + +"@types/body-parser@*": + version "1.19.1" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz#0c0174c42a7d017b818303d4b5d969cb0b75929c" + integrity sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/cors@^2.8.12": + version "2.8.12" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" + integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== + +"@types/dotenv@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@types/dotenv/-/dotenv-8.2.0.tgz#5cd64710c3c98e82d9d15844375a33bf1b45d053" + integrity sha512-ylSC9GhfRH7m1EUXBXofhgx4lUWmFeQDINW5oLuS+gxWdfUeW4zJdeVTYVkexEW+e2VUvlZR2kGnGGipAWR7kw== + dependencies: + dotenv "*" + +"@types/express-serve-static-core@^4.17.18": + version "4.17.24" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz#ea41f93bf7e0d59cd5a76665068ed6aab6815c07" + integrity sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@^4.17.13": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/jsonwebtoken@^8.5.5": + version "8.5.5" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.5.tgz#da5f2f4baee88f052ef3e4db4c1a0afb46cff22c" + integrity sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw== + dependencies: + "@types/node" "*" + +"@types/knex@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@types/knex/-/knex-0.16.1.tgz#619678407265c675463c563ed38323461a49515d" + integrity sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ== + dependencies: + knex "*" + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/node@*": + version "16.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae" + integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/strip-bom@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" + integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= + +"@types/strip-json-comments@0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" + integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== + +"@types/uuid@^8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.1.tgz#1a32969cf8f0364b3d8c8af9cc3555b7805df14f" + integrity sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg== + +accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +adler-32@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25" + integrity sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU= + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +adler-32@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.3.0.tgz#3cad1b71cdfa69f6c8a91f3e3615d31a4fdedc72" + integrity sha512-f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g== + dependencies: + printj "~1.2.2" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +bcryptjs@^2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" + integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= + +bignumber.js@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" + integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cfb@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/cfb/-/cfb-1.2.1.tgz#209429e4c68efd30641f6fc74b2d6028bd202402" + integrity sha512-wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ== + dependencies: + adler-32 "~1.3.0" + crc-32 "~1.2.0" + printj "~1.3.0" + +chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +codepage@~1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.15.0.tgz#2e00519024b39424ec66eeb3ec07227e692618ab" + integrity sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA== + +colorette@2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + +commander@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@~2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +crc-32@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dotenv@*, dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + +dynamic-dedupe@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz#06e44c223f5e4e94d78ef9db23a6515ce2f962a1" + integrity sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE= + dependencies: + xtend "^4.0.0" + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + +express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +fflate@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.7.1.tgz#56e87e87c3f2fe01b025fbb1c4ea835990c02fa2" + integrity sha512-VYM2Xy1gSA5MerKzCnmmuV2XljkpKwgJBKezW+495TTnTCh1x5HcYa1aH8wRU/MfTGhW4ziXqgwprgQUVl3Ohw== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +frac@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b" + integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +getopts@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" + integrity sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.1.3: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.2.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +knex@*, knex@^0.95.11: + version "0.95.12" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.95.12.tgz#b250f6690dc643c17e59b82e5c8780f0ed82060a" + integrity sha512-/fdau7F372J/rZzMFjYo1trHs67kB13YtGErOe94Ev+OdilNEI2ddSE3O4Hb3EfgRtJUbhZWxp8T4PpDMtnjSg== + dependencies: + colorette "2.0.16" + commander "^7.1.0" + debug "4.3.2" + escalade "^3.1.1" + esm "^3.2.25" + getopts "2.2.5" + interpret "^2.2.0" + lodash "^4.17.21" + pg-connection-string "2.5.0" + rechoir "0.7.0" + resolve-from "^5.0.0" + tarn "^3.0.1" + tildify "2.0.0" + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +mime-db@1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" + integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== + +mime-types@~2.1.24: + version "2.1.33" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" + integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== + dependencies: + mime-db "1.50.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +mysql@^2.18.1: + version "2.18.1" + resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz#2254143855c5a8c73825e4522baf2ea021766717" + integrity sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig== + dependencies: + bignumber.js "9.0.0" + readable-stream "2.3.7" + safe-buffer "5.1.2" + sqlstring "2.3.1" + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +object-assign@^4: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +pg-connection-string@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" + integrity sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ== + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +printj@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + +printj@~1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.2.3.tgz#2cfb2b192a1e5385dbbe5b46658ac34aa828508a" + integrity sha512-sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA== + +printj@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.3.0.tgz#9018a918a790e43707f10625d6e10187a367cff6" + integrity sha512-017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +proxy-addr@~2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +readable-stream@2.3.7: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" + integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== + dependencies: + resolve "^1.9.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.0.0, resolve@^1.9.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +rimraf@^2.6.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +source-map-support@^0.5.12, source-map-support@^0.5.17: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sqlstring@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40" + integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A= + +ssf@~0.11.2: + version "0.11.2" + resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.11.2.tgz#0b99698b237548d088fc43cdf2b70c1a7512c06c" + integrity sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g== + dependencies: + frac "~1.1.2" + +"statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-json-comments@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +tarn@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tarn/-/tarn-3.0.1.tgz#ebac2c6dbc6977d34d4526e0a7814200386a8aec" + integrity sha512-6usSlV9KyHsspvwu2duKH+FMUhqJnAh6J5J/4MITl8s94iSUQTLkJggdiewKv4RyARQccnigV48Z+khiuVZDJw== + +tildify@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-2.0.0.tgz#f205f3674d677ce698b7067a99e949ce03b4754a" + integrity sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +ts-node-dev@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.1.8.tgz#95520d8ab9d45fffa854d6668e2f8f9286241066" + integrity sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg== + dependencies: + chokidar "^3.5.1" + dynamic-dedupe "^0.3.0" + minimist "^1.2.5" + mkdirp "^1.0.4" + resolve "^1.0.0" + rimraf "^2.6.1" + source-map-support "^0.5.12" + tree-kill "^1.2.2" + ts-node "^9.0.0" + tsconfig "^7.0.0" + +ts-node@^9.0.0: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tsconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" + integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== + dependencies: + "@types/strip-bom" "^3.0.0" + "@types/strip-json-comments" "0.0.30" + strip-bom "^3.0.0" + strip-json-comments "^2.0.0" + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typescript@^4.4.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +wmf@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da" + integrity sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw== + +word@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/word/-/word-0.3.0.tgz#8542157e4f8e849f4a363a288992d47612db9961" + integrity sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xlsx@^0.17.3: + version "0.17.3" + resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.17.3.tgz#1c2dd36ff1cecb0ebdf79ba4f268e945d0070849" + integrity sha512-dGZKfyPSXfnoITruwisuDVZkvnxhjgqzWJXBJm2Khmh01wcw8//baRUvhroVRhW2SLbnlpGcCZZbeZO1qJgMIw== + dependencies: + adler-32 "~1.2.0" + cfb "^1.1.4" + codepage "~1.15.0" + commander "~2.17.1" + crc-32 "~1.2.0" + exit-on-epipe "~1.0.1" + fflate "^0.7.1" + ssf "~0.11.2" + wmf "~1.0.1" + word "~0.3.0" + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From 1bbeac1f70705b931a1a82a24460436cfb3c1639 Mon Sep 17 00:00:00 2001 From: vinnivso Date: Thu, 4 Nov 2021 22:21:59 -0300 Subject: [PATCH 05/10] Feat: 3/4 --- .../revisao- redfoxChallenge/package.json | 5 +- semana21/revisao- redfoxChallenge/src/app.ts | 2 +- .../src/data/connection.ts | 4 +- .../src/entities/Pokemon.ts | 12 + .../src/migrations/PokemonGo.ts | 24789 ++++++++++++++++ .../src/migrations/PokemonGo.xlsx | Bin 108523 -> 0 bytes .../src/migrations/index.ts | 144 +- semana21/revisao- redfoxChallenge/yarn.lock | 111 +- 8 files changed, 24859 insertions(+), 208 deletions(-) create mode 100644 semana21/revisao- redfoxChallenge/src/entities/Pokemon.ts create mode 100644 semana21/revisao- redfoxChallenge/src/migrations/PokemonGo.ts delete mode 100644 semana21/revisao- redfoxChallenge/src/migrations/PokemonGo.xlsx diff --git a/semana21/revisao- redfoxChallenge/package.json b/semana21/revisao- redfoxChallenge/package.json index 55e92ba..de777a9 100644 --- a/semana21/revisao- redfoxChallenge/package.json +++ b/semana21/revisao- redfoxChallenge/package.json @@ -6,7 +6,7 @@ "scripts": { "start": "clear && tsc && node ./build/index.js", "dev": "clear && tsnd --ignore-watch node_modules --transpile-only --exit-child src/index.ts", - "migrations": "tsc && node ./src/migrations/index.ts" + "migrations": "tsnd ./src/migrations/index.ts" }, "devDependencies": { "@types/bcryptjs": "^2.4.2", @@ -27,7 +27,6 @@ "jsonwebtoken": "^8.5.1", "knex": "^0.95.11", "mysql": "^2.18.1", - "uuid": "^8.3.2", - "xlsx": "^0.17.3" + "uuid": "^8.3.2" } } diff --git a/semana21/revisao- redfoxChallenge/src/app.ts b/semana21/revisao- redfoxChallenge/src/app.ts index 58ba115..8f684e4 100644 --- a/semana21/revisao- redfoxChallenge/src/app.ts +++ b/semana21/revisao- redfoxChallenge/src/app.ts @@ -13,4 +13,4 @@ const server = app.listen(process.env.PORT || 3003, () => { } else { console.error(`Failure upon starting server`) } -}) +}) \ No newline at end of file diff --git a/semana21/revisao- redfoxChallenge/src/data/connection.ts b/semana21/revisao- redfoxChallenge/src/data/connection.ts index 5b45222..b7f00ba 100644 --- a/semana21/revisao- redfoxChallenge/src/data/connection.ts +++ b/semana21/revisao- redfoxChallenge/src/data/connection.ts @@ -1,5 +1,5 @@ -import knex from 'knex' -import dotenv from 'dotenv' +import knex from "knex" +import dotenv from "dotenv" dotenv.config() diff --git a/semana21/revisao- redfoxChallenge/src/entities/Pokemon.ts b/semana21/revisao- redfoxChallenge/src/entities/Pokemon.ts new file mode 100644 index 0000000..6507813 --- /dev/null +++ b/semana21/revisao- redfoxChallenge/src/entities/Pokemon.ts @@ -0,0 +1,12 @@ +export default class Pokemon { + //Como estou definindo a id como opcional, logo ele precisa ser o último + constructor(private name: string, private type1: string, private id?: string) {} + //Função que retorna id. + public getId = (): string | undefined => this.id; + + //Função que retorna name. + public getName = (): string => this.name; + + //Função que retorna tags. + public getType1 = (): string => this.type1; +} diff --git a/semana21/revisao- redfoxChallenge/src/migrations/PokemonGo.ts b/semana21/revisao- redfoxChallenge/src/migrations/PokemonGo.ts new file mode 100644 index 0000000..878d2dc --- /dev/null +++ b/semana21/revisao- redfoxChallenge/src/migrations/PokemonGo.ts @@ -0,0 +1,24789 @@ +export const pokemons = [ + { + "Row": 1, + "Name": "Bulbasaur", + "Pokedex_Number": 1, + "Img_name": 1, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 1, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 326, + "ATK": 118, + "DEF": 118, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 981, + "CP39": 967 + }, + { + "Row": 2, + "Name": "Ivysaur", + "Pokedex_Number": 2, + "Img_name": 2, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 1, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 422, + "ATK": 151, + "DEF": 151, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1552, + "CP39": 1529 + }, + { + "Row": 3, + "Name": "Venusaur", + "Pokedex_Number": 3, + "Img_name": 3, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 1, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 556, + "ATK": 198, + "DEF": 198, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2568, + "CP39": 2531 + }, + { + "Row": 4, + "Name": "Charmander", + "Pokedex_Number": 4, + "Img_name": 4, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 2, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 290, + "ATK": 116, + "DEF": 96, + "STA": 78, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 831, + "CP39": 819 + }, + { + "Row": 5, + "Name": "Charmeleon", + "Pokedex_Number": 5, + "Img_name": 5, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 2, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 403, + "ATK": 158, + "DEF": 129, + "STA": 116, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1484, + "CP39": 1462 + }, + { + "Row": 6, + "Name": "Charizard", + "Pokedex_Number": 6, + "Img_name": 6, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 2, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 555, + "ATK": 223, + "DEF": 176, + "STA": 156, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2686, + "CP39": 2648 + }, + { + "Row": 7, + "Name": "Squirtle", + "Pokedex_Number": 7, + "Img_name": 7, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 3, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 304, + "ATK": 94, + "DEF": 122, + "STA": 88, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 808, + "CP39": 797 + }, + { + "Row": 8, + "Name": "Wartortle", + "Pokedex_Number": 8, + "Img_name": 8, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 3, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 399, + "ATK": 126, + "DEF": 155, + "STA": 118, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1324, + "CP39": 1305 + }, + { + "Row": 9, + "Name": "Blastoise", + "Pokedex_Number": 9, + "Img_name": 9, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 3, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 539, + "ATK": 171, + "DEF": 210, + "STA": 158, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2291, + "CP39": 2259 + }, + { + "Row": 10, + "Name": "Caterpie", + "Pokedex_Number": 10, + "Img_name": 10, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 4, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 207, + "ATK": 55, + "DEF": 62, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 393, + "CP39": 387 + }, + { + "Row": 11, + "Name": "Metapod", + "Pokedex_Number": 11, + "Img_name": 11, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 4, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 239, + "ATK": 45, + "DEF": 94, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 419, + "CP39": 413 + }, + { + "Row": 12, + "Name": "Butterfree", + "Pokedex_Number": 12, + "Img_name": 12, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 0, + "FamilyID": 4, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 438, + "ATK": 167, + "DEF": 151, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1701, + "CP39": 1677 + }, + { + "Row": 13, + "Name": "Weedle", + "Pokedex_Number": 13, + "Img_name": 13, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 5, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 198, + "ATK": 63, + "DEF": 55, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 397, + "CP39": 391 + }, + { + "Row": 14, + "Name": "Kakuna", + "Pokedex_Number": 14, + "Img_name": 14, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 5, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 222, + "ATK": 46, + "DEF": 86, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 392, + "CP39": 386 + }, + { + "Row": 15, + "Name": "Beedrill", + "Pokedex_Number": 15, + "Img_name": 15, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 0, + "FamilyID": 5, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 449, + "ATK": 169, + "DEF": 150, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1777, + "CP39": 1752 + }, + { + "Row": 16, + "Name": "Pidgey", + "Pokedex_Number": 16, + "Img_name": 16, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 6, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 241, + "ATK": 85, + "DEF": 76, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 580, + "CP39": 572 + }, + { + "Row": 17, + "Name": "Pidgeotto", + "Pokedex_Number": 17, + "Img_name": 17, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 6, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 351, + "ATK": 117, + "DEF": 108, + "STA": 126, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1085, + "CP39": 1070 + }, + { + "Row": 18, + "Name": "Pidgeot", + "Pokedex_Number": 18, + "Img_name": 18, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 0, + "FamilyID": 6, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 489, + "ATK": 166, + "DEF": 157, + "STA": 166, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1994, + "CP39": 1966 + }, + { + "Row": 19, + "Name": "Rattata", + "Pokedex_Number": 19, + "Img_name": 19, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 7, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 233, + "ATK": 103, + "DEF": 70, + "STA": 60, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 588, + "CP39": 580 + }, + { + "Row": 20, + "Name": "Raticate", + "Pokedex_Number": 20, + "Img_name": 20, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 7, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 415, + "ATK": 161, + "DEF": 144, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1549, + "CP39": 1527 + }, + { + "Row": 21, + "Name": "Spearow", + "Pokedex_Number": 21, + "Img_name": 21, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 8, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 253, + "ATK": 112, + "DEF": 61, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 673, + "CP39": 664 + }, + { + "Row": 22, + "Name": "Fearow", + "Pokedex_Number": 22, + "Img_name": 22, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 8, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 447, + "ATK": 182, + "DEF": 135, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1814, + "CP39": 1788 + }, + { + "Row": 23, + "Name": "Ekans", + "Pokedex_Number": 23, + "Img_name": 23, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 9, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 282, + "ATK": 110, + "DEF": 102, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 778, + "CP39": 767 + }, + { + "Row": 24, + "Name": "Arbok", + "Pokedex_Number": 24, + "Img_name": 24, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 9, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 445, + "ATK": 167, + "DEF": 158, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1737, + "CP39": 1712 + }, + { + "Row": 25, + "Name": "Pikachu", + "Pokedex_Number": 25, + "Img_name": 25, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 10, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 283, + "ATK": 112, + "DEF": 101, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 1, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 787, + "CP39": 776 + }, + { + "Row": 26, + "Name": "Raichu", + "Pokedex_Number": 26, + "Img_name": 26, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 10, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 478, + "ATK": 193, + "DEF": 165, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2025, + "CP39": 1996 + }, + { + "Row": 27, + "Name": "Sandshrew", + "Pokedex_Number": 27, + "Img_name": 27, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 11, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 371, + "ATK": 126, + "DEF": 145, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1194, + "CP39": 1177 + }, + { + "Row": 28, + "Name": "Sandslash", + "Pokedex_Number": 28, + "Img_name": 28, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 11, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 534, + "ATK": 182, + "DEF": 202, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2328, + "CP39": 2294 + }, + { + "Row": 29, + "Name": "Nidoran F", + "Pokedex_Number": 29, + "Img_name": 29, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 12, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 290, + "ATK": 86, + "DEF": 94, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 736, + "CP39": 725 + }, + { + "Row": 30, + "Name": "Nidorina", + "Pokedex_Number": 30, + "Img_name": 30, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 12, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 383, + "ATK": 117, + "DEF": 126, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1218, + "CP39": 1201 + }, + { + "Row": 31, + "Name": "Nidoqueen", + "Pokedex_Number": 31, + "Img_name": 31, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 12, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "ground", + "Weather1": "Cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 534, + "ATK": 180, + "DEF": 174, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2338, + "CP39": 2304 + }, + { + "Row": 32, + "Name": "Nidoran M", + "Pokedex_Number": 32, + "Img_name": 32, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 13, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 273, + "ATK": 105, + "DEF": 76, + "STA": 92, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 739, + "CP39": 729 + }, + { + "Row": 33, + "Name": "Nidorino", + "Pokedex_Number": 33, + "Img_name": 33, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 13, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 371, + "ATK": 137, + "DEF": 112, + "STA": 122, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1252, + "CP39": 1234 + }, + { + "Row": 34, + "Name": "Nidoking", + "Pokedex_Number": 34, + "Img_name": 34, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 13, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "ground", + "Weather1": "Cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 523, + "ATK": 204, + "DEF": 157, + "STA": 162, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2386, + "CP39": 2352 + }, + { + "Row": 35, + "Name": "Clefairy", + "Pokedex_Number": 35, + "Img_name": 35, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 14, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 363, + "ATK": 107, + "DEF": 116, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1085, + "CP39": 1070 + }, + { + "Row": 36, + "Name": "Clefable", + "Pokedex_Number": 36, + "Img_name": 36, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 14, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 539, + "ATK": 178, + "DEF": 171, + "STA": 190, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2353, + "CP39": 2320 + }, + { + "Row": 37, + "Name": "Vulpix", + "Pokedex_Number": 37, + "Img_name": 37, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 15, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 294, + "ATK": 96, + "DEF": 122, + "STA": 76, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 774, + "CP39": 763 + }, + { + "Row": 38, + "Name": "Ninetales", + "Pokedex_Number": 38, + "Img_name": 38, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 15, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 519, + "ATK": 169, + "DEF": 204, + "STA": 146, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2157, + "CP39": 2127 + }, + { + "Row": 39, + "Name": "Jigglypuff", + "Pokedex_Number": 39, + "Img_name": 39, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 16, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "fairy", + "Weather1": "Partly cloudy", + "Weather2": "Cloudy", + "STAT_TOTAL": 354, + "ATK": 80, + "DEF": 44, + "STA": 230, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 713, + "CP39": 703 + }, + { + "Row": 40, + "Name": "Wigglytuff", + "Pokedex_Number": 40, + "Img_name": 40, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 16, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "fairy", + "Weather1": "Partly cloudy", + "Weather2": "Cloudy", + "STAT_TOTAL": 529, + "ATK": 156, + "DEF": 93, + "STA": 280, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1906, + "CP39": 1879 + }, + { + "Row": 41, + "Name": "Zubat", + "Pokedex_Number": 41, + "Img_name": 41, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 17, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "flying", + "Weather1": "Cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 239, + "ATK": 83, + "DEF": 76, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 569, + "CP39": 560 + }, + { + "Row": 42, + "Name": "Golbat", + "Pokedex_Number": 42, + "Img_name": 42, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 17, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "flying", + "Weather1": "Cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 464, + "ATK": 161, + "DEF": 153, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1830, + "CP39": 1804 + }, + { + "Row": 43, + "Name": "Oddish", + "Pokedex_Number": 43, + "Img_name": 43, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 18, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 337, + "ATK": 131, + "DEF": 116, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1069, + "CP39": 1054 + }, + { + "Row": 44, + "Name": "Gloom", + "Pokedex_Number": 44, + "Img_name": 44, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 18, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 412, + "ATK": 153, + "DEF": 139, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1512, + "CP39": 1491 + }, + { + "Row": 45, + "Name": "Vileplume", + "Pokedex_Number": 45, + "Img_name": 45, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 18, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 522, + "ATK": 202, + "DEF": 170, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2367, + "CP39": 2334 + }, + { + "Row": 46, + "Name": "Paras", + "Pokedex_Number": 46, + "Img_name": 46, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 19, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 290, + "ATK": 121, + "DEF": 99, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 836, + "CP39": 824 + }, + { + "Row": 47, + "Name": "Parasect", + "Pokedex_Number": 47, + "Img_name": 47, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 19, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 431, + "ATK": 165, + "DEF": 146, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1657, + "CP39": 1633 + }, + { + "Row": 48, + "Name": "Venonat", + "Pokedex_Number": 48, + "Img_name": 48, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 20, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 322, + "ATK": 100, + "DEF": 102, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 902, + "CP39": 889 + }, + { + "Row": 49, + "Name": "Venomoth", + "Pokedex_Number": 49, + "Img_name": 49, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 20, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 469, + "ATK": 179, + "DEF": 150, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1937, + "CP39": 1910 + }, + { + "Row": 50, + "Name": "Diglett", + "Pokedex_Number": 50, + "Img_name": 50, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 21, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 217, + "ATK": 109, + "DEF": 88, + "STA": 20, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 465, + "CP39": 458 + }, + { + "Row": 51, + "Name": "Dugtrio", + "Pokedex_Number": 51, + "Img_name": 51, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 21, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 384, + "ATK": 167, + "DEF": 147, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1333, + "CP39": 1314 + }, + { + "Row": 52, + "Name": "Meowth", + "Pokedex_Number": 52, + "Img_name": 52, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 23, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 253, + "ATK": 92, + "DEF": 81, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 638, + "CP39": 629 + }, + { + "Row": 53, + "Name": "Persian", + "Pokedex_Number": 53, + "Img_name": 53, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 23, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 419, + "ATK": 150, + "DEF": 139, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1539, + "CP39": 1517 + }, + { + "Row": 54, + "Name": "Psyduck", + "Pokedex_Number": 54, + "Img_name": 54, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 24, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 318, + "ATK": 122, + "DEF": 96, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 966, + "CP39": 952 + }, + { + "Row": 55, + "Name": "Golduck", + "Pokedex_Number": 55, + "Img_name": 55, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 24, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 514, + "ATK": 191, + "DEF": 163, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2270, + "CP39": 2238 + }, + { + "Row": 56, + "Name": "Mankey", + "Pokedex_Number": 56, + "Img_name": 56, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 25, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 315, + "ATK": 148, + "DEF": 87, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1002, + "CP39": 987 + }, + { + "Row": 57, + "Name": "Primeape", + "Pokedex_Number": 57, + "Img_name": 57, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 25, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 481, + "ATK": 207, + "DEF": 144, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2105, + "CP39": 2075 + }, + { + "Row": 58, + "Name": "Growlithe", + "Pokedex_Number": 58, + "Img_name": 58, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 26, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 342, + "ATK": 136, + "DEF": 96, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1110, + "CP39": 1095 + }, + { + "Row": 59, + "Name": "Arcanine", + "Pokedex_Number": 59, + "Img_name": 59, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 26, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 573, + "ATK": 227, + "DEF": 166, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2839, + "CP39": 2799 + }, + { + "Row": 60, + "Name": "Poliwag", + "Pokedex_Number": 60, + "Img_name": 60, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 27, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 263, + "ATK": 101, + "DEF": 82, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 695, + "CP39": 685 + }, + { + "Row": 61, + "Name": "Poliwhirl", + "Pokedex_Number": 61, + "Img_name": 61, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 27, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 390, + "ATK": 130, + "DEF": 130, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1313, + "CP39": 1294 + }, + { + "Row": 62, + "Name": "Poliwrath", + "Pokedex_Number": 62, + "Img_name": 62, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 27, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "fighting", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 549, + "ATK": 182, + "DEF": 187, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2441, + "CP39": 2407 + }, + { + "Row": 63, + "Name": "Abra", + "Pokedex_Number": 63, + "Img_name": 63, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 28, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 348, + "ATK": 195, + "DEF": 103, + "STA": 50, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1148, + "CP39": 1132 + }, + { + "Row": 64, + "Name": "Kadabra", + "Pokedex_Number": 64, + "Img_name": 64, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 28, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 450, + "ATK": 232, + "DEF": 138, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1859, + "CP39": 1833 + }, + { + "Row": 65, + "Name": "Alakazam", + "Pokedex_Number": 65, + "Img_name": 65, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 28, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 575, + "ATK": 271, + "DEF": 194, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2887, + "CP39": 2845 + }, + { + "Row": 66, + "Name": "Machop", + "Pokedex_Number": 66, + "Img_name": 66, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 29, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 365, + "ATK": 137, + "DEF": 88, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1199, + "CP39": 1182 + }, + { + "Row": 67, + "Name": "Machoke", + "Pokedex_Number": 67, + "Img_name": 67, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 29, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 467, + "ATK": 177, + "DEF": 130, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1910, + "CP39": 1882 + }, + { + "Row": 68, + "Name": "Machamp", + "Pokedex_Number": 68, + "Img_name": 68, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 29, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 576, + "ATK": 234, + "DEF": 162, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 3, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2889, + "CP39": 2848 + }, + { + "Row": 69, + "Name": "Bellsprout", + "Pokedex_Number": 69, + "Img_name": 69, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 30, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 303, + "ATK": 139, + "DEF": 64, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 916, + "CP39": 903 + }, + { + "Row": 70, + "Name": "Weepinbell", + "Pokedex_Number": 70, + "Img_name": 70, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 30, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 397, + "ATK": 172, + "DEF": 95, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1475, + "CP39": 1453 + }, + { + "Row": 71, + "Name": "Victreebel", + "Pokedex_Number": 71, + "Img_name": 71, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 30, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 505, + "ATK": 207, + "DEF": 138, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2268, + "CP39": 2236 + }, + { + "Row": 72, + "Name": "Tentacool", + "Pokedex_Number": 72, + "Img_name": 72, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 31, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 359, + "ATK": 97, + "DEF": 182, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 956, + "CP39": 943 + }, + { + "Row": 73, + "Name": "Tentacruel", + "Pokedex_Number": 73, + "Img_name": 73, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 31, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 563, + "ATK": 166, + "DEF": 237, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2374, + "CP39": 2340 + }, + { + "Row": 74, + "Name": "Geodude", + "Pokedex_Number": 74, + "Img_name": 74, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 32, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "ground", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 375, + "ATK": 132, + "DEF": 163, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1193, + "CP39": 1176 + }, + { + "Row": 75, + "Name": "Graveler", + "Pokedex_Number": 75, + "Img_name": 75, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 32, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "ground", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 470, + "ATK": 164, + "DEF": 196, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1815, + "CP39": 1789 + }, + { + "Row": 76, + "Name": "Golem", + "Pokedex_Number": 76, + "Img_name": 76, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 32, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "ground", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 600, + "ATK": 211, + "DEF": 229, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 4, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2916, + "CP39": 2875 + }, + { + "Row": 77, + "Name": "Ponyta", + "Pokedex_Number": 77, + "Img_name": 77, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 33, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 402, + "ATK": 170, + "DEF": 132, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1502, + "CP39": 1480 + }, + { + "Row": 78, + "Name": "Rapidash", + "Pokedex_Number": 78, + "Img_name": 78, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 33, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 504, + "ATK": 207, + "DEF": 167, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2252, + "CP39": 2220 + }, + { + "Row": 79, + "Name": "Slowpoke", + "Pokedex_Number": 79, + "Img_name": 79, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 34, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "psychic", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 398, + "ATK": 109, + "DEF": 109, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1204, + "CP39": 1187 + }, + { + "Row": 80, + "Name": "Slowbro", + "Pokedex_Number": 80, + "Img_name": 80, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 34, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "psychic", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 561, + "ATK": 177, + "DEF": 194, + "STA": 190, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2482, + "CP39": 2446 + }, + { + "Row": 81, + "Name": "Magnemite", + "Pokedex_Number": 81, + "Img_name": 81, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 35, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "steel", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 343, + "ATK": 165, + "DEF": 128, + "STA": 50, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1083, + "CP39": 1068 + }, + { + "Row": 82, + "Name": "Magneton", + "Pokedex_Number": 82, + "Img_name": 82, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 35, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "steel", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 505, + "ATK": 223, + "DEF": 182, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 2237, + "CP39": 2205 + }, + { + "Row": 83, + "Name": "Farfetchd", + "Pokedex_Number": 83, + "Img_name": 83, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 36, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 346, + "ATK": 124, + "DEF": 118, + "STA": 104, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1092, + "CP39": 1076 + }, + { + "Row": 84, + "Name": "Doduo", + "Pokedex_Number": 84, + "Img_name": 84, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 37, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 316, + "ATK": 158, + "DEF": 88, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1011, + "CP39": 996 + }, + { + "Row": 85, + "Name": "Dodrio", + "Pokedex_Number": 85, + "Img_name": 85, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 37, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 483, + "ATK": 218, + "DEF": 145, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2138, + "CP39": 2108 + }, + { + "Row": 86, + "Name": "Seel", + "Pokedex_Number": 86, + "Img_name": 86, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 38, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 343, + "ATK": 85, + "DEF": 128, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 899, + "CP39": 886 + }, + { + "Row": 87, + "Name": "Dewgong", + "Pokedex_Number": 87, + "Img_name": 87, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 38, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ice", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 503, + "ATK": 139, + "DEF": 184, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1894, + "CP39": 1867 + }, + { + "Row": 88, + "Name": "Grimer", + "Pokedex_Number": 88, + "Img_name": 88, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 39, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 385, + "ATK": 135, + "DEF": 90, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1269, + "CP39": 1251 + }, + { + "Row": 89, + "Name": "Muk", + "Pokedex_Number": 89, + "Img_name": 89, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 39, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 584, + "ATK": 190, + "DEF": 184, + "STA": 210, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2709, + "CP39": 2670 + }, + { + "Row": 90, + "Name": "Shellder", + "Pokedex_Number": 90, + "Img_name": 90, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 40, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 344, + "ATK": 116, + "DEF": 168, + "STA": 60, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 958, + "CP39": 944 + }, + { + "Row": 91, + "Name": "Cloyster", + "Pokedex_Number": 91, + "Img_name": 91, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 40, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ice", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 609, + "ATK": 186, + "DEF": 323, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2475, + "CP39": 2439 + }, + { + "Row": 92, + "Name": "Gastly", + "Pokedex_Number": 92, + "Img_name": 92, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 41, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "poison", + "Weather1": "Fog", + "Weather2": "Cloudy", + "STAT_TOTAL": 316, + "ATK": 186, + "DEF": 70, + "STA": 60, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1002, + "CP39": 988 + }, + { + "Row": 93, + "Name": "Haunter", + "Pokedex_Number": 93, + "Img_name": 93, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 41, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "poison", + "Weather1": "Fog", + "Weather2": "Cloudy", + "STAT_TOTAL": 425, + "ATK": 223, + "DEF": 112, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1716, + "CP39": 1692 + }, + { + "Row": 94, + "Name": "Gengar", + "Pokedex_Number": 94, + "Img_name": 94, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 41, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "poison", + "Weather1": "Fog", + "Weather2": "Cloudy", + "STAT_TOTAL": 537, + "ATK": 261, + "DEF": 156, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 3, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2619, + "CP39": 2581 + }, + { + "Row": 95, + "Name": "Onix", + "Pokedex_Number": 95, + "Img_name": 95, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 42, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "ground", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 443, + "ATK": 85, + "DEF": 288, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1002, + "CP39": 988 + }, + { + "Row": 96, + "Name": "Drowzee", + "Pokedex_Number": 96, + "Img_name": 96, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 43, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 367, + "ATK": 89, + "DEF": 158, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 992, + "CP39": 978 + }, + { + "Row": 97, + "Name": "Hypno", + "Pokedex_Number": 97, + "Img_name": 97, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 43, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 529, + "ATK": 144, + "DEF": 215, + "STA": 170, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2048, + "CP39": 2019 + }, + { + "Row": 98, + "Name": "Krabby", + "Pokedex_Number": 98, + "Img_name": 98, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 44, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 397, + "ATK": 181, + "DEF": 156, + "STA": 60, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1386, + "CP39": 1366 + }, + { + "Row": 99, + "Name": "Kingler", + "Pokedex_Number": 99, + "Img_name": 99, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 44, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 564, + "ATK": 240, + "DEF": 214, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2694, + "CP39": 2656 + }, + { + "Row": 100, + "Name": "Voltorb", + "Pokedex_Number": 100, + "Img_name": 100, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 45, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 303, + "ATK": 109, + "DEF": 114, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 857, + "CP39": 845 + }, + { + "Row": 101, + "Name": "Electrode", + "Pokedex_Number": 101, + "Img_name": 101, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 45, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 472, + "ATK": 173, + "DEF": 179, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1900, + "CP39": 1873 + }, + { + "Row": 102, + "Name": "Exeggcute", + "Pokedex_Number": 102, + "Img_name": 102, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 46, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "psychic", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 367, + "ATK": 107, + "DEF": 140, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1102, + "CP39": 1086 + }, + { + "Row": 103, + "Name": "Exeggutor", + "Pokedex_Number": 103, + "Img_name": 103, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 46, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "psychic", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 581, + "ATK": 233, + "DEF": 158, + "STA": 190, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 2, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2916, + "CP39": 2875 + }, + { + "Row": 104, + "Name": "Cubone", + "Pokedex_Number": 104, + "Img_name": 104, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 47, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 355, + "ATK": 90, + "DEF": 165, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 943, + "CP39": 930 + }, + { + "Row": 105, + "Name": "Marowak", + "Pokedex_Number": 105, + "Img_name": 105, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 47, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 464, + "ATK": 144, + "DEF": 200, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1691, + "CP39": 1667 + }, + { + "Row": 106, + "Name": "Hitmonlee", + "Pokedex_Number": 106, + "Img_name": 106, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 48, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 535, + "ATK": 224, + "DEF": 211, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2406, + "CP39": 2372 + }, + { + "Row": 107, + "Name": "Hitmonchan", + "Pokedex_Number": 107, + "Img_name": 107, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 48, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 505, + "ATK": 193, + "DEF": 212, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2098, + "CP39": 2069 + }, + { + "Row": 108, + "Name": "Lickitung", + "Pokedex_Number": 108, + "Img_name": 108, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 49, + "Cross_Gen": 1, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 425, + "ATK": 108, + "DEF": 137, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1322, + "CP39": 1303 + }, + { + "Row": 109, + "Name": "Koffing", + "Pokedex_Number": 109, + "Img_name": 109, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 50, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 363, + "ATK": 119, + "DEF": 164, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1091, + "CP39": 1075 + }, + { + "Row": 110, + "Name": "Weezing", + "Pokedex_Number": 110, + "Img_name": 110, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 50, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 525, + "ATK": 174, + "DEF": 221, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2183, + "CP39": 2152 + }, + { + "Row": 111, + "Name": "Rhyhorn", + "Pokedex_Number": 111, + "Img_name": 111, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 51, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "rock", + "Weather1": "Sunny/clear", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 457, + "ATK": 140, + "DEF": 157, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1679, + "CP39": 1655 + }, + { + "Row": 112, + "Name": "Rhydon", + "Pokedex_Number": 112, + "Img_name": 112, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 51, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "rock", + "Weather1": "Sunny/clear", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 638, + "ATK": 222, + "DEF": 206, + "STA": 210, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 3300, + "CP39": 3253 + }, + { + "Row": 113, + "Name": "Chansey", + "Pokedex_Number": 113, + "Img_name": 113, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 52, + "Cross_Gen": 1, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 736, + "ATK": 60, + "DEF": 176, + "STA": 500, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1469, + "CP39": 1448 + }, + { + "Row": 114, + "Name": "Tangela", + "Pokedex_Number": 114, + "Img_name": 114, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 53, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 518, + "ATK": 183, + "DEF": 205, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 2208, + "CP39": 2177 + }, + { + "Row": 115, + "Name": "Kangaskhan", + "Pokedex_Number": 115, + "Img_name": 115, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 54, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 556, + "ATK": 181, + "DEF": 165, + "STA": 210, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2463, + "CP39": 2428 + }, + { + "Row": 116, + "Name": "Horsea", + "Pokedex_Number": 116, + "Img_name": 116, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 55, + "Cross_Gen": 1, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 314, + "ATK": 129, + "DEF": 125, + "STA": 60, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 921, + "CP39": 908 + }, + { + "Row": 117, + "Name": "Seadra", + "Pokedex_Number": 117, + "Img_name": 117, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 55, + "Cross_Gen": 1, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 479, + "ATK": 187, + "DEF": 182, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1979, + "CP39": 1951 + }, + { + "Row": 118, + "Name": "Goldeen", + "Pokedex_Number": 118, + "Img_name": 118, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 56, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 328, + "ATK": 123, + "DEF": 115, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1006, + "CP39": 992 + }, + { + "Row": 119, + "Name": "Seaking", + "Pokedex_Number": 119, + "Img_name": 119, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 56, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 489, + "ATK": 175, + "DEF": 154, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2040, + "CP39": 2011 + }, + { + "Row": 120, + "Name": "Staryu", + "Pokedex_Number": 120, + "Img_name": 120, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 57, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 309, + "ATK": 137, + "DEF": 112, + "STA": 60, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 926, + "CP39": 913 + }, + { + "Row": 121, + "Name": "Starmie", + "Pokedex_Number": 121, + "Img_name": 121, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 57, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "psychic", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 514, + "ATK": 210, + "DEF": 184, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2303, + "CP39": 2270 + }, + { + "Row": 122, + "Name": "Mr Mime", + "Pokedex_Number": 122, + "Img_name": 122, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 58, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "fairy", + "Weather1": "Windy", + "Weather2": "Cloudy", + "STAT_TOTAL": 505, + "ATK": 192, + "DEF": 233, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1984, + "CP39": 1956 + }, + { + "Row": 123, + "Name": "Scyther", + "Pokedex_Number": 123, + "Img_name": 123, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 59, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 528, + "ATK": 218, + "DEF": 170, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2464, + "CP39": 2429 + }, + { + "Row": 124, + "Name": "Jynx", + "Pokedex_Number": 124, + "Img_name": 124, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 60, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "psychic", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 535, + "ATK": 223, + "DEF": 182, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 3, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2512, + "CP39": 2476 + }, + { + "Row": 125, + "Name": "Electabuzz", + "Pokedex_Number": 125, + "Img_name": 125, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 61, + "Cross_Gen": 1, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 501, + "ATK": 198, + "DEF": 173, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 2, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 2196, + "CP39": 2165 + }, + { + "Row": 126, + "Name": "Magmar", + "Pokedex_Number": 126, + "Img_name": 126, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 62, + "Cross_Gen": 1, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 505, + "ATK": 206, + "DEF": 169, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 2254, + "CP39": 2222 + }, + { + "Row": 127, + "Name": "Pinsir", + "Pokedex_Number": 127, + "Img_name": 127, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 63, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 565, + "ATK": 238, + "DEF": 197, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2770, + "CP39": 2730 + }, + { + "Row": 128, + "Name": "Tauros", + "Pokedex_Number": 128, + "Img_name": 128, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 64, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 545, + "ATK": 198, + "DEF": 197, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2488, + "CP39": 2452 + }, + { + "Row": 129, + "Name": "Magikarp", + "Pokedex_Number": 129, + "Img_name": 129, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 65, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 171, + "ATK": 29, + "DEF": 102, + "STA": 40, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 1, + "Hatchable": 0, + "Shiny": 1, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 220, + "CP39": 217 + }, + { + "Row": 130, + "Name": "Gyarados", + "Pokedex_Number": 130, + "Img_name": 130, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 65, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 624, + "ATK": 237, + "DEF": 197, + "STA": 190, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3281, + "CP39": 3234 + }, + { + "Row": 131, + "Name": "Lapras", + "Pokedex_Number": 131, + "Img_name": 131, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 66, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ice", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 605, + "ATK": 165, + "DEF": 180, + "STA": 260, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2603, + "CP39": 2566 + }, + { + "Row": 132, + "Name": "Ditto", + "Pokedex_Number": 132, + "Img_name": 132, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 67, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 278, + "ATK": 91, + "DEF": 91, + "STA": 96, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 718, + "CP39": 707 + }, + { + "Row": 133, + "Name": "Eevee", + "Pokedex_Number": 133, + "Img_name": 133, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 68, + "Cross_Gen": 1, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 335, + "ATK": 104, + "DEF": 121, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 969, + "CP39": 955 + }, + { + "Row": 134, + "Name": "Vaporeon", + "Pokedex_Number": 134, + "Img_name": 134, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 68, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 642, + "ATK": 205, + "DEF": 177, + "STA": 260, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3157, + "CP39": 3112 + }, + { + "Row": 135, + "Name": "Jolteon", + "Pokedex_Number": 135, + "Img_name": 135, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 68, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 563, + "ATK": 232, + "DEF": 201, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 3, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2730, + "CP39": 2691 + }, + { + "Row": 136, + "Name": "Flareon", + "Pokedex_Number": 136, + "Img_name": 136, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 68, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 580, + "ATK": 246, + "DEF": 204, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2904, + "CP39": 2863 + }, + { + "Row": 137, + "Name": "Porygon", + "Pokedex_Number": 137, + "Img_name": 137, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 69, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 422, + "ATK": 153, + "DEF": 139, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1567, + "CP39": 1545 + }, + { + "Row": 138, + "Name": "Omanyte", + "Pokedex_Number": 138, + "Img_name": 138, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 70, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "water", + "Weather1": "Partly cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 399, + "ATK": 155, + "DEF": 174, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1345, + "CP39": 1326 + }, + { + "Row": 139, + "Name": "Omastar", + "Pokedex_Number": 139, + "Img_name": 139, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 70, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "water", + "Weather1": "Partly cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 574, + "ATK": 207, + "DEF": 227, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2685, + "CP39": 2647 + }, + { + "Row": 140, + "Name": "Kabuto", + "Pokedex_Number": 140, + "Img_name": 140, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 71, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "water", + "Weather1": "Partly cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 370, + "ATK": 148, + "DEF": 162, + "STA": 60, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1172, + "CP39": 1156 + }, + { + "Row": 141, + "Name": "Kabutops", + "Pokedex_Number": 141, + "Img_name": 141, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 71, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "water", + "Weather1": "Partly cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 543, + "ATK": 220, + "DEF": 203, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2517, + "CP39": 2481 + }, + { + "Row": 142, + "Name": "Aerodactyl", + "Pokedex_Number": 142, + "Img_name": 142, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 72, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 545, + "ATK": 221, + "DEF": 164, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2608, + "CP39": 2571 + }, + { + "Row": 143, + "Name": "Snorlax", + "Pokedex_Number": 143, + "Img_name": 143, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 73, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 700, + "ATK": 190, + "DEF": 190, + "STA": 320, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3355, + "CP39": 3307 + }, + { + "Row": 144, + "Name": "Articuno", + "Pokedex_Number": 144, + "Img_name": 144, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 74, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "flying", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 621, + "ATK": 192, + "DEF": 249, + "STA": 180, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 1, + "Future_Evolve": 0, + "CP40": 2933, + "CP39": 2891 + }, + { + "Row": 145, + "Name": "Zapdos", + "Pokedex_Number": 145, + "Img_name": 145, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 75, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 621, + "ATK": 253, + "DEF": 188, + "STA": 180, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 1, + "Future_Evolve": 0, + "CP40": 3330, + "CP39": 3282 + }, + { + "Row": 146, + "Name": "Moltres", + "Pokedex_Number": 146, + "Img_name": 146, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 76, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 615, + "ATK": 251, + "DEF": 184, + "STA": 180, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 1, + "Future_Evolve": 0, + "CP40": 3272, + "CP39": 3225 + }, + { + "Row": 147, + "Name": "Dratini", + "Pokedex_Number": 147, + "Img_name": 147, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 77, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 295, + "ATK": 119, + "DEF": 94, + "STA": 82, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 860, + "CP39": 848 + }, + { + "Row": 148, + "Name": "Dragonair", + "Pokedex_Number": 148, + "Img_name": 148, + "Generation": 1, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 77, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 423, + "ATK": 163, + "DEF": 138, + "STA": 122, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1609, + "CP39": 1586 + }, + { + "Row": 149, + "Name": "Dragonite", + "Pokedex_Number": 149, + "Img_name": 149, + "Generation": 1, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 77, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 646, + "ATK": 263, + "DEF": 201, + "STA": 182, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3581, + "CP39": 3530 + }, + { + "Row": 150, + "Name": "Mewtwo", + "Pokedex_Number": 150, + "Img_name": 150, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 78, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 675, + "ATK": 300, + "DEF": 182, + "STA": 193, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3982, + "CP39": 3925 + }, + { + "Row": 151, + "Name": "Mew", + "Pokedex_Number": 151, + "Img_name": 151, + "Generation": 1, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 79, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 620, + "ATK": 210, + "DEF": 210, + "STA": 200, + "Legendary": 2, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3090, + "CP39": 3046 + }, + { + "Row": 152, + "Name": "Chikorita", + "Pokedex_Number": 152, + "Img_name": 152, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 80, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 304, + "ATK": 92, + "DEF": 122, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 801, + "CP39": 790 + }, + { + "Row": 153, + "Name": "Bayleef", + "Pokedex_Number": 153, + "Img_name": 153, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 80, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 397, + "ATK": 122, + "DEF": 155, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1296, + "CP39": 1277 + }, + { + "Row": 154, + "Name": "Meganium", + "Pokedex_Number": 154, + "Img_name": 154, + "Generation": 2, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 80, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 530, + "ATK": 168, + "DEF": 202, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2227, + "CP39": 2195 + }, + { + "Row": 155, + "Name": "Cyndaquil", + "Pokedex_Number": 155, + "Img_name": 155, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 81, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 290, + "ATK": 116, + "DEF": 96, + "STA": 78, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 831, + "CP39": 819 + }, + { + "Row": 156, + "Name": "Quilava", + "Pokedex_Number": 156, + "Img_name": 156, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 81, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 403, + "ATK": 158, + "DEF": 129, + "STA": 116, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1484, + "CP39": 1462 + }, + { + "Row": 157, + "Name": "Typhlosion", + "Pokedex_Number": 157, + "Img_name": 157, + "Generation": 2, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 81, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 555, + "ATK": 223, + "DEF": 176, + "STA": 156, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2686, + "CP39": 2648 + }, + { + "Row": 158, + "Name": "Totodile", + "Pokedex_Number": 158, + "Img_name": 158, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 82, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 333, + "ATK": 117, + "DEF": 116, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1011, + "CP39": 997 + }, + { + "Row": 159, + "Name": "Croconaw", + "Pokedex_Number": 159, + "Img_name": 159, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 82, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 431, + "ATK": 150, + "DEF": 151, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1598, + "CP39": 1576 + }, + { + "Row": 160, + "Name": "Feraligatr", + "Pokedex_Number": 160, + "Img_name": 160, + "Generation": 2, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 82, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 572, + "ATK": 205, + "DEF": 197, + "STA": 170, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2721, + "CP39": 2682 + }, + { + "Row": 161, + "Name": "Sentret", + "Pokedex_Number": 161, + "Img_name": 161, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 83, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 226, + "ATK": 79, + "DEF": 77, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 519, + "CP39": 511 + }, + { + "Row": 162, + "Name": "Furret", + "Pokedex_Number": 162, + "Img_name": 162, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 83, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 448, + "ATK": 148, + "DEF": 130, + "STA": 170, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1667, + "CP39": 1643 + }, + { + "Row": 163, + "Name": "Hoothoot", + "Pokedex_Number": 163, + "Img_name": 163, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 84, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 288, + "ATK": 67, + "DEF": 101, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 640, + "CP39": 631 + }, + { + "Row": 164, + "Name": "Noctowl", + "Pokedex_Number": 164, + "Img_name": 164, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 84, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 524, + "ATK": 145, + "DEF": 179, + "STA": 200, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2040, + "CP39": 2011 + }, + { + "Row": 165, + "Name": "Ledyba", + "Pokedex_Number": 165, + "Img_name": 165, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 85, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 294, + "ATK": 72, + "DEF": 142, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 663, + "CP39": 654 + }, + { + "Row": 166, + "Name": "Ledian", + "Pokedex_Number": 166, + "Img_name": 166, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 85, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 426, + "ATK": 107, + "DEF": 209, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1275, + "CP39": 1256 + }, + { + "Row": 167, + "Name": "Spinarak", + "Pokedex_Number": 167, + "Img_name": 167, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 86, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 258, + "ATK": 105, + "DEF": 73, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 685, + "CP39": 675 + }, + { + "Row": 168, + "Name": "Ariados", + "Pokedex_Number": 168, + "Img_name": 168, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 86, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 429, + "ATK": 161, + "DEF": 128, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1636, + "CP39": 1613 + }, + { + "Row": 169, + "Name": "Crobat", + "Pokedex_Number": 169, + "Img_name": 169, + "Generation": 2, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 17, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "flying", + "Weather1": "Cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 542, + "ATK": 194, + "DEF": 178, + "STA": 170, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2466, + "CP39": 2431 + }, + { + "Row": 170, + "Name": "Chinchou", + "Pokedex_Number": 170, + "Img_name": 170, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 87, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 362, + "ATK": 106, + "DEF": 106, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1067, + "CP39": 1052 + }, + { + "Row": 171, + "Name": "Lanturn", + "Pokedex_Number": 171, + "Img_name": 171, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 87, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 542, + "ATK": 146, + "DEF": 146, + "STA": 250, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2077, + "CP39": 2047 + }, + { + "Row": 172, + "Name": "Pichu", + "Pokedex_Number": 172, + "Img_name": 172, + "Generation": 2, + "Evolution_Stage": 0, + "Evolved": 0, + "FamilyID": 10, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 180, + "ATK": 77, + "DEF": 63, + "STA": 40, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 376, + "CP39": 370 + }, + { + "Row": 173, + "Name": "Cleffa", + "Pokedex_Number": 173, + "Img_name": 173, + "Generation": 2, + "Evolution_Stage": 0, + "Evolved": 0, + "FamilyID": 14, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 266, + "ATK": 75, + "DEF": 91, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 620, + "CP39": 611 + }, + { + "Row": 174, + "Name": "Igglybuff", + "Pokedex_Number": 174, + "Img_name": 174, + "Generation": 2, + "Evolution_Stage": 0, + "Evolved": 0, + "FamilyID": 16, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "fairy", + "Weather1": "Partly cloudy", + "Weather2": "Cloudy", + "STAT_TOTAL": 283, + "ATK": 69, + "DEF": 34, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 512, + "CP39": 505 + }, + { + "Row": 175, + "Name": "Togepi", + "Pokedex_Number": 175, + "Img_name": 175, + "Generation": 2, + "Evolution_Stage": 0, + "Evolved": 0, + "FamilyID": 88, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 253, + "ATK": 67, + "DEF": 116, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 540, + "CP39": 532 + }, + { + "Row": 176, + "Name": "Togetic", + "Pokedex_Number": 176, + "Img_name": 176, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 88, + "Cross_Gen": 0, + "Type1": "fairy", + "Type2": "flying", + "Weather1": "Cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 440, + "ATK": 139, + "DEF": 191, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1543, + "CP39": 1521 + }, + { + "Row": 177, + "Name": "Natu", + "Pokedex_Number": 177, + "Img_name": 177, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 89, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 303, + "ATK": 134, + "DEF": 89, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 925, + "CP39": 911 + }, + { + "Row": 178, + "Name": "Xatu", + "Pokedex_Number": 178, + "Img_name": 178, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 89, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 468, + "ATK": 192, + "DEF": 146, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1975, + "CP39": 1947 + }, + { + "Row": 179, + "Name": "Mareep", + "Pokedex_Number": 179, + "Img_name": 179, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 90, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 306, + "ATK": 114, + "DEF": 82, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 887, + "CP39": 874 + }, + { + "Row": 180, + "Name": "Flaaffy", + "Pokedex_Number": 180, + "Img_name": 180, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 90, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 397, + "ATK": 145, + "DEF": 112, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1402, + "CP39": 1382 + }, + { + "Row": 181, + "Name": "Ampharos", + "Pokedex_Number": 181, + "Img_name": 181, + "Generation": 2, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 90, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 563, + "ATK": 211, + "DEF": 172, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2695, + "CP39": 2656 + }, + { + "Row": 182, + "Name": "Bellossom", + "Pokedex_Number": 182, + "Img_name": 182, + "Generation": 2, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 18, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 508, + "ATK": 169, + "DEF": 189, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2108, + "CP39": 2078 + }, + { + "Row": 183, + "Name": "Marill", + "Pokedex_Number": 183, + "Img_name": 183, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 91, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "fairy", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 270, + "ATK": 37, + "DEF": 93, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 420, + "CP39": 414 + }, + { + "Row": 184, + "Name": "Azumarill", + "Pokedex_Number": 184, + "Img_name": 184, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 91, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "fairy", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 464, + "ATK": 112, + "DEF": 152, + "STA": 200, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1503, + "CP39": 1481 + }, + { + "Row": 185, + "Name": "Sudowoodo", + "Pokedex_Number": 185, + "Img_name": 185, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 92, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 505, + "ATK": 167, + "DEF": 198, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2065, + "CP39": 2035 + }, + { + "Row": 186, + "Name": "Politoed", + "Pokedex_Number": 186, + "Img_name": 186, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 27, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 546, + "ATK": 174, + "DEF": 192, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2371, + "CP39": 2337 + }, + { + "Row": 187, + "Name": "Hoppip", + "Pokedex_Number": 187, + "Img_name": 187, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 93, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 238, + "ATK": 67, + "DEF": 101, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 508, + "CP39": 501 + }, + { + "Row": 188, + "Name": "Skiploom", + "Pokedex_Number": 188, + "Img_name": 188, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 93, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 328, + "ATK": 91, + "DEF": 127, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 882, + "CP39": 869 + }, + { + "Row": 189, + "Name": "Jumpluff", + "Pokedex_Number": 189, + "Img_name": 189, + "Generation": 2, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 93, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 465, + "ATK": 118, + "DEF": 197, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1553, + "CP39": 1531 + }, + { + "Row": 190, + "Name": "Aipom", + "Pokedex_Number": 190, + "Img_name": 190, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 94, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 358, + "ATK": 136, + "DEF": 112, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1188, + "CP39": 1171 + }, + { + "Row": 191, + "Name": "Sunkern", + "Pokedex_Number": 191, + "Img_name": 191, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 95, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 170, + "ATK": 55, + "DEF": 55, + "STA": 60, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 316, + "CP39": 312 + }, + { + "Row": 192, + "Name": "Sunflora", + "Pokedex_Number": 192, + "Img_name": 192, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 95, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 483, + "ATK": 185, + "DEF": 148, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2048, + "CP39": 2019 + }, + { + "Row": 193, + "Name": "Yanma", + "Pokedex_Number": 193, + "Img_name": 193, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 96, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 378, + "ATK": 154, + "DEF": 94, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1326, + "CP39": 1308 + }, + { + "Row": 194, + "Name": "Wooper", + "Pokedex_Number": 194, + "Img_name": 194, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 97, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ground", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 260, + "ATK": 75, + "DEF": 75, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 596, + "CP39": 587 + }, + { + "Row": 195, + "Name": "Quagsire", + "Pokedex_Number": 195, + "Img_name": 195, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 97, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ground", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 494, + "ATK": 152, + "DEF": 152, + "STA": 190, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1929, + "CP39": 1902 + }, + { + "Row": 196, + "Name": "Espeon", + "Pokedex_Number": 196, + "Img_name": 196, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 68, + "Cross_Gen": 1, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 585, + "ATK": 261, + "DEF": 194, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3000, + "CP39": 2958 + }, + { + "Row": 197, + "Name": "Umbreon", + "Pokedex_Number": 197, + "Img_name": 197, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 68, + "Cross_Gen": 1, + "Type1": "dark", + "Weather1": "Fog", + "STAT_TOTAL": 566, + "ATK": 126, + "DEF": 250, + "STA": 190, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2052, + "CP39": 2023 + }, + { + "Row": 198, + "Name": "Murkrow", + "Pokedex_Number": 198, + "Img_name": 198, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 98, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "flying", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 382, + "ATK": 175, + "DEF": 87, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1392, + "CP39": 1372 + }, + { + "Row": 199, + "Name": "Slowking", + "Pokedex_Number": 199, + "Img_name": 199, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 34, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "psychic", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 561, + "ATK": 177, + "DEF": 194, + "STA": 190, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2482, + "CP39": 2446 + }, + { + "Row": 200, + "Name": "Misdreavus", + "Pokedex_Number": 200, + "Img_name": 200, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 99, + "Cross_Gen": 0, + "Type1": "ghost", + "Weather1": "Fog", + "STAT_TOTAL": 454, + "ATK": 167, + "DEF": 167, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1781, + "CP39": 1756 + }, + { + "Row": 201, + "Name": "Unown", + "Pokedex_Number": 201, + "Img_name": 201, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 100, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 323, + "ATK": 136, + "DEF": 91, + "STA": 96, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1022, + "CP39": 1008 + }, + { + "Row": 202, + "Name": "Wobbuffet", + "Pokedex_Number": 202, + "Img_name": 202, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 101, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 546, + "ATK": 60, + "DEF": 106, + "STA": 380, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1024, + "CP39": 1009 + }, + { + "Row": 203, + "Name": "Girafarig", + "Pokedex_Number": 203, + "Img_name": 203, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 102, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "psychic", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 455, + "ATK": 182, + "DEF": 133, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1863, + "CP39": 1836 + }, + { + "Row": 204, + "Name": "Pineco", + "Pokedex_Number": 204, + "Img_name": 204, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 103, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 354, + "ATK": 108, + "DEF": 146, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1045, + "CP39": 1030 + }, + { + "Row": 205, + "Name": "Forretress", + "Pokedex_Number": 205, + "Img_name": 205, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 103, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "steel", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 553, + "ATK": 161, + "DEF": 242, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2263, + "CP39": 2231 + }, + { + "Row": 206, + "Name": "Dunsparce", + "Pokedex_Number": 206, + "Img_name": 206, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 104, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 462, + "ATK": 131, + "DEF": 131, + "STA": 200, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1615, + "CP39": 1592 + }, + { + "Row": 207, + "Name": "Gligar", + "Pokedex_Number": 207, + "Img_name": 207, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 105, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 477, + "ATK": 143, + "DEF": 204, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1758, + "CP39": 1733 + }, + { + "Row": 208, + "Name": "Steelix", + "Pokedex_Number": 208, + "Img_name": 208, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 42, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "ground", + "Weather1": "Snow", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 631, + "ATK": 148, + "DEF": 333, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2439, + "CP39": 2404 + }, + { + "Row": 209, + "Name": "Snubbull", + "Pokedex_Number": 209, + "Img_name": 209, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 106, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 346, + "ATK": 137, + "DEF": 89, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1124, + "CP39": 1108 + }, + { + "Row": 210, + "Name": "Granbull", + "Pokedex_Number": 210, + "Img_name": 210, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 106, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 529, + "ATK": 212, + "DEF": 137, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2440, + "CP39": 2406 + }, + { + "Row": 211, + "Name": "Qwilfish", + "Pokedex_Number": 211, + "Img_name": 211, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 107, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 462, + "ATK": 184, + "DEF": 148, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1910, + "CP39": 1883 + }, + { + "Row": 212, + "Name": "Scizor", + "Pokedex_Number": 212, + "Img_name": 212, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 59, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "steel", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 567, + "ATK": 236, + "DEF": 191, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2801, + "CP39": 2761 + }, + { + "Row": 213, + "Name": "Shuckle", + "Pokedex_Number": 213, + "Img_name": 213, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 108, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "rock", + "Weather1": "Rainy", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 453, + "ATK": 17, + "DEF": 396, + "STA": 40, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 300, + "CP39": 296 + }, + { + "Row": 214, + "Name": "Heracross", + "Pokedex_Number": 214, + "Img_name": 214, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 109, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "fighting", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 583, + "ATK": 234, + "DEF": 189, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2938, + "CP39": 2896 + }, + { + "Row": 215, + "Name": "Sneasel", + "Pokedex_Number": 215, + "Img_name": 215, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 110, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "ice", + "Weather1": "Fog", + "Weather2": "Snow", + "STAT_TOTAL": 456, + "ATK": 189, + "DEF": 157, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1868, + "CP39": 1841 + }, + { + "Row": 216, + "Name": "Teddiursa", + "Pokedex_Number": 216, + "Img_name": 216, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 111, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 355, + "ATK": 142, + "DEF": 93, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1184, + "CP39": 1167 + }, + { + "Row": 217, + "Name": "Ursaring", + "Pokedex_Number": 217, + "Img_name": 217, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 111, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 560, + "ATK": 236, + "DEF": 144, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2760, + "CP39": 2720 + }, + { + "Row": 218, + "Name": "Slugma", + "Pokedex_Number": 218, + "Img_name": 218, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 112, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 269, + "ATK": 118, + "DEF": 71, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 750, + "CP39": 740 + }, + { + "Row": 219, + "Name": "Magcargo", + "Pokedex_Number": 219, + "Img_name": 219, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 112, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "rock", + "Weather1": "Sunny/clear", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 448, + "ATK": 139, + "DEF": 209, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1543, + "CP39": 1521 + }, + { + "Row": 220, + "Name": "Swinub", + "Pokedex_Number": 220, + "Img_name": 220, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 113, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "ground", + "Weather1": "Snow", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 264, + "ATK": 90, + "DEF": 74, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 663, + "CP39": 653 + }, + { + "Row": 221, + "Name": "Piloswine", + "Pokedex_Number": 221, + "Img_name": 221, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 113, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "ground", + "Weather1": "Snow", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 528, + "ATK": 181, + "DEF": 147, + "STA": 200, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 2, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 2284, + "CP39": 2252 + }, + { + "Row": 222, + "Name": "Corsola", + "Pokedex_Number": 222, + "Img_name": 222, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 114, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "rock", + "Weather1": "Rainy", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 384, + "ATK": 118, + "DEF": 156, + "STA": 110, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1214, + "CP39": 1197 + }, + { + "Row": 223, + "Name": "Remoraid", + "Pokedex_Number": 223, + "Img_name": 223, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 115, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 266, + "ATK": 127, + "DEF": 69, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 749, + "CP39": 738 + }, + { + "Row": 224, + "Name": "Octillery", + "Pokedex_Number": 224, + "Img_name": 224, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 115, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 488, + "ATK": 197, + "DEF": 141, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2124, + "CP39": 2094 + }, + { + "Row": 225, + "Name": "Delibird", + "Pokedex_Number": 225, + "Img_name": 225, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 116, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "flying", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 308, + "ATK": 128, + "DEF": 90, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 937, + "CP39": 924 + }, + { + "Row": 226, + "Name": "Mantine", + "Pokedex_Number": 226, + "Img_name": 226, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 117, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 538, + "ATK": 148, + "DEF": 260, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2032, + "CP39": 2003 + }, + { + "Row": 227, + "Name": "Skarmory", + "Pokedex_Number": 227, + "Img_name": 227, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 118, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "flying", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 538, + "ATK": 148, + "DEF": 260, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2032, + "CP39": 2003 + }, + { + "Row": 228, + "Name": "Houndour", + "Pokedex_Number": 228, + "Img_name": 228, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 119, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "fire", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 335, + "ATK": 152, + "DEF": 93, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1110, + "CP39": 1094 + }, + { + "Row": 229, + "Name": "Houndoom", + "Pokedex_Number": 229, + "Img_name": 229, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 119, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "fire", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 533, + "ATK": 224, + "DEF": 159, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2529, + "CP39": 2493 + }, + { + "Row": 230, + "Name": "Kingdra", + "Pokedex_Number": 230, + "Img_name": 230, + "Generation": 2, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 55, + "Cross_Gen": 1, + "Type1": "water", + "Type2": "dragon", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 538, + "ATK": 194, + "DEF": 194, + "STA": 150, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2424, + "CP39": 2389 + }, + { + "Row": 231, + "Name": "Phanpy", + "Pokedex_Number": 231, + "Img_name": 231, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 120, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 394, + "ATK": 107, + "DEF": 107, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1175, + "CP39": 1158 + }, + { + "Row": 232, + "Name": "Donphan", + "Pokedex_Number": 232, + "Img_name": 232, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 120, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 608, + "ATK": 214, + "DEF": 214, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3022, + "CP39": 2979 + }, + { + "Row": 233, + "Name": "Porygon2", + "Pokedex_Number": 233, + "Img_name": 233, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 69, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 551, + "ATK": 198, + "DEF": 183, + "STA": 170, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 2546, + "CP39": 2509 + }, + { + "Row": 234, + "Name": "Stantler", + "Pokedex_Number": 234, + "Img_name": 234, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 121, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 470, + "ATK": 192, + "DEF": 132, + "STA": 146, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1988, + "CP39": 1960 + }, + { + "Row": 235, + "Name": "Smeargle", + "Pokedex_Number": 235, + "Img_name": 235, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 122, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 238, + "ATK": 40, + "DEF": 88, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 389, + "CP39": 384 + }, + { + "Row": 236, + "Name": "Tyrogue", + "Pokedex_Number": 236, + "Img_name": 236, + "Generation": 2, + "Evolution_Stage": 0, + "Evolved": 0, + "FamilyID": 48, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 198, + "ATK": 64, + "DEF": 64, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 404, + "CP39": 398 + }, + { + "Row": 237, + "Name": "Hitmontop", + "Pokedex_Number": 237, + "Img_name": 237, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 48, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 487, + "ATK": 173, + "DEF": 214, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1905, + "CP39": 1878 + }, + { + "Row": 238, + "Name": "Smoochum", + "Pokedex_Number": 238, + "Img_name": 238, + "Generation": 2, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "psychic", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 359, + "ATK": 153, + "DEF": 116, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1230, + "CP39": 1213 + }, + { + "Row": 239, + "Name": "Elekid", + "Pokedex_Number": 239, + "Img_name": 239, + "Generation": 2, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 335, + "ATK": 135, + "DEF": 110, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1073, + "CP39": 1057 + }, + { + "Row": 240, + "Name": "Magby", + "Pokedex_Number": 240, + "Img_name": 240, + "Generation": 2, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 349, + "ATK": 151, + "DEF": 108, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1178, + "CP39": 1161 + }, + { + "Row": 241, + "Name": "Miltank", + "Pokedex_Number": 241, + "Img_name": 241, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 123, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 558, + "ATK": 157, + "DEF": 211, + "STA": 190, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2312, + "CP39": 2279 + }, + { + "Row": 242, + "Name": "Blissey", + "Pokedex_Number": 242, + "Img_name": 242, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 1, + "Cross_Gen": 1, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 868, + "ATK": 129, + "DEF": 229, + "STA": 510, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3219, + "CP39": 3173 + }, + { + "Row": 243, + "Name": "Raikou", + "Pokedex_Number": 243, + "Img_name": 243, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 124, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 631, + "ATK": 241, + "DEF": 210, + "STA": 180, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 1, + "Future_Evolve": 0, + "CP40": 3349, + "CP39": 3301 + }, + { + "Row": 244, + "Name": "Entei", + "Pokedex_Number": 244, + "Img_name": 244, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 125, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 641, + "ATK": 235, + "DEF": 176, + "STA": 230, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 1, + "Future_Evolve": 0, + "CP40": 3377, + "CP39": 3329 + }, + { + "Row": 245, + "Name": "Suicune", + "Pokedex_Number": 245, + "Img_name": 245, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 126, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 615, + "ATK": 180, + "DEF": 235, + "STA": 200, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 1, + "Future_Evolve": 0, + "CP40": 2823, + "CP39": 2783 + }, + { + "Row": 246, + "Name": "Larvitar", + "Pokedex_Number": 246, + "Img_name": 246, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 127, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "ground", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 308, + "ATK": 115, + "DEF": 93, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 904, + "CP39": 891 + }, + { + "Row": 247, + "Name": "Pupitar", + "Pokedex_Number": 247, + "Img_name": 247, + "Generation": 2, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 127, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "ground", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 428, + "ATK": 155, + "DEF": 133, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1608, + "CP39": 1585 + }, + { + "Row": 248, + "Name": "Tyranitar", + "Pokedex_Number": 248, + "Img_name": 248, + "Generation": 2, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 127, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "dark", + "Weather1": "Partly cloudy", + "Weather2": "Fog", + "STAT_TOTAL": 663, + "ATK": 251, + "DEF": 212, + "STA": 200, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 4, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3670, + "CP39": 3617 + }, + { + "Row": 249, + "Name": "Lugia", + "Pokedex_Number": 249, + "Img_name": 249, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 128, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 728, + "ATK": 193, + "DEF": 323, + "STA": 212, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 5, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 1, + "Future_Evolve": 0, + "CP40": 3598, + "CP39": 3547 + }, + { + "Row": 250, + "Name": "Ho Oh", + "Pokedex_Number": 250, + "Img_name": 250, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 129, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 706, + "ATK": 239, + "DEF": 274, + "STA": 193, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 1, + "Future_Evolve": 0, + "CP40": 3889, + "CP39": 3833 + }, + { + "Row": 251, + "Name": "Celebi", + "Pokedex_Number": 251, + "Img_name": 251, + "Generation": 2, + "Evolution_Stage": 1, + "Evolved": 1, + "FamilyID": 130, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "grass", + "Weather1": "Windy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 620, + "ATK": 210, + "DEF": 210, + "STA": 200, + "Legendary": 2, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3090, + "CP39": 3046 + }, + { + "Row": 252, + "Name": "Treecko", + "Pokedex_Number": 252, + "Img_name": 252, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 131, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 308, + "ATK": 124, + "DEF": 104, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 923, + "CP39": 909 + }, + { + "Row": 253, + "Name": "Grovyle", + "Pokedex_Number": 253, + "Img_name": 253, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 131, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 402, + "ATK": 172, + "DEF": 130, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1508, + "CP39": 1486 + }, + { + "Row": 254, + "Name": "Sceptile", + "Pokedex_Number": 254, + "Img_name": 254, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 131, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 543, + "ATK": 223, + "DEF": 180, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2584, + "CP39": 2547 + }, + { + "Row": 255, + "Name": "Torchic", + "Pokedex_Number": 255, + "Img_name": 255, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 132, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 312, + "ATK": 130, + "DEF": 92, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 959, + "CP39": 946 + }, + { + "Row": 256, + "Name": "Combusken", + "Pokedex_Number": 256, + "Img_name": 256, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 132, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "fighting", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 398, + "ATK": 163, + "DEF": 115, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1472, + "CP39": 1451 + }, + { + "Row": 257, + "Name": "Blaziken", + "Pokedex_Number": 257, + "Img_name": 257, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 132, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "fighting", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 541, + "ATK": 240, + "DEF": 141, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2631, + "CP39": 2593 + }, + { + "Row": 258, + "Name": "Mudkip", + "Pokedex_Number": 258, + "Img_name": 258, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 133, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 319, + "ATK": 126, + "DEF": 93, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 981, + "CP39": 967 + }, + { + "Row": 259, + "Name": "Marshtomp", + "Pokedex_Number": 259, + "Img_name": 259, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 133, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ground", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 429, + "ATK": 156, + "DEF": 133, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1617, + "CP39": 1594 + }, + { + "Row": 260, + "Name": "Swampert", + "Pokedex_Number": 260, + "Img_name": 260, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 133, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ground", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 583, + "ATK": 208, + "DEF": 175, + "STA": 200, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2815, + "CP39": 2774 + }, + { + "Row": 261, + "Name": "Poochyena", + "Pokedex_Number": 261, + "Img_name": 261, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 134, + "Cross_Gen": 0, + "Type1": "dark", + "Weather1": "Fog", + "STAT_TOTAL": 229, + "ATK": 96, + "DEF": 63, + "STA": 70, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 1, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 564, + "CP39": 556 + }, + { + "Row": 262, + "Name": "Mightyena", + "Pokedex_Number": 262, + "Img_name": 262, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 134, + "Cross_Gen": 0, + "Type1": "dark", + "Weather1": "Fog", + "STAT_TOTAL": 448, + "ATK": 171, + "DEF": 137, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1783, + "CP39": 1757 + }, + { + "Row": 263, + "Name": "Zigzagoon", + "Pokedex_Number": 263, + "Img_name": 263, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 135, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 214, + "ATK": 58, + "DEF": 80, + "STA": 76, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 423, + "CP39": 417 + }, + { + "Row": 264, + "Name": "Linoone", + "Pokedex_Number": 264, + "Img_name": 264, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 135, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 426, + "ATK": 142, + "DEF": 128, + "STA": 156, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1533, + "CP39": 1511 + }, + { + "Row": 265, + "Name": "Wurmple", + "Pokedex_Number": 265, + "Img_name": 265, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 136, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 226, + "ATK": 75, + "DEF": 61, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 502, + "CP39": 494 + }, + { + "Row": 266, + "Name": "Silcoon", + "Pokedex_Number": 266, + "Img_name": 266, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 136, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 251, + "ATK": 60, + "DEF": 91, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 517, + "CP39": 509 + }, + { + "Row": 267, + "Name": "Beautifly", + "Pokedex_Number": 267, + "Img_name": 267, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 136, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 407, + "ATK": 189, + "DEF": 98, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1573, + "CP39": 1551 + }, + { + "Row": 268, + "Name": "Cascoon", + "Pokedex_Number": 268, + "Img_name": 268, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 137, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 251, + "ATK": 60, + "DEF": 91, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 517, + "CP39": 509 + }, + { + "Row": 269, + "Name": "Dustox", + "Pokedex_Number": 269, + "Img_name": 269, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 137, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 390, + "ATK": 98, + "DEF": 172, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1121, + "CP39": 1105 + }, + { + "Row": 270, + "Name": "Lotad", + "Pokedex_Number": 270, + "Img_name": 270, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 138, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 237, + "ATK": 71, + "DEF": 86, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 526, + "CP39": 518 + }, + { + "Row": 271, + "Name": "Lombre", + "Pokedex_Number": 271, + "Img_name": 271, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 138, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 360, + "ATK": 112, + "DEF": 128, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1102, + "CP39": 1086 + }, + { + "Row": 272, + "Name": "Ludicolo", + "Pokedex_Number": 272, + "Img_name": 272, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 138, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 524, + "ATK": 173, + "DEF": 191, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2229, + "CP39": 2197 + }, + { + "Row": 273, + "Name": "Seedot", + "Pokedex_Number": 273, + "Img_name": 273, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 139, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 237, + "ATK": 71, + "DEF": 86, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 526, + "CP39": 518 + }, + { + "Row": 274, + "Name": "Nuzleaf", + "Pokedex_Number": 274, + "Img_name": 274, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 139, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "dark", + "Weather1": "Sunny/clear", + "Weather2": "Fog", + "STAT_TOTAL": 352, + "ATK": 134, + "DEF": 78, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1117, + "CP39": 1101 + }, + { + "Row": 275, + "Name": "Shiftry", + "Pokedex_Number": 275, + "Img_name": 275, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 139, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "dark", + "Weather1": "Sunny/clear", + "Weather2": "Fog", + "STAT_TOTAL": 501, + "ATK": 200, + "DEF": 121, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2186, + "CP39": 2155 + }, + { + "Row": 276, + "Name": "Taillow", + "Pokedex_Number": 276, + "Img_name": 276, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 140, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 247, + "ATK": 106, + "DEF": 61, + "STA": 80, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 642, + "CP39": 632 + }, + { + "Row": 277, + "Name": "Swellow", + "Pokedex_Number": 277, + "Img_name": 277, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 140, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 435, + "ATK": 185, + "DEF": 130, + "STA": 120, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1747, + "CP39": 1722 + }, + { + "Row": 278, + "Name": "Wingull", + "Pokedex_Number": 278, + "Img_name": 278, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 141, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 247, + "ATK": 106, + "DEF": 61, + "STA": 80, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 642, + "CP39": 632 + }, + { + "Row": 279, + "Name": "Pelipper", + "Pokedex_Number": 279, + "Img_name": 279, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 141, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 484, + "ATK": 175, + "DEF": 189, + "STA": 120, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1969, + "CP39": 1941 + }, + { + "Row": 280, + "Name": "Ralts", + "Pokedex_Number": 280, + "Img_name": 280, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 142, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "fairy", + "Weather1": "Windy", + "Weather2": "Cloudy", + "STAT_TOTAL": 198, + "ATK": 79, + "DEF": 63, + "STA": 56, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 436, + "CP39": 430 + }, + { + "Row": 281, + "Name": "Kirlia", + "Pokedex_Number": 281, + "Img_name": 281, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 142, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "fairy", + "Weather1": "Windy", + "Weather2": "Cloudy", + "STAT_TOTAL": 293, + "ATK": 117, + "DEF": 100, + "STA": 76, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 843, + "CP39": 831 + }, + { + "Row": 282, + "Name": "Gardevoir", + "Pokedex_Number": 282, + "Img_name": 282, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 142, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "fairy", + "Weather1": "Windy", + "Weather2": "Cloudy", + "STAT_TOTAL": 593, + "ATK": 237, + "DEF": 220, + "STA": 136, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2964, + "CP39": 2922 + }, + { + "Row": 283, + "Name": "Surskit", + "Pokedex_Number": 283, + "Img_name": 283, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 143, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 270, + "ATK": 93, + "DEF": 97, + "STA": 80, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 695, + "CP39": 685 + }, + { + "Row": 284, + "Name": "Masquerain", + "Pokedex_Number": 284, + "Img_name": 284, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 143, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 493, + "ATK": 192, + "DEF": 161, + "STA": 140, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2135, + "CP39": 2104 + }, + { + "Row": 285, + "Name": "Shroomish", + "Pokedex_Number": 285, + "Img_name": 285, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 144, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 304, + "ATK": 74, + "DEF": 110, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 722, + "CP39": 711 + }, + { + "Row": 286, + "Name": "Breloom", + "Pokedex_Number": 286, + "Img_name": 286, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 144, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "fighting", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 514, + "ATK": 241, + "DEF": 153, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2407, + "CP39": 2373 + }, + { + "Row": 287, + "Name": "Slakoth", + "Pokedex_Number": 287, + "Img_name": 287, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 145, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 328, + "ATK": 104, + "DEF": 104, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 942, + "CP39": 928 + }, + { + "Row": 288, + "Name": "Vigoroth", + "Pokedex_Number": 288, + "Img_name": 288, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 145, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 478, + "ATK": 159, + "DEF": 159, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1896, + "CP39": 1869 + }, + { + "Row": 289, + "Name": "Slaking", + "Pokedex_Number": 289, + "Img_name": 289, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 0, + "FamilyID": 145, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 746, + "ATK": 290, + "DEF": 183, + "STA": 273, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4548, + "CP39": 4484 + }, + { + "Row": 290, + "Name": "Nincada", + "Pokedex_Number": 290, + "Img_name": 290, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 146, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "ground", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 295, + "ATK": 80, + "DEF": 153, + "STA": 62, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 674, + "CP39": 665 + }, + { + "Row": 291, + "Name": "Ninjask", + "Pokedex_Number": 291, + "Img_name": 291, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 146, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 437, + "ATK": 199, + "DEF": 116, + "STA": 122, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1790, + "CP39": 1765 + }, + { + "Row": 292, + "Name": "Shedinja", + "Pokedex_Number": 292, + "Img_name": 292, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 0, + "FamilyID": 146, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "ghost", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 235, + "ATK": 153, + "DEF": 80, + "STA": 2, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 421, + "CP39": 415 + }, + { + "Row": 293, + "Name": "Whismur", + "Pokedex_Number": 293, + "Img_name": 293, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 147, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 262, + "ATK": 92, + "DEF": 42, + "STA": 128, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 603, + "CP39": 594 + }, + { + "Row": 294, + "Name": "Loudred", + "Pokedex_Number": 294, + "Img_name": 294, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 147, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 383, + "ATK": 134, + "DEF": 81, + "STA": 168, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1233, + "CP39": 1215 + }, + { + "Row": 295, + "Name": "Exploud", + "Pokedex_Number": 295, + "Img_name": 295, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 0, + "FamilyID": 147, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 529, + "ATK": 179, + "DEF": 142, + "STA": 208, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2267, + "CP39": 2234 + }, + { + "Row": 296, + "Name": "Makuhita", + "Pokedex_Number": 296, + "Img_name": 296, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 148, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 297, + "ATK": 99, + "DEF": 54, + "STA": 144, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 745, + "CP39": 735 + }, + { + "Row": 297, + "Name": "Hariyama", + "Pokedex_Number": 297, + "Img_name": 297, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 148, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 611, + "ATK": 209, + "DEF": 114, + "STA": 288, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2765, + "CP39": 2726 + }, + { + "Row": 298, + "Name": "Azurill", + "Pokedex_Number": 298, + "Img_name": 298, + "Generation": 3, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "fairy", + "Weather1": "Partly cloudy", + "Weather2": "Cloudy", + "STAT_TOTAL": 207, + "ATK": 36, + "DEF": 71, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 316, + "CP39": 312 + }, + { + "Row": 299, + "Name": "Nosepass", + "Pokedex_Number": 299, + "Img_name": 299, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 149, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 378, + "ATK": 82, + "DEF": 236, + "STA": 60, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 831, + "CP39": 819 + }, + { + "Row": 300, + "Name": "Skitty", + "Pokedex_Number": 300, + "Img_name": 300, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 150, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 268, + "ATK": 84, + "DEF": 84, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 659, + "CP39": 650 + }, + { + "Row": 301, + "Name": "Delcatty", + "Pokedex_Number": 301, + "Img_name": 301, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 151, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 404, + "ATK": 132, + "DEF": 132, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1385, + "CP39": 1366 + }, + { + "Row": 302, + "Name": "Sableye", + "Pokedex_Number": 302, + "Img_name": 302, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 152, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "ghost", + "Weather1": "Fog", + "STAT_TOTAL": 382, + "ATK": 141, + "DEF": 141, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 2, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1305, + "CP39": 1286 + }, + { + "Row": 303, + "Name": "Mawile", + "Pokedex_Number": 303, + "Img_name": 303, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 153, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "fairy", + "Weather1": "Snow", + "Weather2": "Cloudy", + "STAT_TOTAL": 410, + "ATK": 155, + "DEF": 155, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 2, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1484, + "CP39": 1463 + }, + { + "Row": 304, + "Name": "Aron", + "Pokedex_Number": 304, + "Img_name": 304, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 154, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "rock", + "Weather1": "Snow", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 389, + "ATK": 121, + "DEF": 168, + "STA": 100, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 1, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1232, + "CP39": 1214 + }, + { + "Row": 305, + "Name": "Lairon", + "Pokedex_Number": 305, + "Img_name": 305, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 154, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "rock", + "Weather1": "Snow", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 518, + "ATK": 158, + "DEF": 240, + "STA": 120, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2004, + "CP39": 1976 + }, + { + "Row": 306, + "Name": "Aggron", + "Pokedex_Number": 306, + "Img_name": 306, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 0, + "FamilyID": 154, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "rock", + "Weather1": "Snow", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 652, + "ATK": 198, + "DEF": 314, + "STA": 140, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 0, + "Regional": 0, + "Raidable": 4, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3004, + "CP39": 2961 + }, + { + "Row": 307, + "Name": "Meditite", + "Pokedex_Number": 307, + "Img_name": 307, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 155, + "Cross_Gen": 0, + "Type1": "fighting", + "Type2": "psychic", + "Weather1": "Cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 245, + "ATK": 78, + "DEF": 107, + "STA": 60, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 555, + "CP39": 547 + }, + { + "Row": 308, + "Name": "Medicham", + "Pokedex_Number": 308, + "Img_name": 308, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 155, + "Cross_Gen": 0, + "Type1": "fighting", + "Type2": "psychic", + "Weather1": "Cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 393, + "ATK": 121, + "DEF": 152, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1275, + "CP39": 1257 + }, + { + "Row": 309, + "Name": "Electrike", + "Pokedex_Number": 309, + "Img_name": 309, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 156, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 281, + "ATK": 123, + "DEF": 78, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 810, + "CP39": 798 + }, + { + "Row": 310, + "Name": "Manectric", + "Pokedex_Number": 310, + "Img_name": 310, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 156, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 482, + "ATK": 215, + "DEF": 127, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 2, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2131, + "CP39": 2100 + }, + { + "Row": 311, + "Name": "Plusle", + "Pokedex_Number": 311, + "Img_name": 311, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 157, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 434, + "ATK": 167, + "DEF": 147, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1681, + "CP39": 1657 + }, + { + "Row": 312, + "Name": "Minun", + "Pokedex_Number": 312, + "Img_name": 312, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 158, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 434, + "ATK": 147, + "DEF": 167, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1585, + "CP39": 1563 + }, + { + "Row": 313, + "Name": "Volbeat", + "Pokedex_Number": 313, + "Img_name": 313, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 159, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 444, + "ATK": 143, + "DEF": 171, + "STA": 130, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1620, + "CP39": 1597 + }, + { + "Row": 314, + "Name": "Illumise", + "Pokedex_Number": 314, + "Img_name": 314, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 159, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 444, + "ATK": 143, + "DEF": 171, + "STA": 130, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1620, + "CP39": 1597 + }, + { + "Row": 315, + "Name": "Roselia", + "Pokedex_Number": 315, + "Img_name": 315, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 160, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 434, + "ATK": 186, + "DEF": 148, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1718, + "CP39": 1694 + }, + { + "Row": 316, + "Name": "Gulpin", + "Pokedex_Number": 316, + "Img_name": 316, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 161, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 319, + "ATK": 80, + "DEF": 99, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 788, + "CP39": 777 + }, + { + "Row": 317, + "Name": "Swalot", + "Pokedex_Number": 317, + "Img_name": 317, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 161, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 499, + "ATK": 140, + "DEF": 159, + "STA": 200, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1872, + "CP39": 1845 + }, + { + "Row": 318, + "Name": "Carvanha", + "Pokedex_Number": 318, + "Img_name": 318, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 162, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "dark", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 300, + "ATK": 171, + "DEF": 39, + "STA": 90, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 874, + "CP39": 862 + }, + { + "Row": 319, + "Name": "Sharpedo", + "Pokedex_Number": 319, + "Img_name": 319, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 163, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "dark", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 466, + "ATK": 243, + "DEF": 83, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1986, + "CP39": 1957 + }, + { + "Row": 320, + "Name": "Wailmer", + "Pokedex_Number": 320, + "Img_name": 320, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 164, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 464, + "ATK": 136, + "DEF": 68, + "STA": 260, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 1, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1424, + "CP39": 1404 + }, + { + "Row": 321, + "Name": "Wailord", + "Pokedex_Number": 321, + "Img_name": 321, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 164, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 602, + "ATK": 175, + "DEF": 87, + "STA": 340, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2258, + "CP39": 2225 + }, + { + "Row": 322, + "Name": "Numel", + "Pokedex_Number": 322, + "Img_name": 322, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 165, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 321, + "ATK": 119, + "DEF": 82, + "STA": 120, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 957, + "CP39": 944 + }, + { + "Row": 323, + "Name": "Camerupt", + "Pokedex_Number": 323, + "Img_name": 323, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 165, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 473, + "ATK": 194, + "DEF": 139, + "STA": 140, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2016, + "CP39": 1987 + }, + { + "Row": 324, + "Name": "Torkoal", + "Pokedex_Number": 324, + "Img_name": 324, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 166, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 525, + "ATK": 151, + "DEF": 234, + "STA": 140, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2036, + "CP39": 2007 + }, + { + "Row": 325, + "Name": "Spoink", + "Pokedex_Number": 325, + "Img_name": 325, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 167, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 390, + "ATK": 125, + "DEF": 145, + "STA": 120, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1285, + "CP39": 1266 + }, + { + "Row": 326, + "Name": "Grumpig", + "Pokedex_Number": 326, + "Img_name": 326, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 167, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 542, + "ATK": 171, + "DEF": 211, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2310, + "CP39": 2277 + }, + { + "Row": 327, + "Name": "Spinda", + "Pokedex_Number": 327, + "Img_name": 327, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 168, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 352, + "ATK": 116, + "DEF": 116, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1088, + "CP39": 1072 + }, + { + "Row": 328, + "Name": "Trapinch", + "Pokedex_Number": 328, + "Img_name": 328, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 169, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 330, + "ATK": 162, + "DEF": 78, + "STA": 90, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1092, + "CP39": 1076 + }, + { + "Row": 329, + "Name": "Vibrava", + "Pokedex_Number": 329, + "Img_name": 329, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 169, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "dragon", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 333, + "ATK": 134, + "DEF": 99, + "STA": 100, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1065, + "CP39": 1050 + }, + { + "Row": 330, + "Name": "Flygon", + "Pokedex_Number": 330, + "Img_name": 330, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "FamilyID": 169, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "dragon", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 533, + "ATK": 205, + "DEF": 168, + "STA": 160, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2458, + "CP39": 2423 + }, + { + "Row": 331, + "Name": "Cacnea", + "Pokedex_Number": 331, + "Img_name": 331, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 170, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 330, + "ATK": 156, + "DEF": 74, + "STA": 100, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1080, + "CP39": 1065 + }, + { + "Row": 332, + "Name": "Cacturne", + "Pokedex_Number": 332, + "Img_name": 332, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 170, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "dark", + "Weather1": "Sunny/clear", + "Weather2": "Fog", + "STAT_TOTAL": 476, + "ATK": 221, + "DEF": 115, + "STA": 140, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2092, + "CP39": 2062 + }, + { + "Row": 333, + "Name": "Swablu", + "Pokedex_Number": 333, + "Img_name": 333, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 171, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 305, + "ATK": 76, + "DEF": 139, + "STA": 90, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 1, + "Hatchable": 0, + "Shiny": 1, + "Nest": 1, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 722, + "CP39": 712 + }, + { + "Row": 334, + "Name": "Altaria", + "Pokedex_Number": 334, + "Img_name": 334, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 171, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 499, + "ATK": 141, + "DEF": 208, + "STA": 150, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1868, + "CP39": 1842 + }, + { + "Row": 335, + "Name": "Zangoose", + "Pokedex_Number": 335, + "Img_name": 335, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 172, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 492, + "ATK": 222, + "DEF": 124, + "STA": 146, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2214, + "CP39": 2182 + }, + { + "Row": 336, + "Name": "Seviper", + "Pokedex_Number": 336, + "Img_name": 336, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 178, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 460, + "ATK": 196, + "DEF": 118, + "STA": 146, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1928, + "CP39": 1900 + }, + { + "Row": 337, + "Name": "Lunatone", + "Pokedex_Number": 337, + "Img_name": 337, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 179, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "psychic", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 521, + "ATK": 178, + "DEF": 163, + "STA": 180, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2245, + "CP39": 2213 + }, + { + "Row": 338, + "Name": "Solrock", + "Pokedex_Number": 338, + "Img_name": 338, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 180, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "psychic", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 521, + "ATK": 178, + "DEF": 163, + "STA": 180, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2245, + "CP39": 2213 + }, + { + "Row": 339, + "Name": "Barboach", + "Pokedex_Number": 339, + "Img_name": 339, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 181, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ground", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 276, + "ATK": 93, + "DEF": 83, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 2, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 716, + "CP39": 705 + }, + { + "Row": 340, + "Name": "Whiscash", + "Pokedex_Number": 340, + "Img_name": 340, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 181, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ground", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 513, + "ATK": 151, + "DEF": 142, + "STA": 220, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1991, + "CP39": 1963 + }, + { + "Row": 341, + "Name": "Corphish", + "Pokedex_Number": 341, + "Img_name": 341, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 182, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 340, + "ATK": 141, + "DEF": 113, + "STA": 86, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1107, + "CP39": 1092 + }, + { + "Row": 342, + "Name": "Crawdaunt", + "Pokedex_Number": 342, + "Img_name": 342, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 182, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "dark", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 506, + "ATK": 224, + "DEF": 156, + "STA": 126, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2317, + "CP39": 2284 + }, + { + "Row": 343, + "Name": "Baltoy", + "Pokedex_Number": 343, + "Img_name": 343, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 183, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "psychic", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 288, + "ATK": 77, + "DEF": 131, + "STA": 80, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 676, + "CP39": 667 + }, + { + "Row": 344, + "Name": "Claydol", + "Pokedex_Number": 344, + "Img_name": 344, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 183, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "psychic", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 496, + "ATK": 140, + "DEF": 236, + "STA": 120, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1782, + "CP39": 1756 + }, + { + "Row": 345, + "Name": "Lileep", + "Pokedex_Number": 345, + "Img_name": 345, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 184, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "grass", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 391, + "ATK": 105, + "DEF": 154, + "STA": 132, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1181, + "CP39": 1164 + }, + { + "Row": 346, + "Name": "Cradily", + "Pokedex_Number": 346, + "Img_name": 346, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 184, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "grass", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 522, + "ATK": 152, + "DEF": 198, + "STA": 172, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2081, + "CP39": 2051 + }, + { + "Row": 347, + "Name": "Anorith", + "Pokedex_Number": 347, + "Img_name": 347, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 185, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "bug", + "Weather1": "Partly cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 366, + "ATK": 176, + "DEF": 100, + "STA": 90, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1310, + "CP39": 1292 + }, + { + "Row": 348, + "Name": "Armaldo", + "Pokedex_Number": 348, + "Img_name": 348, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "FamilyID": 185, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "bug", + "Weather1": "Partly cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 555, + "ATK": 222, + "DEF": 183, + "STA": 150, + "Legendary": 0, + "Aquireable": 2, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2675, + "CP39": 2637 + }, + { + "Row": 349, + "Name": "Feebas", + "Pokedex_Number": 349, + "Img_name": 349, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 186, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 171, + "ATK": 29, + "DEF": 102, + "STA": 40, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 10, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 220, + "CP39": 217 + }, + { + "Row": 350, + "Name": "Milotic", + "Pokedex_Number": 350, + "Img_name": 350, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 186, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 624, + "ATK": 192, + "DEF": 242, + "STA": 190, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2967, + "CP39": 2925 + }, + { + "Row": 351, + "Name": "Castform", + "Pokedex_Number": 351, + "Img_name": 351, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 187, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 418, + "ATK": 139, + "DEF": 139, + "STA": 140, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1486, + "CP39": 1464 + }, + { + "Row": 352, + "Name": "Kecleon", + "Pokedex_Number": 352, + "Img_name": 352, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 188, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 493, + "ATK": 161, + "DEF": 212, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1924, + "CP39": 1896 + }, + { + "Row": 353, + "Name": "Shuppet", + "Pokedex_Number": 353, + "Img_name": 353, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 189, + "Cross_Gen": 0, + "Type1": "ghost", + "Weather1": "Fog", + "STAT_TOTAL": 292, + "ATK": 138, + "DEF": 66, + "STA": 88, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 1, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 872, + "CP39": 860 + }, + { + "Row": 354, + "Name": "Banette", + "Pokedex_Number": 354, + "Img_name": 354, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 189, + "Cross_Gen": 0, + "Type1": "ghost", + "Weather1": "Fog", + "STAT_TOTAL": 473, + "ATK": 218, + "DEF": 127, + "STA": 128, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2073, + "CP39": 2044 + }, + { + "Row": 355, + "Name": "Duskull", + "Pokedex_Number": 355, + "Img_name": 355, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 190, + "Cross_Gen": 0, + "Type1": "ghost", + "Weather1": "Fog", + "STAT_TOTAL": 272, + "ATK": 70, + "DEF": 162, + "STA": 40, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 1, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 523, + "CP39": 516 + }, + { + "Row": 356, + "Name": "Dusclops", + "Pokedex_Number": 356, + "Img_name": 356, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 190, + "Cross_Gen": 0, + "Type1": "ghost", + "Weather1": "Fog", + "STAT_TOTAL": 438, + "ATK": 124, + "DEF": 234, + "STA": 80, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 1335, + "CP39": 1316 + }, + { + "Row": 357, + "Name": "Tropius", + "Pokedex_Number": 357, + "Img_name": 357, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 191, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 499, + "ATK": 136, + "DEF": 165, + "STA": 198, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1846, + "CP39": 1820 + }, + { + "Row": 358, + "Name": "Chimecho", + "Pokedex_Number": 358, + "Img_name": 358, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 192, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 499, + "ATK": 175, + "DEF": 174, + "STA": 150, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2095, + "CP39": 2065 + }, + { + "Row": 359, + "Name": "Absol", + "Pokedex_Number": 359, + "Img_name": 359, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 193, + "Cross_Gen": 0, + "Type1": "dark", + "Weather1": "Fog", + "STAT_TOTAL": 496, + "ATK": 246, + "DEF": 120, + "STA": 130, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 4, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2280, + "CP39": 2248 + }, + { + "Row": 360, + "Name": "Wynaut", + "Pokedex_Number": 360, + "Img_name": 360, + "Generation": 3, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 317, + "ATK": 41, + "DEF": 86, + "STA": 190, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 503, + "CP39": 496 + }, + { + "Row": 361, + "Name": "Snorunt", + "Pokedex_Number": 361, + "Img_name": 361, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "FamilyID": 194, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 290, + "ATK": 95, + "DEF": 95, + "STA": 100, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 1, + "Hatchable": 5, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 1, + "CP40": 772, + "CP39": 761 + }, + { + "Row": 362, + "Name": "Glalie", + "Pokedex_Number": 362, + "Img_name": 362, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 1, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 484, + "ATK": 162, + "DEF": 162, + "STA": 160, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 1, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1945, + "CP39": 1917 + }, + { + "Row": 363, + "Name": "Spheal", + "Pokedex_Number": 363, + "Img_name": 363, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "water", + "Weather1": "Snow", + "Weather2": "Rainy", + "STAT_TOTAL": 325, + "ATK": 95, + "DEF": 90, + "STA": 140, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 5, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 876, + "CP39": 863 + }, + { + "Row": 364, + "Name": "Sealeo", + "Pokedex_Number": 364, + "Img_name": 364, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "water", + "Weather1": "Snow", + "Weather2": "Rainy", + "STAT_TOTAL": 449, + "ATK": 137, + "DEF": 132, + "STA": 180, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1607, + "CP39": 1584 + }, + { + "Row": 365, + "Name": "Walrein", + "Pokedex_Number": 365, + "Img_name": 365, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "water", + "Weather1": "Snow", + "Weather2": "Rainy", + "STAT_TOTAL": 578, + "ATK": 182, + "DEF": 176, + "STA": 220, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2606, + "CP39": 2569 + }, + { + "Row": 366, + "Name": "Clamperl", + "Pokedex_Number": 366, + "Img_name": 366, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 352, + "ATK": 133, + "DEF": 149, + "STA": 70, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1091, + "CP39": 1075 + }, + { + "Row": 367, + "Name": "Huntail", + "Pokedex_Number": 367, + "Img_name": 367, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 501, + "ATK": 197, + "DEF": 194, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2140, + "CP39": 2109 + }, + { + "Row": 368, + "Name": "Gorebyss", + "Pokedex_Number": 368, + "Img_name": 368, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 515, + "ATK": 211, + "DEF": 194, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2281, + "CP39": 2248 + }, + { + "Row": 369, + "Name": "Relicanth", + "Pokedex_Number": 369, + "Img_name": 369, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "rock", + "Weather1": "Rainy", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 596, + "ATK": 162, + "DEF": 234, + "STA": 200, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 1, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2557, + "CP39": 2521 + }, + { + "Row": 370, + "Name": "Luvdisc", + "Pokedex_Number": 370, + "Img_name": 370, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 301, + "ATK": 81, + "DEF": 134, + "STA": 86, + "Legendary": 0, + "Aquireable": 1, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 1, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 735, + "CP39": 725 + }, + { + "Row": 371, + "Name": "Bagon", + "Pokedex_Number": 371, + "Img_name": 371, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 331, + "ATK": 134, + "DEF": 107, + "STA": 90, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1053, + "CP39": 1038 + }, + { + "Row": 372, + "Name": "Shelgon", + "Pokedex_Number": 372, + "Img_name": 372, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 481, + "ATK": 172, + "DEF": 179, + "STA": 130, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1958, + "CP39": 1930 + }, + { + "Row": 373, + "Name": "Salamence", + "Pokedex_Number": 373, + "Img_name": 373, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 635, + "ATK": 277, + "DEF": 168, + "STA": 190, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3532, + "CP39": 3481 + }, + { + "Row": 374, + "Name": "Beldum", + "Pokedex_Number": 374, + "Img_name": 374, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "psychic", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 317, + "ATK": 96, + "DEF": 141, + "STA": 80, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 843, + "CP39": 831 + }, + { + "Row": 375, + "Name": "Metang", + "Pokedex_Number": 375, + "Img_name": 375, + "Generation": 3, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "psychic", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 443, + "ATK": 138, + "DEF": 185, + "STA": 120, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 1, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1570, + "CP39": 1547 + }, + { + "Row": 376, + "Name": "Metagross", + "Pokedex_Number": 376, + "Img_name": 376, + "Generation": 3, + "Evolution_Stage": 3, + "Evolved": 1, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "psychic", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 665, + "ATK": 257, + "DEF": 248, + "STA": 160, + "Legendary": 0, + "Aquireable": 3, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3644, + "CP39": 3592 + }, + { + "Row": 377, + "Name": "Regirock", + "Pokedex_Number": 377, + "Img_name": 377, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 695, + "ATK": 179, + "DEF": 356, + "STA": 160, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3087, + "CP39": 3043 + }, + { + "Row": 378, + "Name": "Regice", + "Pokedex_Number": 378, + "Img_name": 378, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 695, + "ATK": 179, + "DEF": 356, + "STA": 160, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3087, + "CP39": 3043 + }, + { + "Row": 379, + "Name": "Registeel", + "Pokedex_Number": 379, + "Img_name": 379, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Weather1": "Snow", + "STAT_TOTAL": 588, + "ATK": 143, + "DEF": 285, + "STA": 160, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2261, + "CP39": 2228 + }, + { + "Row": 380, + "Name": "Latias", + "Pokedex_Number": 380, + "Img_name": 380, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 656, + "ATK": 228, + "DEF": 268, + "STA": 160, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3377, + "CP39": 3329 + }, + { + "Row": 381, + "Name": "Latios", + "Pokedex_Number": 381, + "Img_name": 381, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 656, + "ATK": 268, + "DEF": 228, + "STA": 160, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3644, + "CP39": 3592 + }, + { + "Row": 382, + "Name": "Kyogre", + "Pokedex_Number": 382, + "Img_name": 382, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 703, + "ATK": 270, + "DEF": 251, + "STA": 182, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4074, + "CP39": 4016 + }, + { + "Row": 383, + "Name": "Groudon", + "Pokedex_Number": 383, + "Img_name": 383, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 703, + "ATK": 270, + "DEF": 251, + "STA": 182, + "Legendary": 1, + "Aquireable": 1, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 1, + "Future_Evolve": 0, + "CP40": 4074, + "CP39": 4016 + }, + { + "Row": 384, + "Name": "Rayquaza", + "Pokedex_Number": 384, + "Img_name": 384, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 645, + "ATK": 284, + "DEF": 170, + "STA": 191, + "Legendary": 1, + "Aquireable": 3, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 1, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3645, + "CP39": 3593 + }, + { + "Row": 385, + "Name": "Jirachi", + "Pokedex_Number": 385, + "Img_name": 385, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "psychic", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 620, + "ATK": 210, + "DEF": 210, + "STA": 200, + "Legendary": 2, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3090, + "CP39": 3046 + }, + { + "Row": 386, + "Name": "Deoxys Defense", + "Pokedex_Number": 386, + "Img_name": "386-defense", + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 574, + "ATK": 144, + "DEF": 330, + "STA": 100, + "Legendary": 2, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1978, + "CP39": 1949 + }, + { + "Row": 387, + "Name": "Deoxys Normal", + "Pokedex_Number": 386, + "Img_name": 386, + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 560, + "ATK": 345, + "DEF": 115, + "STA": 100, + "Legendary": 2, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2749, + "CP39": 2709 + }, + { + "Row": 388, + "Name": "Deoxys Attack", + "Pokedex_Number": 386, + "Img_name": "386-attack", + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 560, + "ATK": 414, + "DEF": 46, + "STA": 100, + "Legendary": 2, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2244, + "CP39": 2212 + }, + { + "Row": 389, + "Name": "Deoxys Speed", + "Pokedex_Number": 386, + "Img_name": "386-speed", + "Generation": 3, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 548, + "ATK": 230, + "DEF": 218, + "STA": 100, + "Legendary": 2, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2504, + "CP39": 2469 + }, + { + "Row": 390, + "Name": "Turtwig", + "Pokedex_Number": 387, + "Img_name": 387, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 344, + "ATK": 119, + "DEF": 115, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1066, + "CP39": 1051 + }, + { + "Row": 391, + "Name": "Grotle", + "Pokedex_Number": 388, + "Img_name": 388, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 459, + "ATK": 157, + "DEF": 152, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1783, + "CP39": 1757 + }, + { + "Row": 392, + "Name": "Torterra", + "Pokedex_Number": 389, + "Img_name": 389, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 589, + "ATK": 202, + "DEF": 197, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2825, + "CP39": 2785 + }, + { + "Row": 393, + "Name": "Chimchar", + "Pokedex_Number": 390, + "Img_name": 390, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 287, + "ATK": 113, + "DEF": 86, + "STA": 88, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 815, + "CP39": 803 + }, + { + "Row": 394, + "Name": "Monferno", + "Pokedex_Number": 391, + "Img_name": 391, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "fighting", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 391, + "ATK": 158, + "DEF": 105, + "STA": 128, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1415, + "CP39": 1395 + }, + { + "Row": 395, + "Name": "Infernape", + "Pokedex_Number": 392, + "Img_name": 392, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "fighting", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 525, + "ATK": 222, + "DEF": 151, + "STA": 152, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2464, + "CP39": 2429 + }, + { + "Row": 396, + "Name": "Piplup", + "Pokedex_Number": 393, + "Img_name": 393, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 321, + "ATK": 112, + "DEF": 103, + "STA": 106, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 947, + "CP39": 934 + }, + { + "Row": 397, + "Name": "Prinplup", + "Pokedex_Number": 394, + "Img_name": 394, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 421, + "ATK": 150, + "DEF": 143, + "STA": 128, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1549, + "CP39": 1526 + }, + { + "Row": 398, + "Name": "Empoleon", + "Pokedex_Number": 395, + "Img_name": 395, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "steel", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 571, + "ATK": 210, + "DEF": 193, + "STA": 168, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2741, + "CP39": 2702 + }, + { + "Row": 399, + "Name": "Starly", + "Pokedex_Number": 396, + "Img_name": 396, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 239, + "ATK": 101, + "DEF": 58, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 603, + "CP39": 594 + }, + { + "Row": 400, + "Name": "Staravia", + "Pokedex_Number": 397, + "Img_name": 397, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 351, + "ATK": 142, + "DEF": 99, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1170, + "CP39": 1153 + }, + { + "Row": 401, + "Name": "Staraptor", + "Pokedex_Number": 398, + "Img_name": 398, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 549, + "ATK": 234, + "DEF": 145, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2675, + "CP39": 2637 + }, + { + "Row": 402, + "Name": "Bidoof", + "Pokedex_Number": 399, + "Img_name": 399, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 271, + "ATK": 80, + "DEF": 73, + "STA": 118, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 641, + "CP39": 632 + }, + { + "Row": 403, + "Name": "Bibarel", + "Pokedex_Number": 400, + "Img_name": 400, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "water", + "Weather1": "Partly cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 439, + "ATK": 162, + "DEF": 119, + "STA": 158, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1683, + "CP39": 1659 + }, + { + "Row": 404, + "Name": "Kricketot", + "Pokedex_Number": 401, + "Img_name": 401, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 193, + "ATK": 45, + "DEF": 74, + "STA": 74, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 333, + "CP39": 328 + }, + { + "Row": 405, + "Name": "Kricketune", + "Pokedex_Number": 402, + "Img_name": 402, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 414, + "ATK": 160, + "DEF": 100, + "STA": 154, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1523, + "CP39": 1501 + }, + { + "Row": 406, + "Name": "Shinx", + "Pokedex_Number": 403, + "Img_name": 403, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 271, + "ATK": 117, + "DEF": 64, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 750, + "CP39": 740 + }, + { + "Row": 407, + "Name": "Luxio", + "Pokedex_Number": 404, + "Img_name": 404, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 374, + "ATK": 159, + "DEF": 95, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1324, + "CP39": 1305 + }, + { + "Row": 408, + "Name": "Luxray", + "Pokedex_Number": 405, + "Img_name": 405, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 548, + "ATK": 232, + "DEF": 156, + "STA": 160, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2668, + "CP39": 2630 + }, + { + "Row": 409, + "Name": "Budew", + "Pokedex_Number": 406, + "Img_name": 406, + "Generation": 4, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 297, + "ATK": 91, + "DEF": 126, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 766, + "CP39": 755 + }, + { + "Row": 410, + "Name": "Roserade", + "Pokedex_Number": 407, + "Img_name": 407, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 569, + "ATK": 243, + "DEF": 206, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2783, + "CP39": 2743 + }, + { + "Row": 411, + "Name": "Cranidos", + "Pokedex_Number": 408, + "Img_name": 408, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 427, + "ATK": 218, + "DEF": 75, + "STA": 134, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1685, + "CP39": 1661 + }, + { + "Row": 412, + "Name": "Rampardos", + "Pokedex_Number": 409, + "Img_name": 409, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 603, + "ATK": 295, + "DEF": 114, + "STA": 194, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3179, + "CP39": 3133 + }, + { + "Row": 413, + "Name": "Shieldon", + "Pokedex_Number": 410, + "Img_name": 410, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "steel", + "Weather1": "Partly cloudy", + "Weather2": "Snow", + "STAT_TOTAL": 344, + "ATK": 76, + "DEF": 208, + "STA": 60, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 735, + "CP39": 724 + }, + { + "Row": 414, + "Name": "Bastiodon", + "Pokedex_Number": 411, + "Img_name": 411, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "steel", + "Weather1": "Partly cloudy", + "Weather2": "Snow", + "STAT_TOTAL": 513, + "ATK": 94, + "DEF": 299, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1401, + "CP39": 1381 + }, + { + "Row": 415, + "Name": "Burmy (Plant Cloak)", + "Pokedex_Number": 412, + "Img_name": 412, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 216, + "ATK": 53, + "DEF": 83, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 409, + "CP39": 403 + }, + { + "Row": 416, + "Name": "Burmy (Trash Cloak)", + "Pokedex_Number": 412, + "Img_name": "412-trash", + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 216, + "ATK": 53, + "DEF": 83, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 409, + "CP39": 403 + }, + { + "Row": 417, + "Name": "Burmy (Sandy Cloak)", + "Pokedex_Number": 412, + "Img_name": "412-sandy", + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 216, + "ATK": 53, + "DEF": 83, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 409, + "CP39": 403 + }, + { + "Row": 418, + "Name": "Wormadam (Plant Cloak)", + "Pokedex_Number": 413, + "Img_name": 413, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 450, + "ATK": 141, + "DEF": 189, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1616, + "CP39": 1593 + }, + { + "Row": 419, + "Name": "Wormadam (Trash Cloak)", + "Pokedex_Number": 413, + "Img_name": "413-trash", + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 450, + "ATK": 141, + "DEF": 189, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1616, + "CP39": 1593 + }, + { + "Row": 420, + "Name": "Wormadam (Sandy Cloak)", + "Pokedex_Number": 413, + "Img_name": "413-sandy", + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 450, + "ATK": 141, + "DEF": 189, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1616, + "CP39": 1593 + }, + { + "Row": 421, + "Name": "Mothim", + "Pokedex_Number": 414, + "Img_name": 414, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 423, + "ATK": 185, + "DEF": 98, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1653, + "CP39": 1629 + }, + { + "Row": 422, + "Name": "Combee", + "Pokedex_Number": 415, + "Img_name": 415, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 202, + "ATK": 59, + "DEF": 83, + "STA": 60, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 396, + "CP39": 390 + }, + { + "Row": 423, + "Name": "Vespiquen", + "Pokedex_Number": 416, + "Img_name": 416, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 479, + "ATK": 149, + "DEF": 190, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1825, + "CP39": 1799 + }, + { + "Row": 424, + "Name": "Pachirisu", + "Pokedex_Number": 417, + "Img_name": 417, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 396, + "ATK": 94, + "DEF": 182, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1110, + "CP39": 1094 + }, + { + "Row": 425, + "Name": "Buizel", + "Pokedex_Number": 418, + "Img_name": 418, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 312, + "ATK": 132, + "DEF": 70, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 946, + "CP39": 932 + }, + { + "Row": 426, + "Name": "Floatzel", + "Pokedex_Number": 419, + "Img_name": 419, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 509, + "ATK": 221, + "DEF": 118, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2312, + "CP39": 2279 + }, + { + "Row": 427, + "Name": "Cherubi", + "Pokedex_Number": 420, + "Img_name": 420, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 294, + "ATK": 108, + "DEF": 96, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 829, + "CP39": 817 + }, + { + "Row": 428, + "Name": "Cherrim", + "Pokedex_Number": 421, + "Img_name": 421, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 467, + "ATK": 170, + "DEF": 157, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1886, + "CP39": 1859 + }, + { + "Row": 429, + "Name": "Shellos", + "Pokedex_Number": 422, + "Img_name": 422, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 366, + "ATK": 103, + "DEF": 111, + "STA": 152, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1069, + "CP39": 1053 + }, + { + "Row": 430, + "Name": "Gastrodon", + "Pokedex_Number": 423, + "Img_name": 423, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ground", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 540, + "ATK": 169, + "DEF": 149, + "STA": 222, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2265, + "CP39": 2233 + }, + { + "Row": 431, + "Name": "Ambipom", + "Pokedex_Number": 424, + "Img_name": 424, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 498, + "ATK": 205, + "DEF": 143, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2218, + "CP39": 2186 + }, + { + "Row": 432, + "Name": "Drifloon", + "Pokedex_Number": 425, + "Img_name": 425, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "flying", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 382, + "ATK": 117, + "DEF": 85, + "STA": 180, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1151, + "CP39": 1134 + }, + { + "Row": 433, + "Name": "Drifblim", + "Pokedex_Number": 426, + "Img_name": 426, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "flying", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 587, + "ATK": 180, + "DEF": 107, + "STA": 300, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2387, + "CP39": 2353 + }, + { + "Row": 434, + "Name": "Buneary", + "Pokedex_Number": 427, + "Img_name": 427, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 351, + "ATK": 130, + "DEF": 111, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1136, + "CP39": 1120 + }, + { + "Row": 435, + "Name": "Lopunny", + "Pokedex_Number": 428, + "Img_name": 428, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 486, + "ATK": 156, + "DEF": 200, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1885, + "CP39": 1858 + }, + { + "Row": 436, + "Name": "Mismagius", + "Pokedex_Number": 429, + "Img_name": 429, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Weather1": "Fog", + "STAT_TOTAL": 542, + "ATK": 211, + "DEF": 211, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2465, + "CP39": 2430 + }, + { + "Row": 437, + "Name": "Honchkrow", + "Pokedex_Number": 430, + "Img_name": 430, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "flying", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 546, + "ATK": 243, + "DEF": 103, + "STA": 200, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2566, + "CP39": 2529 + }, + { + "Row": 438, + "Name": "Glameow", + "Pokedex_Number": 431, + "Img_name": 431, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 292, + "ATK": 109, + "DEF": 85, + "STA": 98, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 823, + "CP39": 811 + }, + { + "Row": 439, + "Name": "Purugly", + "Pokedex_Number": 432, + "Img_name": 432, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 450, + "ATK": 172, + "DEF": 136, + "STA": 142, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1798, + "CP39": 1772 + }, + { + "Row": 440, + "Name": "Chingling", + "Pokedex_Number": 433, + "Img_name": 433, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 298, + "ATK": 114, + "DEF": 94, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 861, + "CP39": 849 + }, + { + "Row": 441, + "Name": "Stunky", + "Pokedex_Number": 434, + "Img_name": 434, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "dark", + "Weather1": "Cloudy", + "Weather2": "Fog", + "STAT_TOTAL": 340, + "ATK": 121, + "DEF": 93, + "STA": 126, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1048, + "CP39": 1033 + }, + { + "Row": 442, + "Name": "Skuntank", + "Pokedex_Number": 435, + "Img_name": 435, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "dark", + "Weather1": "Cloudy", + "Weather2": "Fog", + "STAT_TOTAL": 525, + "ATK": 184, + "DEF": 135, + "STA": 206, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2262, + "CP39": 2230 + }, + { + "Row": 443, + "Name": "Bronzor", + "Pokedex_Number": 436, + "Img_name": 436, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "psychic", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 311, + "ATK": 43, + "DEF": 154, + "STA": 114, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 534, + "CP39": 527 + }, + { + "Row": 444, + "Name": "Bronzong", + "Pokedex_Number": 437, + "Img_name": 437, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "psychic", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 508, + "ATK": 161, + "DEF": 213, + "STA": 134, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2026, + "CP39": 1997 + }, + { + "Row": 445, + "Name": "Bonsly", + "Pokedex_Number": 438, + "Img_name": 438, + "Generation": 4, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 379, + "ATK": 124, + "DEF": 155, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1213, + "CP39": 1196 + }, + { + "Row": 446, + "Name": "Mime Jr.", + "Pokedex_Number": 439, + "Img_name": 439, + "Generation": 4, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "fairy", + "Weather1": "Windy", + "Weather2": "Cloudy", + "STAT_TOTAL": 329, + "ATK": 125, + "DEF": 164, + "STA": 40, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 867, + "CP39": 855 + }, + { + "Row": 447, + "Name": "Happiny", + "Pokedex_Number": 440, + "Img_name": 440, + "Generation": 4, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 330, + "ATK": 25, + "DEF": 105, + "STA": 200, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 401, + "CP39": 395 + }, + { + "Row": 448, + "Name": "Chatot", + "Pokedex_Number": 441, + "Img_name": 441, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 427, + "ATK": 183, + "DEF": 92, + "STA": 152, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1653, + "CP39": 1629 + }, + { + "Row": 449, + "Name": "Spiritomb", + "Pokedex_Number": 442, + "Img_name": 442, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "dark", + "Weather1": "Fog", + "STAT_TOTAL": 468, + "ATK": 169, + "DEF": 199, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1802, + "CP39": 1777 + }, + { + "Row": 450, + "Name": "Gible", + "Pokedex_Number": 443, + "Img_name": 443, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "ground", + "Weather1": "Windy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 324, + "ATK": 124, + "DEF": 84, + "STA": 116, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 988, + "CP39": 974 + }, + { + "Row": 451, + "Name": "Gabite", + "Pokedex_Number": 444, + "Img_name": 444, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "ground", + "Weather1": "Windy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 438, + "ATK": 172, + "DEF": 130, + "STA": 136, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1728, + "CP39": 1703 + }, + { + "Row": 452, + "Name": "Garchomp", + "Pokedex_Number": 445, + "Img_name": 445, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "ground", + "Weather1": "Windy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 675, + "ATK": 261, + "DEF": 198, + "STA": 216, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3823, + "CP39": 3769 + }, + { + "Row": 453, + "Name": "Munchlax", + "Pokedex_Number": 446, + "Img_name": 446, + "Generation": 4, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 544, + "ATK": 137, + "DEF": 137, + "STA": 270, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1975, + "CP39": 1947 + }, + { + "Row": 454, + "Name": "Riolu", + "Pokedex_Number": 447, + "Img_name": 447, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 285, + "ATK": 127, + "DEF": 78, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 833, + "CP39": 821 + }, + { + "Row": 455, + "Name": "Lucario", + "Pokedex_Number": 448, + "Img_name": 448, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Type2": "steel", + "Weather1": "Cloudy", + "Weather2": "Snow", + "STAT_TOTAL": 520, + "ATK": 236, + "DEF": 144, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2461, + "CP39": 2425 + }, + { + "Row": 456, + "Name": "Hippopotas", + "Pokedex_Number": 449, + "Img_name": 449, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 394, + "ATK": 124, + "DEF": 134, + "STA": 136, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1302, + "CP39": 1283 + }, + { + "Row": 457, + "Name": "Hippowdon", + "Pokedex_Number": 450, + "Img_name": 450, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 629, + "ATK": 201, + "DEF": 212, + "STA": 216, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3089, + "CP39": 3045 + }, + { + "Row": 458, + "Name": "Skorupi", + "Pokedex_Number": 451, + "Img_name": 451, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "bug", + "Weather1": "Cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 341, + "ATK": 93, + "DEF": 168, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 889, + "CP39": 876 + }, + { + "Row": 459, + "Name": "Drapion", + "Pokedex_Number": 452, + "Img_name": 452, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "dark", + "Weather1": "Cloudy", + "Weather2": "Fog", + "STAT_TOTAL": 539, + "ATK": 180, + "DEF": 219, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2319, + "CP39": 2286 + }, + { + "Row": 460, + "Name": "Croagunk", + "Pokedex_Number": 453, + "Img_name": 453, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 288, + "ATK": 116, + "DEF": 76, + "STA": 96, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 822, + "CP39": 810 + }, + { + "Row": 461, + "Name": "Toxicroak", + "Pokedex_Number": 454, + "Img_name": 454, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 510, + "ATK": 211, + "DEF": 133, + "STA": 166, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2310, + "CP39": 2277 + }, + { + "Row": 462, + "Name": "Carnivine", + "Pokedex_Number": 455, + "Img_name": 455, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 471, + "ATK": 187, + "DEF": 136, + "STA": 148, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1979, + "CP39": 1951 + }, + { + "Row": 463, + "Name": "Finneon", + "Pokedex_Number": 456, + "Img_name": 456, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 313, + "ATK": 96, + "DEF": 119, + "STA": 98, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 853, + "CP39": 840 + }, + { + "Row": 464, + "Name": "Lumineon", + "Pokedex_Number": 457, + "Img_name": 457, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 455, + "ATK": 142, + "DEF": 175, + "STA": 138, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1671, + "CP39": 1648 + }, + { + "Row": 465, + "Name": "Mantyke", + "Pokedex_Number": 458, + "Img_name": 458, + "Generation": 4, + "Evolution_Stage": 0, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 407, + "ATK": 105, + "DEF": 212, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1157, + "CP39": 1140 + }, + { + "Row": 466, + "Name": "Snover", + "Pokedex_Number": 459, + "Img_name": 459, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "ice", + "Weather1": "Sunny/clear", + "Weather2": "Snow", + "STAT_TOTAL": 345, + "ATK": 115, + "DEF": 110, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1054, + "CP39": 1039 + }, + { + "Row": 467, + "Name": "Abomasnow", + "Pokedex_Number": 460, + "Img_name": 460, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "ice", + "Weather1": "Sunny/clear", + "Weather2": "Snow", + "STAT_TOTAL": 521, + "ATK": 178, + "DEF": 163, + "STA": 180, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2245, + "CP39": 2213 + }, + { + "Row": 468, + "Name": "Weavile", + "Pokedex_Number": 461, + "Img_name": 461, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "ice", + "Weather1": "Fog", + "Weather2": "Snow", + "STAT_TOTAL": 565, + "ATK": 243, + "DEF": 182, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2815, + "CP39": 2775 + }, + { + "Row": 469, + "Name": "Magnezone", + "Pokedex_Number": 462, + "Img_name": 462, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "steel", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 595, + "ATK": 238, + "DEF": 217, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2996, + "CP39": 2953 + }, + { + "Row": 470, + "Name": "Lickilicky", + "Pokedex_Number": 463, + "Img_name": 463, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 1, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 562, + "ATK": 161, + "DEF": 181, + "STA": 220, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2359, + "CP39": 2325 + }, + { + "Row": 471, + "Name": "Rhyperior", + "Pokedex_Number": 464, + "Img_name": 464, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "rock", + "Weather1": "Sunny/clear", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 695, + "ATK": 241, + "DEF": 224, + "STA": 230, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3869, + "CP39": 3813 + }, + { + "Row": 472, + "Name": "Tangrowth", + "Pokedex_Number": 465, + "Img_name": 465, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 626, + "ATK": 207, + "DEF": 219, + "STA": 200, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3110, + "CP39": 3065 + }, + { + "Row": 473, + "Name": "Electivire", + "Pokedex_Number": 466, + "Img_name": 466, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 1, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 572, + "ATK": 249, + "DEF": 173, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2904, + "CP39": 2862 + }, + { + "Row": 474, + "Name": "Magmortar", + "Pokedex_Number": 467, + "Img_name": 467, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "FamilyID": 62, + "Cross_Gen": 1, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 583, + "ATK": 247, + "DEF": 186, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2980, + "CP39": 2937 + }, + { + "Row": 475, + "Name": "Togekiss", + "Pokedex_Number": 468, + "Img_name": 468, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fairy", + "Type2": "flying", + "Weather1": "Cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 622, + "ATK": 225, + "DEF": 227, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3171, + "CP39": 3126 + }, + { + "Row": 476, + "Name": "Yanmega", + "Pokedex_Number": 469, + "Img_name": 469, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 575, + "ATK": 231, + "DEF": 172, + "STA": 172, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2873, + "CP39": 2832 + }, + { + "Row": 477, + "Name": "Leafeon", + "Pokedex_Number": 470, + "Img_name": 470, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 1, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 600, + "ATK": 216, + "DEF": 254, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2849, + "CP39": 2808 + }, + { + "Row": 478, + "Name": "Glaceon", + "Pokedex_Number": 471, + "Img_name": 471, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 1, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 580, + "ATK": 238, + "DEF": 212, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2866, + "CP39": 2825 + }, + { + "Row": 479, + "Name": "Gliscor", + "Pokedex_Number": 472, + "Img_name": 472, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 583, + "ATK": 185, + "DEF": 248, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2602, + "CP39": 2565 + }, + { + "Row": 480, + "Name": "Mamoswine", + "Pokedex_Number": 473, + "Img_name": 473, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "ground", + "Weather1": "Snow", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 624, + "ATK": 247, + "DEF": 157, + "STA": 220, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3289, + "CP39": 3242 + }, + { + "Row": 481, + "Name": "Porygon-Z", + "Pokedex_Number": 474, + "Img_name": 474, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 587, + "ATK": 264, + "DEF": 153, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3072, + "CP39": 3028 + }, + { + "Row": 482, + "Name": "Gallade", + "Pokedex_Number": 475, + "Img_name": 475, + "Generation": 4, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "fighting", + "Weather1": "Windy", + "Weather2": "Cloudy", + "STAT_TOTAL": 593, + "ATK": 237, + "DEF": 220, + "STA": 136, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2964, + "CP39": 2922 + }, + { + "Row": 483, + "Name": "Probopass", + "Pokedex_Number": 476, + "Img_name": 476, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "steel", + "Weather1": "Partly cloudy", + "Weather2": "Snow", + "STAT_TOTAL": 533, + "ATK": 135, + "DEF": 278, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1863, + "CP39": 1836 + }, + { + "Row": 484, + "Name": "Dusknoir", + "Pokedex_Number": 477, + "Img_name": 477, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Weather1": "Fog", + "STAT_TOTAL": 524, + "ATK": 180, + "DEF": 254, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2046, + "CP39": 2017 + }, + { + "Row": 485, + "Name": "Froslass", + "Pokedex_Number": 478, + "Img_name": 478, + "Generation": 4, + "Evolution_Stage": 3, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Type2": "ghost", + "Weather1": "Snow", + "Weather2": "Fog", + "STAT_TOTAL": 461, + "ATK": 171, + "DEF": 150, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1857, + "CP39": 1831 + }, + { + "Row": 486, + "Name": "Rotom (Heat Rotom)", + "Pokedex_Number": 479, + "Img_name": "479-heat", + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "ghost", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 444, + "ATK": 185, + "DEF": 159, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1767, + "CP39": 1741 + }, + { + "Row": 487, + "Name": "Rotom (Wash Rotom)", + "Pokedex_Number": 479, + "Img_name": "479-wash", + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "ghost", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 444, + "ATK": 185, + "DEF": 159, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1767, + "CP39": 1741 + }, + { + "Row": 488, + "Name": "Rotom (Frost Rotom)", + "Pokedex_Number": 479, + "Img_name": "479-frost", + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "ghost", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 444, + "ATK": 185, + "DEF": 159, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1767, + "CP39": 1741 + }, + { + "Row": 489, + "Name": "Rotom (Fan Rotom)", + "Pokedex_Number": 479, + "Img_name": "479-spin", + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "ghost", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 444, + "ATK": 185, + "DEF": 159, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1767, + "CP39": 1741 + }, + { + "Row": 490, + "Name": "Rotom (Mow Rotom)", + "Pokedex_Number": 479, + "Img_name": "479-mow", + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "ghost", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 444, + "ATK": 185, + "DEF": 159, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1767, + "CP39": 1741 + }, + { + "Row": 491, + "Name": "Rotom (Normal Rotom)", + "Pokedex_Number": 479, + "Img_name": 479, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "ghost", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 444, + "ATK": 185, + "DEF": 159, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1767, + "CP39": 1741 + }, + { + "Row": 492, + "Name": "Uxie", + "Pokedex_Number": 480, + "Img_name": 480, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 576, + "ATK": 156, + "DEF": 270, + "STA": 150, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2316, + "CP39": 2282 + }, + { + "Row": 493, + "Name": "Mesprit", + "Pokedex_Number": 481, + "Img_name": 481, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 584, + "ATK": 212, + "DEF": 212, + "STA": 160, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2825, + "CP39": 2785 + }, + { + "Row": 494, + "Name": "Azelf", + "Pokedex_Number": 482, + "Img_name": 482, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 571, + "ATK": 270, + "DEF": 151, + "STA": 150, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2945, + "CP39": 2903 + }, + { + "Row": 495, + "Name": "Dialga", + "Pokedex_Number": 483, + "Img_name": 483, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "dragon", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 744, + "ATK": 302, + "DEF": 242, + "STA": 200, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4654, + "CP39": 4587 + }, + { + "Row": 496, + "Name": "Palkia", + "Pokedex_Number": 484, + "Img_name": 484, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "dragon", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 735, + "ATK": 308, + "DEF": 247, + "STA": 180, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4559, + "CP39": 4494 + }, + { + "Row": 497, + "Name": "Heatran", + "Pokedex_Number": 485, + "Img_name": 485, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "steel", + "Weather1": "Sunny/clear", + "Weather2": "Snow", + "STAT_TOTAL": 646, + "ATK": 251, + "DEF": 213, + "STA": 182, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3521, + "CP39": 3470 + }, + { + "Row": 498, + "Name": "Regigigas", + "Pokedex_Number": 486, + "Img_name": 486, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 766, + "ATK": 315, + "DEF": 231, + "STA": 220, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4955, + "CP39": 4884 + }, + { + "Row": 499, + "Name": "Giratina (Altered Forme)", + "Pokedex_Number": 487, + "Img_name": 487, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "dragon", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 753, + "ATK": 206, + "DEF": 247, + "STA": 300, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3965, + "CP39": 3908 + }, + { + "Row": 500, + "Name": "Giratina (Origin Forme)", + "Pokedex_Number": 487, + "Img_name": "487-origin", + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "dragon", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 753, + "ATK": 206, + "DEF": 247, + "STA": 300, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3965, + "CP39": 3908 + }, + { + "Row": 501, + "Name": "Cresselia", + "Pokedex_Number": 488, + "Img_name": 488, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 655, + "ATK": 152, + "DEF": 263, + "STA": 240, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2777, + "CP39": 2737 + }, + { + "Row": 502, + "Name": "Phione", + "Pokedex_Number": 489, + "Img_name": 489, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 484, + "ATK": 162, + "DEF": 162, + "STA": 160, + "Legendary": 2, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1945, + "CP39": 1917 + }, + { + "Row": 503, + "Name": "Manaphy", + "Pokedex_Number": 490, + "Img_name": 490, + "Generation": 4, + "Evolution_Stage": 2, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 620, + "ATK": 210, + "DEF": 210, + "STA": 200, + "Legendary": 2, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3090, + "CP39": 3046 + }, + { + "Row": 504, + "Name": "Darkrai", + "Pokedex_Number": 491, + "Img_name": 491, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Weather1": "Fog", + "STAT_TOTAL": 623, + "ATK": 285, + "DEF": 198, + "STA": 140, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3404, + "CP39": 3355 + }, + { + "Row": 505, + "Name": "Shaymin (Land Forme)", + "Pokedex_Number": 492, + "Img_name": 492, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 620, + "ATK": 210, + "DEF": 210, + "STA": 200, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3090, + "CP39": 3046 + }, + { + "Row": 506, + "Name": "Shaymin (Sky Forme)", + "Pokedex_Number": 492, + "Img_name": "492-sky", + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 620, + "ATK": 210, + "DEF": 210, + "STA": 200, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3090, + "CP39": 3046 + }, + { + "Row": 507, + "Name": "Arceus", + "Pokedex_Number": 493, + "Img_name": 493, + "Generation": 4, + "Evolution_Stage": 1, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 764, + "ATK": 262, + "DEF": 262, + "STA": 240, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4598, + "CP39": 4532 + }, + { + "Row": 508, + "Name": "Victini", + "Pokedex_Number": 494, + "Img_name": 494, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "fire", + "Weather1": "Windy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 620, + "ATK": 210, + "DEF": 210, + "STA": 200, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3090, + "CP39": 3046 + }, + { + "Row": 509, + "Name": "Snivy", + "Pokedex_Number": 495, + "Img_name": 495, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 285, + "ATK": 88, + "DEF": 107, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 728, + "CP39": 717 + }, + { + "Row": 510, + "Name": "Servine", + "Pokedex_Number": 496, + "Img_name": 496, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 394, + "ATK": 122, + "DEF": 152, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1284, + "CP39": 1266 + }, + { + "Row": 511, + "Name": "Serperior", + "Pokedex_Number": 497, + "Img_name": 497, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 515, + "ATK": 161, + "DEF": 204, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2089, + "CP39": 2059 + }, + { + "Row": 512, + "Name": "Tepig", + "Pokedex_Number": 498, + "Img_name": 498, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 330, + "ATK": 115, + "DEF": 85, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 977, + "CP39": 963 + }, + { + "Row": 513, + "Name": "Pignite", + "Pokedex_Number": 499, + "Img_name": 499, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "fighting", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 459, + "ATK": 173, + "DEF": 106, + "STA": 180, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1803, + "CP39": 1777 + }, + { + "Row": 514, + "Name": "Emboar", + "Pokedex_Number": 500, + "Img_name": 500, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "fighting", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 582, + "ATK": 235, + "DEF": 127, + "STA": 220, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2852, + "CP39": 2811 + }, + { + "Row": 515, + "Name": "Oshawott", + "Pokedex_Number": 501, + "Img_name": 501, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 312, + "ATK": 117, + "DEF": 85, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 921, + "CP39": 908 + }, + { + "Row": 516, + "Name": "Dewott", + "Pokedex_Number": 502, + "Img_name": 502, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 425, + "ATK": 159, + "DEF": 116, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1597, + "CP39": 1574 + }, + { + "Row": 517, + "Name": "Samurott", + "Pokedex_Number": 503, + "Img_name": 503, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 566, + "ATK": 212, + "DEF": 164, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2715, + "CP39": 2677 + }, + { + "Row": 518, + "Name": "Patrat", + "Pokedex_Number": 504, + "Img_name": 504, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 261, + "ATK": 98, + "DEF": 73, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 678, + "CP39": 668 + }, + { + "Row": 519, + "Name": "Watchog", + "Pokedex_Number": 505, + "Img_name": 505, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 424, + "ATK": 165, + "DEF": 139, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1621, + "CP39": 1597 + }, + { + "Row": 520, + "Name": "Lillipup", + "Pokedex_Number": 506, + "Img_name": 506, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 283, + "ATK": 107, + "DEF": 86, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 784, + "CP39": 773 + }, + { + "Row": 521, + "Name": "Herdier", + "Pokedex_Number": 507, + "Img_name": 507, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 401, + "ATK": 145, + "DEF": 126, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1428, + "CP39": 1408 + }, + { + "Row": 522, + "Name": "Stoutland", + "Pokedex_Number": 508, + "Img_name": 508, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 558, + "ATK": 206, + "DEF": 182, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2635, + "CP39": 2597 + }, + { + "Row": 523, + "Name": "Purrloin", + "Pokedex_Number": 509, + "Img_name": 509, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Weather1": "Fog", + "STAT_TOTAL": 253, + "ATK": 98, + "DEF": 73, + "STA": 82, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 652, + "CP39": 642 + }, + { + "Row": 524, + "Name": "Liepard", + "Pokedex_Number": 510, + "Img_name": 510, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Weather1": "Fog", + "STAT_TOTAL": 421, + "ATK": 187, + "DEF": 106, + "STA": 128, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1659, + "CP39": 1635 + }, + { + "Row": 525, + "Name": "Pansage", + "Pokedex_Number": 511, + "Img_name": 511, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 298, + "ATK": 104, + "DEF": 94, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 832, + "CP39": 820 + }, + { + "Row": 526, + "Name": "Simisage", + "Pokedex_Number": 512, + "Img_name": 512, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 489, + "ATK": 206, + "DEF": 133, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2156, + "CP39": 2126 + }, + { + "Row": 527, + "Name": "Pansear", + "Pokedex_Number": 513, + "Img_name": 513, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 298, + "ATK": 104, + "DEF": 94, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 832, + "CP39": 820 + }, + { + "Row": 528, + "Name": "Simisear", + "Pokedex_Number": 514, + "Img_name": 514, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 489, + "ATK": 206, + "DEF": 133, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2156, + "CP39": 2126 + }, + { + "Row": 529, + "Name": "Panpour", + "Pokedex_Number": 515, + "Img_name": 515, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 298, + "ATK": 104, + "DEF": 94, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 832, + "CP39": 820 + }, + { + "Row": 530, + "Name": "Simipour", + "Pokedex_Number": 516, + "Img_name": 516, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 489, + "ATK": 206, + "DEF": 133, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2156, + "CP39": 2126 + }, + { + "Row": 531, + "Name": "Munna", + "Pokedex_Number": 517, + "Img_name": 517, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 360, + "ATK": 111, + "DEF": 97, + "STA": 152, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1076, + "CP39": 1060 + }, + { + "Row": 532, + "Name": "Musharna", + "Pokedex_Number": 518, + "Img_name": 518, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 586, + "ATK": 183, + "DEF": 171, + "STA": 232, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2650, + "CP39": 2612 + }, + { + "Row": 533, + "Name": "Pidove", + "Pokedex_Number": 519, + "Img_name": 519, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 287, + "ATK": 98, + "DEF": 89, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 771, + "CP39": 760 + }, + { + "Row": 534, + "Name": "Tranquill", + "Pokedex_Number": 520, + "Img_name": 520, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 385, + "ATK": 144, + "DEF": 117, + "STA": 124, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1345, + "CP39": 1325 + }, + { + "Row": 535, + "Name": "Unfezant", + "Pokedex_Number": 521, + "Img_name": 521, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 546, + "ATK": 226, + "DEF": 160, + "STA": 160, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2634, + "CP39": 2596 + }, + { + "Row": 536, + "Name": "Blitzle", + "Pokedex_Number": 522, + "Img_name": 522, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 272, + "ATK": 118, + "DEF": 64, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 756, + "CP39": 745 + }, + { + "Row": 537, + "Name": "Zebstrika", + "Pokedex_Number": 523, + "Img_name": 523, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 497, + "ATK": 211, + "DEF": 136, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2228, + "CP39": 2196 + }, + { + "Row": 538, + "Name": "Roggenrola", + "Pokedex_Number": 524, + "Img_name": 524, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 367, + "ATK": 121, + "DEF": 136, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1166, + "CP39": 1150 + }, + { + "Row": 539, + "Name": "Boldore", + "Pokedex_Number": 525, + "Img_name": 525, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 487, + "ATK": 174, + "DEF": 173, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2015, + "CP39": 1986 + }, + { + "Row": 540, + "Name": "Gigalith", + "Pokedex_Number": 526, + "Img_name": 526, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 619, + "ATK": 226, + "DEF": 223, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3158, + "CP39": 3113 + }, + { + "Row": 541, + "Name": "Woobat", + "Pokedex_Number": 527, + "Img_name": 527, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 322, + "ATK": 107, + "DEF": 85, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 917, + "CP39": 904 + }, + { + "Row": 542, + "Name": "Swoobat", + "Pokedex_Number": 528, + "Img_name": 528, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 414, + "ATK": 161, + "DEF": 119, + "STA": 134, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1553, + "CP39": 1531 + }, + { + "Row": 543, + "Name": "Drilbur", + "Pokedex_Number": 529, + "Img_name": 529, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 362, + "ATK": 154, + "DEF": 88, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1244, + "CP39": 1226 + }, + { + "Row": 544, + "Name": "Excadrill", + "Pokedex_Number": 530, + "Img_name": 530, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "steel", + "Weather1": "Sunny/clear", + "Weather2": "Snow", + "STAT_TOTAL": 607, + "ATK": 255, + "DEF": 132, + "STA": 220, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3134, + "CP39": 3089 + }, + { + "Row": 545, + "Name": "Audino", + "Pokedex_Number": 531, + "Img_name": 531, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 483, + "ATK": 114, + "DEF": 163, + "STA": 206, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1598, + "CP39": 1575 + }, + { + "Row": 546, + "Name": "Timburr", + "Pokedex_Number": 532, + "Img_name": 532, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 381, + "ATK": 134, + "DEF": 97, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1265, + "CP39": 1247 + }, + { + "Row": 547, + "Name": "Gurdurr", + "Pokedex_Number": 533, + "Img_name": 533, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 500, + "ATK": 180, + "DEF": 150, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2127, + "CP39": 2097 + }, + { + "Row": 548, + "Name": "Conkeldurr", + "Pokedex_Number": 534, + "Img_name": 534, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 625, + "ATK": 243, + "DEF": 172, + "STA": 210, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3305, + "CP39": 3258 + }, + { + "Row": 549, + "Name": "Tympole", + "Pokedex_Number": 535, + "Img_name": 535, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 276, + "ATK": 98, + "DEF": 78, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 729, + "CP39": 719 + }, + { + "Row": 550, + "Name": "Palpitoad", + "Pokedex_Number": 536, + "Img_name": 536, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ground", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 387, + "ATK": 128, + "DEF": 109, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1277, + "CP39": 1259 + }, + { + "Row": 551, + "Name": "Seismitoad", + "Pokedex_Number": 537, + "Img_name": 537, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ground", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 548, + "ATK": 188, + "DEF": 150, + "STA": 210, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2442, + "CP39": 2408 + }, + { + "Row": 552, + "Name": "Throh", + "Pokedex_Number": 538, + "Img_name": 538, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 572, + "ATK": 172, + "DEF": 160, + "STA": 240, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2467, + "CP39": 2432 + }, + { + "Row": 553, + "Name": "Sawk", + "Pokedex_Number": 539, + "Img_name": 539, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 534, + "ATK": 231, + "DEF": 153, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2558, + "CP39": 2521 + }, + { + "Row": 554, + "Name": "Sewaddle", + "Pokedex_Number": 540, + "Img_name": 540, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 315, + "ATK": 96, + "DEF": 129, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 852, + "CP39": 840 + }, + { + "Row": 555, + "Name": "Swadloon", + "Pokedex_Number": 541, + "Img_name": 541, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 391, + "ATK": 115, + "DEF": 166, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1221, + "CP39": 1203 + }, + { + "Row": 556, + "Name": "Leavanny", + "Pokedex_Number": 542, + "Img_name": 542, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "grass", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 520, + "ATK": 205, + "DEF": 165, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2368, + "CP39": 2334 + }, + { + "Row": 557, + "Name": "Venipede", + "Pokedex_Number": 543, + "Img_name": 543, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 252, + "ATK": 83, + "DEF": 109, + "STA": 60, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 590, + "CP39": 581 + }, + { + "Row": 558, + "Name": "Whirlipede", + "Pokedex_Number": 544, + "Img_name": 544, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 362, + "ATK": 100, + "DEF": 182, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 982, + "CP39": 968 + }, + { + "Row": 559, + "Name": "Scolipede", + "Pokedex_Number": 545, + "Img_name": 545, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "poison", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 509, + "ATK": 203, + "DEF": 186, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2242, + "CP39": 2210 + }, + { + "Row": 560, + "Name": "Cottonee", + "Pokedex_Number": 546, + "Img_name": 546, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "fairy", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 267, + "ATK": 71, + "DEF": 116, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 599, + "CP39": 590 + }, + { + "Row": 561, + "Name": "Whimsicott", + "Pokedex_Number": 547, + "Img_name": 547, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "fairy", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 466, + "ATK": 164, + "DEF": 182, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1823, + "CP39": 1797 + }, + { + "Row": 562, + "Name": "Petilil", + "Pokedex_Number": 548, + "Img_name": 548, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 300, + "ATK": 119, + "DEF": 91, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 882, + "CP39": 870 + }, + { + "Row": 563, + "Name": "Lilligant", + "Pokedex_Number": 549, + "Img_name": 549, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 509, + "ATK": 214, + "DEF": 155, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2321, + "CP39": 2288 + }, + { + "Row": 564, + "Name": "Basculin", + "Pokedex_Number": 550, + "Img_name": 550, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 463, + "ATK": 189, + "DEF": 134, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1936, + "CP39": 1908 + }, + { + "Row": 565, + "Name": "Sandile", + "Pokedex_Number": 551, + "Img_name": 551, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "dark", + "Weather1": "Sunny/clear", + "Weather2": "Fog", + "STAT_TOTAL": 301, + "ATK": 132, + "DEF": 69, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 902, + "CP39": 889 + }, + { + "Row": 566, + "Name": "Krokorok", + "Pokedex_Number": 552, + "Img_name": 552, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "dark", + "Weather1": "Sunny/clear", + "Weather2": "Fog", + "STAT_TOTAL": 365, + "ATK": 155, + "DEF": 90, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1264, + "CP39": 1246 + }, + { + "Row": 567, + "Name": "Krookodile", + "Pokedex_Number": 553, + "Img_name": 553, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "dark", + "Weather1": "Sunny/clear", + "Weather2": "Fog", + "STAT_TOTAL": 582, + "ATK": 229, + "DEF": 163, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2911, + "CP39": 2869 + }, + { + "Row": 568, + "Name": "Darumaka", + "Pokedex_Number": 554, + "Img_name": 554, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 379, + "ATK": 153, + "DEF": 86, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1312, + "CP39": 1294 + }, + { + "Row": 569, + "Name": "Darmanitan (Zen Mode)", + "Pokedex_Number": 555, + "Img_name": 555, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 587, + "ATK": 263, + "DEF": 114, + "STA": 210, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2958, + "CP39": 2915 + }, + { + "Row": 570, + "Name": "Darmanitan (Standard Mode)", + "Pokedex_Number": 555, + "Img_name": 555, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 587, + "ATK": 263, + "DEF": 114, + "STA": 210, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2958, + "CP39": 2915 + }, + { + "Row": 571, + "Name": "Maractus", + "Pokedex_Number": 556, + "Img_name": 556, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 481, + "ATK": 201, + "DEF": 130, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2086, + "CP39": 2056 + }, + { + "Row": 572, + "Name": "Dwebble", + "Pokedex_Number": 557, + "Img_name": 557, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "rock", + "Weather1": "Rainy", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 370, + "ATK": 118, + "DEF": 152, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1151, + "CP39": 1134 + }, + { + "Row": 573, + "Name": "Crustle", + "Pokedex_Number": 558, + "Img_name": 558, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "rock", + "Weather1": "Rainy", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 552, + "ATK": 188, + "DEF": 224, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2440, + "CP39": 2405 + }, + { + "Row": 574, + "Name": "Scraggy", + "Pokedex_Number": 559, + "Img_name": 559, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "fighting", + "Weather1": "Fog", + "Weather2": "Cloudy", + "STAT_TOTAL": 364, + "ATK": 132, + "DEF": 132, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1193, + "CP39": 1176 + }, + { + "Row": 575, + "Name": "Scrafty", + "Pokedex_Number": 560, + "Img_name": 560, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "fighting", + "Weather1": "Fog", + "Weather2": "Cloudy", + "STAT_TOTAL": 515, + "ATK": 163, + "DEF": 222, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2060, + "CP39": 2031 + }, + { + "Row": 576, + "Name": "Sigilyph", + "Pokedex_Number": 561, + "Img_name": 561, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 515, + "ATK": 204, + "DEF": 167, + "STA": 144, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2326, + "CP39": 2293 + }, + { + "Row": 577, + "Name": "Yamask", + "Pokedex_Number": 562, + "Img_name": 562, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Weather1": "Fog", + "STAT_TOTAL": 321, + "ATK": 95, + "DEF": 150, + "STA": 76, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 841, + "CP39": 829 + }, + { + "Row": 578, + "Name": "Cofagrigus", + "Pokedex_Number": 563, + "Img_name": 563, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Weather1": "Fog", + "STAT_TOTAL": 534, + "ATK": 163, + "DEF": 255, + "STA": 116, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2090, + "CP39": 2060 + }, + { + "Row": 579, + "Name": "Tirtouga", + "Pokedex_Number": 564, + "Img_name": 564, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "rock", + "Weather1": "Rainy", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 414, + "ATK": 134, + "DEF": 172, + "STA": 108, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1411, + "CP39": 1391 + }, + { + "Row": 580, + "Name": "Carracosta", + "Pokedex_Number": 565, + "Img_name": 565, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "rock", + "Weather1": "Rainy", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 568, + "ATK": 192, + "DEF": 228, + "STA": 148, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2573, + "CP39": 2536 + }, + { + "Row": 581, + "Name": "Archen", + "Pokedex_Number": 566, + "Img_name": 566, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 412, + "ATK": 213, + "DEF": 89, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1623, + "CP39": 1600 + }, + { + "Row": 582, + "Name": "Archeops", + "Pokedex_Number": 567, + "Img_name": 567, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 581, + "ATK": 292, + "DEF": 139, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3056, + "CP39": 3012 + }, + { + "Row": 583, + "Name": "Trubbish", + "Pokedex_Number": 568, + "Img_name": 568, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 318, + "ATK": 96, + "DEF": 122, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 870, + "CP39": 857 + }, + { + "Row": 584, + "Name": "Garbodor", + "Pokedex_Number": 569, + "Img_name": 569, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Weather1": "Cloudy", + "STAT_TOTAL": 505, + "ATK": 181, + "DEF": 164, + "STA": 160, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2166, + "CP39": 2135 + }, + { + "Row": 585, + "Name": "Zorua", + "Pokedex_Number": 570, + "Img_name": 570, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Weather1": "Fog", + "STAT_TOTAL": 311, + "ATK": 153, + "DEF": 78, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 986, + "CP39": 972 + }, + { + "Row": 586, + "Name": "Zoroark", + "Pokedex_Number": 571, + "Img_name": 571, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Weather1": "Fog", + "STAT_TOTAL": 497, + "ATK": 250, + "DEF": 127, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2291, + "CP39": 2258 + }, + { + "Row": 587, + "Name": "Minccino", + "Pokedex_Number": 572, + "Img_name": 572, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 288, + "ATK": 98, + "DEF": 80, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 769, + "CP39": 758 + }, + { + "Row": 588, + "Name": "Cinccino", + "Pokedex_Number": 573, + "Img_name": 573, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 478, + "ATK": 198, + "DEF": 130, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2057, + "CP39": 2028 + }, + { + "Row": 589, + "Name": "Gothita", + "Pokedex_Number": 574, + "Img_name": 574, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 306, + "ATK": 98, + "DEF": 118, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 834, + "CP39": 822 + }, + { + "Row": 590, + "Name": "Gothorita", + "Pokedex_Number": 575, + "Img_name": 575, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 416, + "ATK": 137, + "DEF": 159, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1455, + "CP39": 1434 + }, + { + "Row": 591, + "Name": "Gothitelle", + "Pokedex_Number": 576, + "Img_name": 576, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 528, + "ATK": 176, + "DEF": 212, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2237, + "CP39": 2205 + }, + { + "Row": 592, + "Name": "Solosis", + "Pokedex_Number": 577, + "Img_name": 577, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 347, + "ATK": 170, + "DEF": 87, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1195, + "CP39": 1178 + }, + { + "Row": 593, + "Name": "Duosion", + "Pokedex_Number": 578, + "Img_name": 578, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 445, + "ATK": 208, + "DEF": 107, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1852, + "CP39": 1826 + }, + { + "Row": 594, + "Name": "Reuniclus", + "Pokedex_Number": 579, + "Img_name": 579, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 587, + "ATK": 214, + "DEF": 153, + "STA": 220, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2841, + "CP39": 2801 + }, + { + "Row": 595, + "Name": "Ducklett", + "Pokedex_Number": 580, + "Img_name": 580, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 304, + "ATK": 84, + "DEF": 96, + "STA": 124, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 768, + "CP39": 757 + }, + { + "Row": 596, + "Name": "Swanna", + "Pokedex_Number": 581, + "Img_name": 581, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 464, + "ATK": 182, + "DEF": 132, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1916, + "CP39": 1888 + }, + { + "Row": 597, + "Name": "Vanillite", + "Pokedex_Number": 582, + "Img_name": 582, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 301, + "ATK": 118, + "DEF": 111, + "STA": 72, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 869, + "CP39": 857 + }, + { + "Row": 598, + "Name": "Vanillish", + "Pokedex_Number": 583, + "Img_name": 583, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 396, + "ATK": 151, + "DEF": 143, + "STA": 102, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1409, + "CP39": 1389 + }, + { + "Row": 599, + "Name": "Vanilluxe", + "Pokedex_Number": 584, + "Img_name": 584, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 550, + "ATK": 218, + "DEF": 190, + "STA": 142, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2610, + "CP39": 2573 + }, + { + "Row": 600, + "Name": "Deerling", + "Pokedex_Number": 585, + "Img_name": 585, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "grass", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 335, + "ATK": 115, + "DEF": 100, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1011, + "CP39": 997 + }, + { + "Row": 601, + "Name": "Sawsbuck", + "Pokedex_Number": 586, + "Img_name": 586, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "grass", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 504, + "ATK": 198, + "DEF": 146, + "STA": 160, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2233, + "CP39": 2201 + }, + { + "Row": 602, + "Name": "Emolga", + "Pokedex_Number": 587, + "Img_name": 587, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 395, + "ATK": 158, + "DEF": 127, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1439, + "CP39": 1419 + }, + { + "Row": 603, + "Name": "Karrablast", + "Pokedex_Number": 588, + "Img_name": 588, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 324, + "ATK": 137, + "DEF": 87, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1028, + "CP39": 1013 + }, + { + "Row": 604, + "Name": "Escavalier", + "Pokedex_Number": 589, + "Img_name": 589, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "steel", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 550, + "ATK": 223, + "DEF": 187, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2630, + "CP39": 2592 + }, + { + "Row": 605, + "Name": "Foongus", + "Pokedex_Number": 590, + "Img_name": 590, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 330, + "ATK": 97, + "DEF": 95, + "STA": 138, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 907, + "CP39": 894 + }, + { + "Row": 606, + "Name": "Amoonguss", + "Pokedex_Number": 591, + "Img_name": 591, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "poison", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 527, + "ATK": 155, + "DEF": 144, + "STA": 228, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2087, + "CP39": 2057 + }, + { + "Row": 607, + "Name": "Frillish", + "Pokedex_Number": 592, + "Img_name": 592, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ghost", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 375, + "ATK": 115, + "DEF": 150, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1166, + "CP39": 1149 + }, + { + "Row": 608, + "Name": "Jellicent", + "Pokedex_Number": 593, + "Img_name": 593, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "ghost", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 554, + "ATK": 159, + "DEF": 195, + "STA": 200, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2309, + "CP39": 2276 + }, + { + "Row": 609, + "Name": "Alomomola", + "Pokedex_Number": 594, + "Img_name": 594, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 616, + "ATK": 138, + "DEF": 148, + "STA": 330, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2266, + "CP39": 2233 + }, + { + "Row": 610, + "Name": "Joltik", + "Pokedex_Number": 595, + "Img_name": 595, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 308, + "ATK": 110, + "DEF": 98, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 889, + "CP39": 877 + }, + { + "Row": 611, + "Name": "Galvantula", + "Pokedex_Number": 596, + "Img_name": 596, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 469, + "ATK": 201, + "DEF": 128, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2008, + "CP39": 1979 + }, + { + "Row": 612, + "Name": "Ferroseed", + "Pokedex_Number": 597, + "Img_name": 597, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "steel", + "Weather1": "Sunny/clear", + "Weather2": "Snow", + "STAT_TOTAL": 327, + "ATK": 82, + "DEF": 157, + "STA": 88, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 806, + "CP39": 794 + }, + { + "Row": 613, + "Name": "Ferrothorn", + "Pokedex_Number": 598, + "Img_name": 598, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "steel", + "Weather1": "Sunny/clear", + "Weather2": "Snow", + "STAT_TOTAL": 536, + "ATK": 158, + "DEF": 230, + "STA": 148, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2159, + "CP39": 2128 + }, + { + "Row": 614, + "Name": "Klink", + "Pokedex_Number": 599, + "Img_name": 599, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Weather1": "Snow", + "STAT_TOTAL": 304, + "ATK": 98, + "DEF": 126, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 816, + "CP39": 805 + }, + { + "Row": 615, + "Name": "Klang", + "Pokedex_Number": 600, + "Img_name": 600, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Weather1": "Snow", + "STAT_TOTAL": 449, + "ATK": 150, + "DEF": 179, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1667, + "CP39": 1643 + }, + { + "Row": 616, + "Name": "Klinklang", + "Pokedex_Number": 601, + "Img_name": 601, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Weather1": "Snow", + "STAT_TOTAL": 549, + "ATK": 199, + "DEF": 230, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2430, + "CP39": 2396 + }, + { + "Row": 617, + "Name": "Tynamo", + "Pokedex_Number": 602, + "Img_name": 602, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 253, + "ATK": 105, + "DEF": 78, + "STA": 70, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 666, + "CP39": 656 + }, + { + "Row": 618, + "Name": "Eelektrik", + "Pokedex_Number": 603, + "Img_name": 603, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 416, + "ATK": 156, + "DEF": 130, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1548, + "CP39": 1526 + }, + { + "Row": 619, + "Name": "Eelektross", + "Pokedex_Number": 604, + "Img_name": 604, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 539, + "ATK": 217, + "DEF": 152, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2546, + "CP39": 2510 + }, + { + "Row": 620, + "Name": "Elgyem", + "Pokedex_Number": 605, + "Img_name": 605, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 358, + "ATK": 148, + "DEF": 100, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1220, + "CP39": 1203 + }, + { + "Row": 621, + "Name": "Beheeyem", + "Pokedex_Number": 606, + "Img_name": 606, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 543, + "ATK": 221, + "DEF": 172, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2589, + "CP39": 2552 + }, + { + "Row": 622, + "Name": "Litwick", + "Pokedex_Number": 607, + "Img_name": 607, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "fire", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 306, + "ATK": 108, + "DEF": 98, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 875, + "CP39": 863 + }, + { + "Row": 623, + "Name": "Lampent", + "Pokedex_Number": 608, + "Img_name": 608, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "fire", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 404, + "ATK": 169, + "DEF": 115, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1522, + "CP39": 1500 + }, + { + "Row": 624, + "Name": "Chandelure", + "Pokedex_Number": 609, + "Img_name": 609, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "fire", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 573, + "ATK": 271, + "DEF": 182, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2913, + "CP39": 2871 + }, + { + "Row": 625, + "Name": "Axew", + "Pokedex_Number": 610, + "Img_name": 610, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 357, + "ATK": 154, + "DEF": 111, + "STA": 92, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1225, + "CP39": 1208 + }, + { + "Row": 626, + "Name": "Fraxure", + "Pokedex_Number": 611, + "Img_name": 611, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 477, + "ATK": 212, + "DEF": 133, + "STA": 132, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2091, + "CP39": 2061 + }, + { + "Row": 627, + "Name": "Haxorus", + "Pokedex_Number": 612, + "Img_name": 612, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 619, + "ATK": 284, + "DEF": 183, + "STA": 152, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3395, + "CP39": 3347 + }, + { + "Row": 628, + "Name": "Cubchoo", + "Pokedex_Number": 613, + "Img_name": 613, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 312, + "ATK": 128, + "DEF": 74, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 942, + "CP39": 928 + }, + { + "Row": 629, + "Name": "Beartic", + "Pokedex_Number": 614, + "Img_name": 614, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 575, + "ATK": 233, + "DEF": 152, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2865, + "CP39": 2825 + }, + { + "Row": 630, + "Name": "Cryogonal", + "Pokedex_Number": 615, + "Img_name": 615, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 614, + "ATK": 190, + "DEF": 264, + "STA": 160, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2829, + "CP39": 2788 + }, + { + "Row": 631, + "Name": "Shelmet", + "Pokedex_Number": 616, + "Img_name": 616, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 321, + "ATK": 72, + "DEF": 149, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 746, + "CP39": 735 + }, + { + "Row": 632, + "Name": "Accelgor", + "Pokedex_Number": 617, + "Img_name": 617, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 511, + "ATK": 220, + "DEF": 131, + "STA": 160, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2346, + "CP39": 2312 + }, + { + "Row": 633, + "Name": "Stunfisk", + "Pokedex_Number": 618, + "Img_name": 618, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "electric", + "Weather1": "Sunny/clear", + "Weather2": "Rainy", + "STAT_TOTAL": 539, + "ATK": 144, + "DEF": 177, + "STA": 218, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2100, + "CP39": 2070 + }, + { + "Row": 634, + "Name": "Mienfoo", + "Pokedex_Number": 619, + "Img_name": 619, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 348, + "ATK": 160, + "DEF": 98, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1190, + "CP39": 1173 + }, + { + "Row": 635, + "Name": "Mienshao", + "Pokedex_Number": 620, + "Img_name": 620, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 515, + "ATK": 258, + "DEF": 127, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2446, + "CP39": 2411 + }, + { + "Row": 636, + "Name": "Druddigon", + "Pokedex_Number": 621, + "Img_name": 621, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 537, + "ATK": 213, + "DEF": 170, + "STA": 154, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2517, + "CP39": 2481 + }, + { + "Row": 637, + "Name": "Golett", + "Pokedex_Number": 622, + "Img_name": 622, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "ghost", + "Weather1": "Sunny/clear", + "Weather2": "Fog", + "STAT_TOTAL": 337, + "ATK": 127, + "DEF": 92, + "STA": 118, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1058, + "CP39": 1042 + }, + { + "Row": 638, + "Name": "Golurk", + "Pokedex_Number": 623, + "Img_name": 623, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "ghost", + "Weather1": "Sunny/clear", + "Weather2": "Fog", + "STAT_TOTAL": 554, + "ATK": 222, + "DEF": 154, + "STA": 178, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2673, + "CP39": 2635 + }, + { + "Row": 639, + "Name": "Pawniard", + "Pokedex_Number": 624, + "Img_name": 624, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "steel", + "Weather1": "Fog", + "Weather2": "Snow", + "STAT_TOTAL": 373, + "ATK": 154, + "DEF": 129, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1297, + "CP39": 1279 + }, + { + "Row": 640, + "Name": "Bisharp", + "Pokedex_Number": 625, + "Img_name": 625, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "steel", + "Weather1": "Fog", + "Weather2": "Snow", + "STAT_TOTAL": 553, + "ATK": 232, + "DEF": 191, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2666, + "CP39": 2628 + }, + { + "Row": 641, + "Name": "Bouffalant", + "Pokedex_Number": 626, + "Img_name": 626, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 567, + "ATK": 195, + "DEF": 182, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2635, + "CP39": 2598 + }, + { + "Row": 642, + "Name": "Rufflet", + "Pokedex_Number": 627, + "Img_name": 627, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 387, + "ATK": 150, + "DEF": 97, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1357, + "CP39": 1338 + }, + { + "Row": 643, + "Name": "Braviary", + "Pokedex_Number": 628, + "Img_name": 628, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 584, + "ATK": 232, + "DEF": 152, + "STA": 200, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2923, + "CP39": 2881 + }, + { + "Row": 644, + "Name": "Vullaby", + "Pokedex_Number": 629, + "Img_name": 629, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "flying", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 389, + "ATK": 105, + "DEF": 144, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1176, + "CP39": 1159 + }, + { + "Row": 645, + "Name": "Mandibuzz", + "Pokedex_Number": 630, + "Img_name": 630, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "flying", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 559, + "ATK": 129, + "DEF": 210, + "STA": 220, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2068, + "CP39": 2038 + }, + { + "Row": 646, + "Name": "Heatmor", + "Pokedex_Number": 631, + "Img_name": 631, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 503, + "ATK": 204, + "DEF": 129, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2232, + "CP39": 2200 + }, + { + "Row": 647, + "Name": "Durant", + "Pokedex_Number": 632, + "Img_name": 632, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "steel", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 555, + "ATK": 217, + "DEF": 222, + "STA": 116, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2553, + "CP39": 2516 + }, + { + "Row": 648, + "Name": "Deino", + "Pokedex_Number": 633, + "Img_name": 633, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "dragon", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 313, + "ATK": 116, + "DEF": 93, + "STA": 104, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 927, + "CP39": 914 + }, + { + "Row": 649, + "Name": "Zweilous", + "Pokedex_Number": 634, + "Img_name": 634, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "dragon", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 438, + "ATK": 159, + "DEF": 135, + "STA": 144, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1678, + "CP39": 1654 + }, + { + "Row": 650, + "Name": "Hydreigon", + "Pokedex_Number": 635, + "Img_name": 635, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "dragon", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 628, + "ATK": 256, + "DEF": 188, + "STA": 184, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3401, + "CP39": 3353 + }, + { + "Row": 651, + "Name": "Larvesta", + "Pokedex_Number": 636, + "Img_name": 636, + "Generation": 5, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "fire", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 373, + "ATK": 156, + "DEF": 107, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1318, + "CP39": 1300 + }, + { + "Row": 652, + "Name": "Volcarona", + "Pokedex_Number": 637, + "Img_name": 637, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "fire", + "Weather1": "Rainy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 644, + "ATK": 264, + "DEF": 210, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3555, + "CP39": 3504 + }, + { + "Row": 653, + "Name": "Cobalion", + "Pokedex_Number": 638, + "Img_name": 638, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "fighting", + "Weather1": "Snow", + "Weather2": "Cloudy", + "STAT_TOTAL": 634, + "ATK": 192, + "DEF": 260, + "STA": 182, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3009, + "CP39": 2966 + }, + { + "Row": 654, + "Name": "Terrakion", + "Pokedex_Number": 639, + "Img_name": 639, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "fighting", + "Weather1": "Partly cloudy", + "Weather2": "Cloudy", + "STAT_TOTAL": 634, + "ATK": 260, + "DEF": 192, + "STA": 182, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3468, + "CP39": 3418 + }, + { + "Row": 655, + "Name": "Virizion", + "Pokedex_Number": 640, + "Img_name": 640, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "fighting", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 634, + "ATK": 192, + "DEF": 260, + "STA": 182, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3009, + "CP39": 2966 + }, + { + "Row": 656, + "Name": "Tornadus (Therian Forme)", + "Pokedex_Number": 641, + "Img_name": 641, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 593, + "ATK": 266, + "DEF": 169, + "STA": 158, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3131, + "CP39": 3086 + }, + { + "Row": 657, + "Name": "Tornadus (Incarnate Forme)", + "Pokedex_Number": 641, + "Img_name": 641, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "flying", + "Weather1": "Windy", + "STAT_TOTAL": 593, + "ATK": 266, + "DEF": 169, + "STA": 158, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3131, + "CP39": 3086 + }, + { + "Row": 658, + "Name": "Thundurus (Incarnate Forme)", + "Pokedex_Number": 642, + "Img_name": 642, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 593, + "ATK": 266, + "DEF": 169, + "STA": 158, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3131, + "CP39": 3086 + }, + { + "Row": 659, + "Name": "Thundurus (Therian Forme)", + "Pokedex_Number": 642, + "Img_name": 642, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 593, + "ATK": 266, + "DEF": 169, + "STA": 158, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3131, + "CP39": 3086 + }, + { + "Row": 660, + "Name": "Reshiram", + "Pokedex_Number": 643, + "Img_name": 643, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "fire", + "Weather1": "Windy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 744, + "ATK": 302, + "DEF": 242, + "STA": 200, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4654, + "CP39": 4587 + }, + { + "Row": 661, + "Name": "Zekrom", + "Pokedex_Number": 644, + "Img_name": 644, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "electric", + "Weather1": "Windy", + "Weather2": "Rainy", + "STAT_TOTAL": 744, + "ATK": 302, + "DEF": 242, + "STA": 200, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4654, + "CP39": 4587 + }, + { + "Row": 662, + "Name": "Landorus (Incarnate Forme)", + "Pokedex_Number": 645, + "Img_name": 645, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 626, + "ATK": 261, + "DEF": 187, + "STA": 178, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3403, + "CP39": 3355 + }, + { + "Row": 663, + "Name": "Landorus (Therian Forme)", + "Pokedex_Number": 645, + "Img_name": 645, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 626, + "ATK": 261, + "DEF": 187, + "STA": 178, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3403, + "CP39": 3355 + }, + { + "Row": 664, + "Name": "Kyurem (Black Kyurem)", + "Pokedex_Number": 646, + "Img_name": 646, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "ice", + "Weather1": "Windy", + "Weather2": "Snow", + "STAT_TOTAL": 707, + "ATK": 270, + "DEF": 187, + "STA": 250, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4118, + "CP39": 4059 + }, + { + "Row": 665, + "Name": "Kyurem (Normal Kyurem)", + "Pokedex_Number": 646, + "Img_name": 646, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "ice", + "Weather1": "Windy", + "Weather2": "Snow", + "STAT_TOTAL": 707, + "ATK": 270, + "DEF": 187, + "STA": 250, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4118, + "CP39": 4059 + }, + { + "Row": 666, + "Name": "Kyurem (White Kyurem)", + "Pokedex_Number": 646, + "Img_name": 646, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "ice", + "Weather1": "Windy", + "Weather2": "Snow", + "STAT_TOTAL": 707, + "ATK": 270, + "DEF": 187, + "STA": 250, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4118, + "CP39": 4059 + }, + { + "Row": 667, + "Name": "Keldeo", + "Pokedex_Number": 647, + "Img_name": 647, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "fighting", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 634, + "ATK": 260, + "DEF": 192, + "STA": 182, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3468, + "CP39": 3418 + }, + { + "Row": 668, + "Name": "Meloetta (Pirouette Forme)", + "Pokedex_Number": 648, + "Img_name": 648, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "psychic", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 700, + "ATK": 250, + "DEF": 250, + "STA": 200, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3950, + "CP39": 3894 + }, + { + "Row": 669, + "Name": "Meloetta (Aria Forme)", + "Pokedex_Number": 648, + "Img_name": 648, + "Generation": 5, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "psychic", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 700, + "ATK": 250, + "DEF": 250, + "STA": 200, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3950, + "CP39": 3894 + }, + { + "Row": 670, + "Name": "Genesect", + "Pokedex_Number": 649, + "Img_name": 649, + "Generation": 5, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "steel", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 593, + "ATK": 252, + "DEF": 199, + "STA": 142, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3056, + "CP39": 3013 + }, + { + "Row": 671, + "Name": "Chespin", + "Pokedex_Number": 650, + "Img_name": 650, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 338, + "ATK": 110, + "DEF": 116, + "STA": 112, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1007, + "CP39": 992 + }, + { + "Row": 672, + "Name": "Quilladin", + "Pokedex_Number": 651, + "Img_name": 651, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 442, + "ATK": 146, + "DEF": 174, + "STA": 122, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1618, + "CP39": 1594 + }, + { + "Row": 673, + "Name": "Chesnaught", + "Pokedex_Number": 652, + "Img_name": 652, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "fighting", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 604, + "ATK": 201, + "DEF": 227, + "STA": 176, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2900, + "CP39": 2859 + }, + { + "Row": 674, + "Name": "Fennekin", + "Pokedex_Number": 653, + "Img_name": 653, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 308, + "ATK": 116, + "DEF": 112, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 898, + "CP39": 885 + }, + { + "Row": 675, + "Name": "Braixen", + "Pokedex_Number": 654, + "Img_name": 654, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 425, + "ATK": 171, + "DEF": 136, + "STA": 118, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1646, + "CP39": 1622 + }, + { + "Row": 676, + "Name": "Delphox", + "Pokedex_Number": 655, + "Img_name": 655, + "Generation": 6, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "psychic", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 584, + "ATK": 230, + "DEF": 204, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2908, + "CP39": 2867 + }, + { + "Row": 677, + "Name": "Froakie", + "Pokedex_Number": 656, + "Img_name": 656, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 290, + "ATK": 122, + "DEF": 86, + "STA": 82, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 846, + "CP39": 834 + }, + { + "Row": 678, + "Name": "Frogadier", + "Pokedex_Number": 657, + "Img_name": 657, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 392, + "ATK": 168, + "DEF": 116, + "STA": 108, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1450, + "CP39": 1430 + }, + { + "Row": 679, + "Name": "Greninja", + "Pokedex_Number": 658, + "Img_name": 658, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "dark", + "Weather1": "Rainy", + "Weather2": "Fog", + "STAT_TOTAL": 521, + "ATK": 223, + "DEF": 154, + "STA": 144, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2436, + "CP39": 2401 + }, + { + "Row": 680, + "Name": "Bunnelby", + "Pokedex_Number": 659, + "Img_name": 659, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 217, + "ATK": 68, + "DEF": 73, + "STA": 76, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 463, + "CP39": 457 + }, + { + "Row": 681, + "Name": "Diggersby", + "Pokedex_Number": 660, + "Img_name": 660, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "ground", + "Weather1": "Partly cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 437, + "ATK": 112, + "DEF": 155, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1406, + "CP39": 1386 + }, + { + "Row": 682, + "Name": "Fletchling", + "Pokedex_Number": 661, + "Img_name": 661, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 268, + "ATK": 95, + "DEF": 83, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 696, + "CP39": 686 + }, + { + "Row": 683, + "Name": "Fletchinder", + "Pokedex_Number": 662, + "Img_name": 662, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 380, + "ATK": 145, + "DEF": 111, + "STA": 124, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1322, + "CP39": 1303 + }, + { + "Row": 684, + "Name": "Talonflame", + "Pokedex_Number": 663, + "Img_name": 663, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 488, + "ATK": 176, + "DEF": 156, + "STA": 156, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2039, + "CP39": 2010 + }, + { + "Row": 685, + "Name": "Scatterbug", + "Pokedex_Number": 664, + "Img_name": 664, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 209, + "ATK": 63, + "DEF": 70, + "STA": 76, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 428, + "CP39": 422 + }, + { + "Row": 686, + "Name": "Spewpa", + "Pokedex_Number": 665, + "Img_name": 665, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 241, + "ATK": 48, + "DEF": 103, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 437, + "CP39": 431 + }, + { + "Row": 687, + "Name": "Vivillon", + "Pokedex_Number": 666, + "Img_name": 666, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "flying", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 439, + "ATK": 176, + "DEF": 103, + "STA": 160, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1714, + "CP39": 1689 + }, + { + "Row": 688, + "Name": "Litleo", + "Pokedex_Number": 667, + "Img_name": 667, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "normal", + "Weather1": "Sunny/clear", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 377, + "ATK": 139, + "DEF": 114, + "STA": 124, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1287, + "CP39": 1269 + }, + { + "Row": 689, + "Name": "Pyroar", + "Pokedex_Number": 668, + "Img_name": 668, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "normal", + "Weather1": "Sunny/clear", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 545, + "ATK": 221, + "DEF": 152, + "STA": 172, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2604, + "CP39": 2567 + }, + { + "Row": 690, + "Name": "Flabã©Bã©", + "Pokedex_Number": 669, + "Img_name": 669, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 334, + "ATK": 108, + "DEF": 138, + "STA": 88, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 964, + "CP39": 950 + }, + { + "Row": 691, + "Name": "Floette", + "Pokedex_Number": 670, + "Img_name": 670, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 419, + "ATK": 136, + "DEF": 175, + "STA": 108, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1441, + "CP39": 1421 + }, + { + "Row": 692, + "Name": "Florges", + "Pokedex_Number": 671, + "Img_name": 671, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 655, + "ATK": 212, + "DEF": 287, + "STA": 156, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3221, + "CP39": 3175 + }, + { + "Row": 693, + "Name": "Skiddo", + "Pokedex_Number": 672, + "Img_name": 672, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 362, + "ATK": 123, + "DEF": 107, + "STA": 132, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1154, + "CP39": 1137 + }, + { + "Row": 694, + "Name": "Gogoat", + "Pokedex_Number": 673, + "Img_name": 673, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 597, + "ATK": 196, + "DEF": 155, + "STA": 246, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2775, + "CP39": 2736 + }, + { + "Row": 695, + "Name": "Pancham", + "Pokedex_Number": 674, + "Img_name": 674, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 392, + "ATK": 145, + "DEF": 113, + "STA": 134, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1380, + "CP39": 1360 + }, + { + "Row": 696, + "Name": "Pangoro", + "Pokedex_Number": 675, + "Img_name": 675, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Type2": "dark", + "Weather1": "Cloudy", + "Weather2": "Fog", + "STAT_TOTAL": 565, + "ATK": 226, + "DEF": 149, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2759, + "CP39": 2720 + }, + { + "Row": 697, + "Name": "Furfrou", + "Pokedex_Number": 676, + "Img_name": 676, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 496, + "ATK": 164, + "DEF": 182, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2015, + "CP39": 1986 + }, + { + "Row": 698, + "Name": "Espurr", + "Pokedex_Number": 677, + "Img_name": 677, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 361, + "ATK": 120, + "DEF": 117, + "STA": 124, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1142, + "CP39": 1125 + }, + { + "Row": 699, + "Name": "Meowstic", + "Pokedex_Number": 678, + "Img_name": 678, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 484, + "ATK": 166, + "DEF": 170, + "STA": 148, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1963, + "CP39": 1935 + }, + { + "Row": 700, + "Name": "Honedge", + "Pokedex_Number": 679, + "Img_name": 679, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "ghost", + "Weather1": "Snow", + "Weather2": "Fog", + "STAT_TOTAL": 392, + "ATK": 135, + "DEF": 167, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1295, + "CP39": 1276 + }, + { + "Row": 701, + "Name": "Doublade", + "Pokedex_Number": 680, + "Img_name": 680, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "ghost", + "Weather1": "Snow", + "Weather2": "Fog", + "STAT_TOTAL": 559, + "ATK": 188, + "DEF": 253, + "STA": 118, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2393, + "CP39": 2359 + }, + { + "Row": 702, + "Name": "Aegislash", + "Pokedex_Number": 681, + "Img_name": 681, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "ghost", + "Weather1": "Snow", + "Weather2": "Fog", + "STAT_TOTAL": 508, + "ATK": 97, + "DEF": 291, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1421, + "CP39": 1401 + }, + { + "Row": 703, + "Name": "Spritzee", + "Pokedex_Number": 682, + "Img_name": 682, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 382, + "ATK": 110, + "DEF": 116, + "STA": 156, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1168, + "CP39": 1151 + }, + { + "Row": 704, + "Name": "Aromatisse", + "Pokedex_Number": 683, + "Img_name": 683, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 533, + "ATK": 173, + "DEF": 158, + "STA": 202, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2275, + "CP39": 2242 + }, + { + "Row": 705, + "Name": "Swirlix", + "Pokedex_Number": 684, + "Img_name": 684, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 356, + "ATK": 109, + "DEF": 123, + "STA": 124, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1072, + "CP39": 1057 + }, + { + "Row": 706, + "Name": "Slurpuff", + "Pokedex_Number": 685, + "Img_name": 685, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 500, + "ATK": 168, + "DEF": 168, + "STA": 164, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2068, + "CP39": 2039 + }, + { + "Row": 707, + "Name": "Inkay", + "Pokedex_Number": 686, + "Img_name": 686, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "psychic", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 302, + "ATK": 98, + "DEF": 98, + "STA": 106, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 825, + "CP39": 813 + }, + { + "Row": 708, + "Name": "Malamar", + "Pokedex_Number": 687, + "Img_name": 687, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "psychic", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 521, + "ATK": 177, + "DEF": 172, + "STA": 172, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2242, + "CP39": 2210 + }, + { + "Row": 709, + "Name": "Binacle", + "Pokedex_Number": 688, + "Img_name": 688, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "water", + "Weather1": "Partly cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 304, + "ATK": 96, + "DEF": 124, + "STA": 84, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 813, + "CP39": 801 + }, + { + "Row": 710, + "Name": "Barbaracle", + "Pokedex_Number": 689, + "Img_name": 689, + "Generation": 6, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "water", + "Weather1": "Partly cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 558, + "ATK": 194, + "DEF": 220, + "STA": 144, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2523, + "CP39": 2487 + }, + { + "Row": 711, + "Name": "Skrelp", + "Pokedex_Number": 690, + "Img_name": 690, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "water", + "Weather1": "Cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 318, + "ATK": 109, + "DEF": 109, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 924, + "CP39": 911 + }, + { + "Row": 712, + "Name": "Dragalge", + "Pokedex_Number": 691, + "Img_name": 691, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "dragon", + "Weather1": "Cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 530, + "ATK": 177, + "DEF": 223, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2227, + "CP39": 2195 + }, + { + "Row": 713, + "Name": "Clauncher", + "Pokedex_Number": 692, + "Img_name": 692, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 326, + "ATK": 108, + "DEF": 118, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 950, + "CP39": 936 + }, + { + "Row": 714, + "Name": "Clawitzer", + "Pokedex_Number": 693, + "Img_name": 693, + "Generation": 6, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 535, + "ATK": 221, + "DEF": 172, + "STA": 142, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2525, + "CP39": 2489 + }, + { + "Row": 715, + "Name": "Helioptile", + "Pokedex_Number": 694, + "Img_name": 694, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "normal", + "Weather1": "Rainy", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 286, + "ATK": 115, + "DEF": 83, + "STA": 88, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 815, + "CP39": 804 + }, + { + "Row": 716, + "Name": "Heliolisk", + "Pokedex_Number": 695, + "Img_name": 695, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "normal", + "Weather1": "Rainy", + "Weather2": "Partly cloudy", + "STAT_TOTAL": 533, + "ATK": 219, + "DEF": 190, + "STA": 124, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2467, + "CP39": 2431 + }, + { + "Row": 717, + "Name": "Tyrunt", + "Pokedex_Number": 696, + "Img_name": 696, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "dragon", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 412, + "ATK": 158, + "DEF": 138, + "STA": 116, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1529, + "CP39": 1507 + }, + { + "Row": 718, + "Name": "Tyrantrum", + "Pokedex_Number": 697, + "Img_name": 697, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "dragon", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 612, + "ATK": 227, + "DEF": 221, + "STA": 164, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3106, + "CP39": 3062 + }, + { + "Row": 719, + "Name": "Amaura", + "Pokedex_Number": 698, + "Img_name": 698, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "ice", + "Weather1": "Partly cloudy", + "Weather2": "Snow", + "STAT_TOTAL": 394, + "ATK": 124, + "DEF": 116, + "STA": 154, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1291, + "CP39": 1273 + }, + { + "Row": 720, + "Name": "Aurorus", + "Pokedex_Number": 699, + "Img_name": 699, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "ice", + "Weather1": "Partly cloudy", + "Weather2": "Snow", + "STAT_TOTAL": 605, + "ATK": 186, + "DEF": 173, + "STA": 246, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2780, + "CP39": 2741 + }, + { + "Row": 721, + "Name": "Sylveon", + "Pokedex_Number": 700, + "Img_name": 700, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 1, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 630, + "ATK": 203, + "DEF": 237, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3094, + "CP39": 3050 + }, + { + "Row": 722, + "Name": "Hawlucha", + "Pokedex_Number": 701, + "Img_name": 701, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Type2": "flying", + "Weather1": "Cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 511, + "ATK": 195, + "DEF": 160, + "STA": 156, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2268, + "CP39": 2236 + }, + { + "Row": 723, + "Name": "Dedenne", + "Pokedex_Number": 702, + "Img_name": 702, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "fairy", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 437, + "ATK": 164, + "DEF": 139, + "STA": 134, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1693, + "CP39": 1669 + }, + { + "Row": 724, + "Name": "Carbink", + "Pokedex_Number": 703, + "Img_name": 703, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "fairy", + "Weather1": "Partly cloudy", + "Weather2": "Cloudy", + "STAT_TOTAL": 480, + "ATK": 95, + "DEF": 285, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1276, + "CP39": 1257 + }, + { + "Row": 725, + "Name": "Goomy", + "Pokedex_Number": 704, + "Img_name": 704, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 321, + "ATK": 101, + "DEF": 130, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 893, + "CP39": 881 + }, + { + "Row": 726, + "Name": "Sliggoo", + "Pokedex_Number": 705, + "Img_name": 705, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 500, + "ATK": 159, + "DEF": 205, + "STA": 136, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1980, + "CP39": 1952 + }, + { + "Row": 727, + "Name": "Goodra", + "Pokedex_Number": 706, + "Img_name": 706, + "Generation": 6, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 683, + "ATK": 220, + "DEF": 283, + "STA": 180, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3538, + "CP39": 3487 + }, + { + "Row": 728, + "Name": "Klefki", + "Pokedex_Number": 707, + "Img_name": 707, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "fairy", + "Weather1": "Snow", + "Weather2": "Cloudy", + "STAT_TOTAL": 455, + "ATK": 160, + "DEF": 181, + "STA": 114, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1737, + "CP39": 1713 + }, + { + "Row": 729, + "Name": "Phantump", + "Pokedex_Number": 708, + "Img_name": 708, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "grass", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 319, + "ATK": 125, + "DEF": 108, + "STA": 86, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 974, + "CP39": 960 + }, + { + "Row": 730, + "Name": "Trevenant", + "Pokedex_Number": 709, + "Img_name": 709, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "grass", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 528, + "ATK": 201, + "DEF": 157, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2406, + "CP39": 2372 + }, + { + "Row": 731, + "Name": "Pumpkaboo", + "Pokedex_Number": 710, + "Img_name": 710, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "grass", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 348, + "ATK": 121, + "DEF": 129, + "STA": 98, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1083, + "CP39": 1068 + }, + { + "Row": 732, + "Name": "Gourgeist", + "Pokedex_Number": 711, + "Img_name": 711, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "grass", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 541, + "ATK": 175, + "DEF": 236, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2263, + "CP39": 2231 + }, + { + "Row": 733, + "Name": "Bergmite", + "Pokedex_Number": 712, + "Img_name": 712, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 370, + "ATK": 117, + "DEF": 143, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1158, + "CP39": 1142 + }, + { + "Row": 734, + "Name": "Avalugg", + "Pokedex_Number": 713, + "Img_name": 713, + "Generation": 6, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ice", + "Weather1": "Snow", + "STAT_TOTAL": 689, + "ATK": 196, + "DEF": 303, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3364, + "CP39": 3316 + }, + { + "Row": 735, + "Name": "Noibat", + "Pokedex_Number": 714, + "Img_name": 714, + "Generation": 6, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "flying", + "Type2": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 239, + "ATK": 83, + "DEF": 76, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 569, + "CP39": 560 + }, + { + "Row": 736, + "Name": "Noivern", + "Pokedex_Number": 715, + "Img_name": 715, + "Generation": 6, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "flying", + "Type2": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 550, + "ATK": 205, + "DEF": 175, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2576, + "CP39": 2539 + }, + { + "Row": 737, + "Name": "Xerneas", + "Pokedex_Number": 716, + "Img_name": 716, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 731, + "ATK": 275, + "DEF": 204, + "STA": 252, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4379, + "CP39": 4317 + }, + { + "Row": 738, + "Name": "Yveltal", + "Pokedex_Number": 717, + "Img_name": 717, + "Generation": 6, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "flying", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 731, + "ATK": 275, + "DEF": 204, + "STA": 252, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4379, + "CP39": 4317 + }, + { + "Row": 739, + "Name": "Zygarde", + "Pokedex_Number": 718, + "Img_name": 718, + "Generation": 6, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "ground", + "Weather1": "Windy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 664, + "ATK": 203, + "DEF": 245, + "STA": 216, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3336, + "CP39": 3289 + }, + { + "Row": 740, + "Name": "Diancie", + "Pokedex_Number": 719, + "Img_name": 719, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "fairy", + "Weather1": "Partly cloudy", + "Weather2": "Cloudy", + "STAT_TOTAL": 575, + "ATK": 190, + "DEF": 285, + "STA": 100, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2378, + "CP39": 2344 + }, + { + "Row": 741, + "Name": "Hoopa", + "Pokedex_Number": 720, + "Img_name": 720, + "Generation": 6, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "ghost", + "Weather1": "Windy", + "Weather2": "Fog", + "STAT_TOTAL": 688, + "ATK": 287, + "DEF": 241, + "STA": 160, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3992, + "CP39": 3935 + }, + { + "Row": 742, + "Name": "Volcanion", + "Pokedex_Number": 721, + "Img_name": 721, + "Generation": 6, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "water", + "Weather1": "Sunny/clear", + "Weather2": "Rainy", + "STAT_TOTAL": 643, + "ATK": 252, + "DEF": 231, + "STA": 160, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3460, + "CP39": 3410 + }, + { + "Row": 743, + "Name": "Rowlet", + "Pokedex_Number": 722, + "Img_name": 722, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 340, + "ATK": 102, + "DEF": 102, + "STA": 136, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 971, + "CP39": 957 + }, + { + "Row": 744, + "Name": "Dartrix", + "Pokedex_Number": 723, + "Img_name": 723, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 440, + "ATK": 142, + "DEF": 142, + "STA": 156, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1606, + "CP39": 1583 + }, + { + "Row": 745, + "Name": "Decidueye", + "Pokedex_Number": 724, + "Img_name": 724, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "ghost", + "Weather1": "Sunny/clear", + "Weather2": "Fog", + "STAT_TOTAL": 558, + "ATK": 210, + "DEF": 192, + "STA": 156, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2643, + "CP39": 2606 + }, + { + "Row": 746, + "Name": "Litten", + "Pokedex_Number": 725, + "Img_name": 725, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 297, + "ATK": 128, + "DEF": 79, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 887, + "CP39": 874 + }, + { + "Row": 747, + "Name": "Torracat", + "Pokedex_Number": 726, + "Img_name": 726, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 407, + "ATK": 174, + "DEF": 103, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1544, + "CP39": 1522 + }, + { + "Row": 748, + "Name": "Incineroar", + "Pokedex_Number": 727, + "Img_name": 727, + "Generation": 7, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "dark", + "Weather1": "Sunny/clear", + "Weather2": "Fog", + "STAT_TOTAL": 579, + "ATK": 214, + "DEF": 175, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2822, + "CP39": 2782 + }, + { + "Row": 749, + "Name": "Popplio", + "Pokedex_Number": 728, + "Img_name": 728, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 324, + "ATK": 120, + "DEF": 104, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 986, + "CP39": 972 + }, + { + "Row": 750, + "Name": "Brionne", + "Pokedex_Number": 729, + "Img_name": 729, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 439, + "ATK": 168, + "DEF": 151, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1711, + "CP39": 1686 + }, + { + "Row": 751, + "Name": "Primarina", + "Pokedex_Number": 730, + "Img_name": 730, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "fairy", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 607, + "ATK": 232, + "DEF": 215, + "STA": 160, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3095, + "CP39": 3050 + }, + { + "Row": 752, + "Name": "Pikipek", + "Pokedex_Number": 731, + "Img_name": 731, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 265, + "ATK": 136, + "DEF": 59, + "STA": 70, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 747, + "CP39": 737 + }, + { + "Row": 753, + "Name": "Trumbeak", + "Pokedex_Number": 732, + "Img_name": 732, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 369, + "ATK": 159, + "DEF": 100, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1302, + "CP39": 1284 + }, + { + "Row": 754, + "Name": "Toucannon", + "Pokedex_Number": 733, + "Img_name": 733, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 528, + "ATK": 222, + "DEF": 146, + "STA": 160, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2484, + "CP39": 2449 + }, + { + "Row": 755, + "Name": "Yungoos", + "Pokedex_Number": 734, + "Img_name": 734, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 274, + "ATK": 122, + "DEF": 56, + "STA": 96, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 759, + "CP39": 748 + }, + { + "Row": 756, + "Name": "Gumshoos", + "Pokedex_Number": 735, + "Img_name": 735, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 483, + "ATK": 194, + "DEF": 113, + "STA": 176, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2041, + "CP39": 2011 + }, + { + "Row": 757, + "Name": "Grubbin", + "Pokedex_Number": 736, + "Img_name": 736, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 294, + "ATK": 115, + "DEF": 85, + "STA": 94, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 847, + "CP39": 835 + }, + { + "Row": 758, + "Name": "Charjabug", + "Pokedex_Number": 737, + "Img_name": 737, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 430, + "ATK": 145, + "DEF": 171, + "STA": 114, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1547, + "CP39": 1525 + }, + { + "Row": 759, + "Name": "Vikavolt", + "Pokedex_Number": 738, + "Img_name": 738, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 573, + "ATK": 254, + "DEF": 165, + "STA": 154, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2930, + "CP39": 2888 + }, + { + "Row": 760, + "Name": "Crabrawler", + "Pokedex_Number": 739, + "Img_name": 739, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 353, + "ATK": 150, + "DEF": 109, + "STA": 94, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1198, + "CP39": 1180 + }, + { + "Row": 761, + "Name": "Crabominable", + "Pokedex_Number": 740, + "Img_name": 740, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Type2": "ice", + "Weather1": "Cloudy", + "Weather2": "Snow", + "STAT_TOTAL": 567, + "ATK": 231, + "DEF": 142, + "STA": 194, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2783, + "CP39": 2743 + }, + { + "Row": 762, + "Name": "Oricorio", + "Pokedex_Number": 741, + "Img_name": 741, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "flying", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 491, + "ATK": 196, + "DEF": 145, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2141, + "CP39": 2110 + }, + { + "Row": 763, + "Name": "Cutiefly", + "Pokedex_Number": 742, + "Img_name": 742, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "fairy", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 271, + "ATK": 110, + "DEF": 81, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 745, + "CP39": 734 + }, + { + "Row": 764, + "Name": "Ribombee", + "Pokedex_Number": 743, + "Img_name": 743, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "fairy", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 470, + "ATK": 198, + "DEF": 152, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1997, + "CP39": 1968 + }, + { + "Row": 765, + "Name": "Rockruff", + "Pokedex_Number": 744, + "Img_name": 744, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 285, + "ATK": 117, + "DEF": 78, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 814, + "CP39": 803 + }, + { + "Row": 766, + "Name": "Lycanroc", + "Pokedex_Number": 745, + "Img_name": 745, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 521, + "ATK": 231, + "DEF": 140, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2457, + "CP39": 2422 + }, + { + "Row": 767, + "Name": "Wishiwashi", + "Pokedex_Number": 746, + "Img_name": 746, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 182, + "ATK": 46, + "DEF": 46, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 304, + "CP39": 300 + }, + { + "Row": 768, + "Name": "Mareanie", + "Pokedex_Number": 747, + "Img_name": 747, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "water", + "Weather1": "Cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 313, + "ATK": 98, + "DEF": 115, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 862, + "CP39": 850 + }, + { + "Row": 769, + "Name": "Toxapex", + "Pokedex_Number": 748, + "Img_name": 748, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "water", + "Weather1": "Cloudy", + "Weather2": "Rainy", + "STAT_TOTAL": 492, + "ATK": 114, + "DEF": 278, + "STA": 100, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1478, + "CP39": 1457 + }, + { + "Row": 770, + "Name": "Mudbray", + "Pokedex_Number": 749, + "Img_name": 749, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 443, + "ATK": 175, + "DEF": 128, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1766, + "CP39": 1741 + }, + { + "Row": 771, + "Name": "Mudsdale", + "Pokedex_Number": 750, + "Img_name": 750, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ground", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 594, + "ATK": 214, + "DEF": 180, + "STA": 200, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2928, + "CP39": 2886 + }, + { + "Row": 772, + "Name": "Dewpider", + "Pokedex_Number": 751, + "Img_name": 751, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 274, + "ATK": 72, + "DEF": 126, + "STA": 76, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 615, + "CP39": 606 + }, + { + "Row": 773, + "Name": "Araquanid", + "Pokedex_Number": 752, + "Img_name": 752, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "bug", + "Weather1": "Rainy", + "STAT_TOTAL": 499, + "ATK": 126, + "DEF": 237, + "STA": 136, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1717, + "CP39": 1693 + }, + { + "Row": 774, + "Name": "Fomantis", + "Pokedex_Number": 753, + "Img_name": 753, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 244, + "ATK": 100, + "DEF": 64, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 622, + "CP39": 613 + }, + { + "Row": 775, + "Name": "Lurantis", + "Pokedex_Number": 754, + "Img_name": 754, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 501, + "ATK": 192, + "DEF": 169, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2183, + "CP39": 2152 + }, + { + "Row": 776, + "Name": "Morelull", + "Pokedex_Number": 755, + "Img_name": 755, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "fairy", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 316, + "ATK": 108, + "DEF": 128, + "STA": 80, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 895, + "CP39": 882 + }, + { + "Row": 777, + "Name": "Shiinotic", + "Pokedex_Number": 756, + "Img_name": 756, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "fairy", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 451, + "ATK": 154, + "DEF": 177, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1699, + "CP39": 1675 + }, + { + "Row": 778, + "Name": "Salandit", + "Pokedex_Number": 757, + "Img_name": 757, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "fire", + "Weather1": "Cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 312, + "ATK": 136, + "DEF": 80, + "STA": 96, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 968, + "CP39": 954 + }, + { + "Row": 779, + "Name": "Salazzle", + "Pokedex_Number": 758, + "Img_name": 758, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "poison", + "Type2": "fire", + "Weather1": "Cloudy", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 494, + "ATK": 228, + "DEF": 130, + "STA": 136, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2245, + "CP39": 2213 + }, + { + "Row": 780, + "Name": "Stufful", + "Pokedex_Number": 759, + "Img_name": 759, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "fighting", + "Weather1": "Partly cloudy", + "Weather2": "Cloudy", + "STAT_TOTAL": 371, + "ATK": 136, + "DEF": 95, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1231, + "CP39": 1213 + }, + { + "Row": 781, + "Name": "Bewear", + "Pokedex_Number": 760, + "Img_name": 760, + "Generation": 7, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "fighting", + "Weather1": "Partly cloudy", + "Weather2": "Cloudy", + "STAT_TOTAL": 616, + "ATK": 226, + "DEF": 150, + "STA": 240, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3087, + "CP39": 3043 + }, + { + "Row": 782, + "Name": "Bounsweet", + "Pokedex_Number": 761, + "Img_name": 761, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 208, + "ATK": 55, + "DEF": 69, + "STA": 84, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 398, + "CP39": 393 + }, + { + "Row": 783, + "Name": "Steenee", + "Pokedex_Number": 762, + "Img_name": 762, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 276, + "ATK": 78, + "DEF": 94, + "STA": 104, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 661, + "CP39": 652 + }, + { + "Row": 784, + "Name": "Tsareena", + "Pokedex_Number": 763, + "Img_name": 763, + "Generation": 7, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Weather1": "Sunny/clear", + "STAT_TOTAL": 561, + "ATK": 222, + "DEF": 195, + "STA": 144, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2704, + "CP39": 2666 + }, + { + "Row": 785, + "Name": "Comfey", + "Pokedex_Number": 764, + "Img_name": 764, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fairy", + "Weather1": "Cloudy", + "STAT_TOTAL": 493, + "ATK": 165, + "DEF": 226, + "STA": 102, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1887, + "CP39": 1860 + }, + { + "Row": 786, + "Name": "Oranguru", + "Pokedex_Number": 765, + "Img_name": 765, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "psychic", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 555, + "ATK": 168, + "DEF": 207, + "STA": 180, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2378, + "CP39": 2344 + }, + { + "Row": 787, + "Name": "Passimian", + "Pokedex_Number": 766, + "Img_name": 766, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fighting", + "Weather1": "Cloudy", + "STAT_TOTAL": 597, + "ATK": 222, + "DEF": 175, + "STA": 200, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2991, + "CP39": 2949 + }, + { + "Row": 788, + "Name": "Wimpod", + "Pokedex_Number": 767, + "Img_name": 767, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 196, + "ATK": 67, + "DEF": 79, + "STA": 50, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 400, + "CP39": 394 + }, + { + "Row": 789, + "Name": "Golisopod", + "Pokedex_Number": 768, + "Img_name": 768, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 617, + "ATK": 218, + "DEF": 249, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3037, + "CP39": 2993 + }, + { + "Row": 790, + "Name": "Sandygast", + "Pokedex_Number": 769, + "Img_name": 769, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "ground", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 363, + "ATK": 120, + "DEF": 133, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1146, + "CP39": 1130 + }, + { + "Row": 791, + "Name": "Palossand", + "Pokedex_Number": 770, + "Img_name": 770, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "ground", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 542, + "ATK": 178, + "DEF": 194, + "STA": 170, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2370, + "CP39": 2336 + }, + { + "Row": 792, + "Name": "Pyukumuku", + "Pokedex_Number": 771, + "Img_name": 771, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Weather1": "Rainy", + "STAT_TOTAL": 431, + "ATK": 97, + "DEF": 224, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1209, + "CP39": 1191 + }, + { + "Row": 793, + "Name": "Type: Null", + "Pokedex_Number": 772, + "Img_name": 772, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 558, + "ATK": 184, + "DEF": 184, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2510, + "CP39": 2474 + }, + { + "Row": 794, + "Name": "Silvally", + "Pokedex_Number": 773, + "Img_name": 773, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 586, + "ATK": 198, + "DEF": 198, + "STA": 190, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2779, + "CP39": 2740 + }, + { + "Row": 795, + "Name": "Minior", + "Pokedex_Number": 774, + "Img_name": 774, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "flying", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 430, + "ATK": 116, + "DEF": 194, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1374, + "CP39": 1354 + }, + { + "Row": 796, + "Name": "Komala", + "Pokedex_Number": 775, + "Img_name": 775, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Weather1": "Partly cloudy", + "STAT_TOTAL": 525, + "ATK": 216, + "DEF": 179, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2419, + "CP39": 2385 + }, + { + "Row": 797, + "Name": "Turtonator", + "Pokedex_Number": 776, + "Img_name": 776, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "fire", + "Type2": "dragon", + "Weather1": "Sunny/clear", + "Weather2": "Windy", + "STAT_TOTAL": 523, + "ATK": 165, + "DEF": 238, + "STA": 120, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2077, + "CP39": 2048 + }, + { + "Row": 798, + "Name": "Togedemaru", + "Pokedex_Number": 777, + "Img_name": 777, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "steel", + "Weather1": "Rainy", + "Weather2": "Snow", + "STAT_TOTAL": 470, + "ATK": 190, + "DEF": 150, + "STA": 130, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1980, + "CP39": 1952 + }, + { + "Row": 799, + "Name": "Mimikyu", + "Pokedex_Number": 778, + "Img_name": 778, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "fairy", + "Weather1": "Fog", + "Weather2": "Cloudy", + "STAT_TOTAL": 500, + "ATK": 177, + "DEF": 213, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2024, + "CP39": 1995 + }, + { + "Row": 800, + "Name": "Bruxish", + "Pokedex_Number": 779, + "Img_name": 779, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "psychic", + "Weather1": "Rainy", + "Weather2": "Windy", + "STAT_TOTAL": 489, + "ATK": 208, + "DEF": 145, + "STA": 136, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2164, + "CP39": 2133 + }, + { + "Row": 801, + "Name": "Drampa", + "Pokedex_Number": 780, + "Img_name": 780, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "normal", + "Type2": "dragon", + "Weather1": "Partly cloudy", + "Weather2": "Windy", + "STAT_TOTAL": 554, + "ATK": 231, + "DEF": 167, + "STA": 156, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2710, + "CP39": 2671 + }, + { + "Row": 802, + "Name": "Dhelmise", + "Pokedex_Number": 781, + "Img_name": 781, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "ghost", + "Type2": "grass", + "Weather1": "Fog", + "Weather2": "Sunny/clear", + "STAT_TOTAL": 557, + "ATK": 233, + "DEF": 184, + "STA": 140, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2720, + "CP39": 2681 + }, + { + "Row": 803, + "Name": "Jangmo-O", + "Pokedex_Number": 782, + "Img_name": 782, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Weather1": "Windy", + "STAT_TOTAL": 310, + "ATK": 102, + "DEF": 118, + "STA": 90, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 863, + "CP39": 851 + }, + { + "Row": 804, + "Name": "Hakamo-O", + "Pokedex_Number": 783, + "Img_name": 783, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "fighting", + "Weather1": "Windy", + "Weather2": "Cloudy", + "STAT_TOTAL": 427, + "ATK": 145, + "DEF": 172, + "STA": 110, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 1527, + "CP39": 1506 + }, + { + "Row": 805, + "Name": "Kommo-O", + "Pokedex_Number": 784, + "Img_name": 784, + "Generation": 7, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dragon", + "Type2": "fighting", + "Weather1": "Windy", + "Weather2": "Cloudy", + "STAT_TOTAL": 622, + "ATK": 222, + "DEF": 250, + "STA": 150, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3095, + "CP39": 3051 + }, + { + "Row": 806, + "Name": "Tapu Koko", + "Pokedex_Number": 785, + "Img_name": 785, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Type2": "fairy", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 576, + "ATK": 250, + "DEF": 186, + "STA": 140, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2921, + "CP39": 2879 + }, + { + "Row": 807, + "Name": "Tapu Lele", + "Pokedex_Number": 786, + "Img_name": 786, + "Generation": 7, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "fairy", + "Weather1": "Windy", + "Weather2": "Cloudy", + "STAT_TOTAL": 628, + "ATK": 259, + "DEF": 229, + "STA": 140, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3328, + "CP39": 3280 + }, + { + "Row": 808, + "Name": "Tapu Bulu", + "Pokedex_Number": 787, + "Img_name": 787, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "fairy", + "Weather1": "Sunny/clear", + "Weather2": "Cloudy", + "STAT_TOTAL": 614, + "ATK": 249, + "DEF": 225, + "STA": 140, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3180, + "CP39": 3134 + }, + { + "Row": 809, + "Name": "Tapu Fini", + "Pokedex_Number": 788, + "Img_name": 788, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "water", + "Type2": "fairy", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 590, + "ATK": 189, + "DEF": 261, + "STA": 140, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2635, + "CP39": 2597 + }, + { + "Row": 810, + "Name": "Cosmog", + "Pokedex_Number": 789, + "Img_name": 789, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 197, + "ATK": 54, + "DEF": 57, + "STA": 86, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 367, + "CP39": 362 + }, + { + "Row": 811, + "Name": "Cosmoem", + "Pokedex_Number": 790, + "Img_name": 790, + "Generation": 7, + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 382, + "ATK": 54, + "DEF": 242, + "STA": 86, + "Legendary": 0, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 694, + "CP39": 684 + }, + { + "Row": 812, + "Name": "Solgaleo", + "Pokedex_Number": 791, + "Img_name": 791, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "steel", + "Weather1": "Windy", + "Weather2": "Snow", + "STAT_TOTAL": 773, + "ATK": 280, + "DEF": 219, + "STA": 274, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4791, + "CP39": 4722 + }, + { + "Row": 813, + "Name": "Lunala", + "Pokedex_Number": 792, + "Img_name": 792, + "Generation": 7, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Type2": "ghost", + "Weather1": "Windy", + "Weather2": "Fog", + "STAT_TOTAL": 773, + "ATK": 280, + "DEF": 219, + "STA": 274, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4791, + "CP39": 4722 + }, + { + "Row": 814, + "Name": "Nihilego", + "Pokedex_Number": 793, + "Img_name": 793, + "Generation": 7, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "rock", + "Type2": "poison", + "Weather1": "Partly cloudy", + "Weather2": "Cloudy", + "STAT_TOTAL": 721, + "ATK": 249, + "DEF": 254, + "STA": 218, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4128, + "CP39": 4069 + }, + { + "Row": 815, + "Name": "Buzzwole", + "Pokedex_Number": 794, + "Img_name": 794, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "fighting", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 732, + "ATK": 259, + "DEF": 259, + "STA": 214, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4286, + "CP39": 4225 + }, + { + "Row": 816, + "Name": "Pheromosa", + "Pokedex_Number": 795, + "Img_name": 795, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "bug", + "Type2": "fighting", + "Weather1": "Rainy", + "Weather2": "Cloudy", + "STAT_TOTAL": 543, + "ATK": 316, + "DEF": 85, + "STA": 142, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2590, + "CP39": 2553 + }, + { + "Row": 817, + "Name": "Xurkitree", + "Pokedex_Number": 796, + "Img_name": 796, + "Generation": 7, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "electric", + "Weather1": "Rainy", + "STAT_TOTAL": 640, + "ATK": 330, + "DEF": 144, + "STA": 166, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3655, + "CP39": 3603 + }, + { + "Row": 818, + "Name": "Celesteela", + "Pokedex_Number": 797, + "Img_name": 797, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "flying", + "Weather1": "Snow", + "Weather2": "Windy", + "STAT_TOTAL": 601, + "ATK": 207, + "DEF": 200, + "STA": 194, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2939, + "CP39": 2897 + }, + { + "Row": 819, + "Name": "Kartana", + "Pokedex_Number": 798, + "Img_name": 798, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "grass", + "Type2": "steel", + "Weather1": "Sunny/clear", + "Weather2": "Snow", + "STAT_TOTAL": 726, + "ATK": 355, + "DEF": 253, + "STA": 118, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 4362, + "CP39": 4300 + }, + { + "Row": 820, + "Name": "Guzzlord", + "Pokedex_Number": 799, + "Img_name": 799, + "Generation": 7, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "dark", + "Type2": "dragon", + "Weather1": "Fog", + "Weather2": "Windy", + "STAT_TOTAL": 733, + "ATK": 188, + "DEF": 99, + "STA": 446, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 2906, + "CP39": 2865 + }, + { + "Row": 821, + "Name": "Necrozma", + "Pokedex_Number": 800, + "Img_name": 800, + "Generation": 7, + "Evolution_Stage": "Lower", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "psychic", + "Weather1": "Windy", + "STAT_TOTAL": 646, + "ATK": 251, + "DEF": 201, + "STA": 194, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3529, + "CP39": 3479 + }, + { + "Row": 822, + "Name": "Magearna", + "Pokedex_Number": 801, + "Img_name": 801, + "Generation": 7, + "Evolution_Stage": "Evolved", + "Evolved": 0, + "Cross_Gen": 0, + "Type1": "steel", + "Type2": "fairy", + "Weather1": "Snow", + "Weather2": "Cloudy", + "STAT_TOTAL": 631, + "ATK": 246, + "DEF": 225, + "STA": 160, + "Legendary": 1, + "Aquireable": 0, + "Spawns": 0, + "Regional": 0, + "Raidable": 0, + "Hatchable": 0, + "Shiny": 0, + "Nest": 0, + "New": 0, + "NotGettable": 0, + "Future_Evolve": 0, + "CP40": 3340, + "CP39": 3293 + } +] \ No newline at end of file diff --git a/semana21/revisao- redfoxChallenge/src/migrations/PokemonGo.xlsx b/semana21/revisao- redfoxChallenge/src/migrations/PokemonGo.xlsx deleted file mode 100644 index c991e83ed68856c9c516152313e06e966f4ae508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108523 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 diff --git a/semana21/revisao- redfoxChallenge/src/migrations/index.ts b/semana21/revisao- redfoxChallenge/src/migrations/index.ts index 20416c6..83b5713 100644 --- a/semana21/revisao- redfoxChallenge/src/migrations/index.ts +++ b/semana21/revisao- redfoxChallenge/src/migrations/index.ts @@ -1,102 +1,58 @@ -const knex = require('knex') -const dotenv = require('dotenv') -const path = require('path') -const XLSX = require('xlsx'); +import { connection } from "../data/connection"; +import { pokemons } from "./PokemonGo"; -dotenv.config() - -const connection = knex ({ - client:'mysql', - connection: { - host: process.env.DB_HOST, - user: process.env.DB_USER, - password: process.env.DB_PASSWORD, - database: process.env.DB_SCHEMA, - port: 3306, - multipleStatements: true - } -}) - -const filename = __dirname + path.sep + 'PokemonGo.xlsx' -const workbook = XLSX.readFile(filename); -const sheetName = (workbook.SheetNames)[0]; -let pokemons = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], {defval: ""}); - -pokemons = [pokemons[0], pokemons[1]]; - -const main = async() => { +const main = async () => { try { await connection.raw(` - CREATE TABLE IF NOT EXISTS pokemon_goDefinitive ( - ROW INT PRIMARY KEY NOT NULL, - Name VARCHAR(255) NOT NULL, - PokedexNumber INT, - ImgName VARCHAR(255), - Generation INT, - EvolutionStage VARCHAR(255), - Evolved INT NOT NULL, - FamilyID INT, - CrossGen INT NOT NULL, - Type1 VARCHAR(255) NOT NULL, - Type2 VARCHAR(255), - Weather1 VARCHAR(255) NOT NULL, - Weather2 VARCHAR(255), - STATTOTAL INT NOT NULL, - ATK INT NOT NULL, - DEF INT NOT NULL, - STA INT NOT NULL, - Legendary INT NOT NULL, - Aquireable INT NOT NULL, - Spawns INT NOT NULL, - Regional INT NOT NULL, - Raidable INT NOT NULL, - Hatchable INT NOT NULL, - Shiny INT NOT NULL, - Nest INT NOT NULL, - New INT NOT NULL, - NotGettable INT NOT NULL, - FutureEvolve INT NOT NULL, - ) - `) - console.log(`Tabela criada!`) + CREATE TABLE IF NOT EXISTS redfox_pokemonGo ( + id INT PRIMARY KEY AUTO_INCREMENT, + Row_Value VARCHAR(255), + Name VARCHAR(255), + Pokedex_Number VARCHAR(255), + Img_name VARCHAR(255), + Generation VARCHAR(255), + Evolution_Stage VARCHAR(255), + Evolved VARCHAR(255), + FamilyID VARCHAR(255), + Cross_Gen VARCHAR(255), + Type1 VARCHAR(255), + Type2 VARCHAR(255), + Weather1 VARCHAR(255), + Weather2 VARCHAR(255), + STAT_TOTAL VARCHAR(255), + ATK VARCHAR(255), + DEF VARCHAR(255), + STA VARCHAR(255), + Legendary VARCHAR(255), + Aquireable VARCHAR(255), + Spawns VARCHAR(255), + Regional VARCHAR(255), + Raidable VARCHAR(255), + Hatchable VARCHAR(255), + Shiny VARCHAR(255), + Nest VARCHAR(255), + New VARCHAR(255), + NotGettable VARCHAR(255), + Future_Evolve VARCHAR(255), + CP40 VARCHAR(255), + CP39 VARCHAR(255) + ); + `); + + console.log("Tabela criada!"); - for (const pokemon of pokemons) { - await connection('pokemon_goDefinitive') - .insert({ - ROW: pokemon.row, - Name: pokemon.name, - PokedexNumber: pokemon.pokedexNumber, - ImgName: pokemon.imageName, - Generation: pokemon.generation, - EvolutionStage: pokemon.evolutionStage, - Evolved: pokemon.evolved, - FamilyID: pokemon.familyId, - CrossGen: pokemon.crossGen, - Type1: pokemon.type1, - Type2: pokemon.type2, - Weather1: pokemon.weather1, - Weather2: pokemon.weather2, - STATTOTAL: pokemon.stattotal, - ATK: pokemon.atk, - DEF: pokemon.def, - STA: pokemon.sta, - Legendary: pokemon.legendary, - Aquireable: pokemon.aquireable, - Spawns: pokemon.spawns, - Regional:pokemon.regional, - Raidable: pokemon.raidable, - Hatchable: pokemon.hatchable, - Shiny: pokemon.shiny, - Nest: pokemon.nest, - New: pokemon.new, - NotGettable:pokemon.notGettable, - FutureEvolve: pokemon.futureEvolve, - }) - } + await connection("redfox_pokemonGo").insert( + pokemons.map((element: any) => { + element.Row_Value = element.Row; + delete element.Row; + return element; + }) + ); } catch (error) { - console.log(error) + console.log(error); } finally { - connection.destroy() + connection.destroy(); } -} +}; + main(); diff --git a/semana21/revisao- redfoxChallenge/yarn.lock b/semana21/revisao- redfoxChallenge/yarn.lock index 7ab9ef9..e580225 100644 --- a/semana21/revisao- redfoxChallenge/yarn.lock +++ b/semana21/revisao- redfoxChallenge/yarn.lock @@ -118,21 +118,6 @@ accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" -adler-32@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25" - integrity sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU= - dependencies: - exit-on-epipe "~1.0.1" - printj "~1.1.0" - -adler-32@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.3.0.tgz#3cad1b71cdfa69f6c8a91f3e3615d31a4fdedc72" - integrity sha512-f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g== - dependencies: - printj "~1.2.2" - anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" @@ -217,15 +202,6 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cfb@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/cfb/-/cfb-1.2.1.tgz#209429e4c68efd30641f6fc74b2d6028bd202402" - integrity sha512-wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ== - dependencies: - adler-32 "~1.3.0" - crc-32 "~1.2.0" - printj "~1.3.0" - chokidar@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" @@ -241,11 +217,6 @@ chokidar@^3.5.1: optionalDependencies: fsevents "~2.3.2" -codepage@~1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.15.0.tgz#2e00519024b39424ec66eeb3ec07227e692618ab" - integrity sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA== - colorette@2.0.16: version "2.0.16" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" @@ -256,11 +227,6 @@ commander@^7.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commander@~2.17.1: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -301,14 +267,6 @@ cors@^2.8.5: object-assign "^4" vary "^1" -crc-32@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" - integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== - dependencies: - exit-on-epipe "~1.0.1" - printj "~1.1.0" - create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -392,11 +350,6 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -exit-on-epipe@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" - integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== - express@^4.17.1: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" @@ -433,11 +386,6 @@ express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" -fflate@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.7.1.tgz#56e87e87c3f2fe01b025fbb1c4ea835990c02fa2" - integrity sha512-VYM2Xy1gSA5MerKzCnmmuV2XljkpKwgJBKezW+495TTnTCh1x5HcYa1aH8wRU/MfTGhW4ziXqgwprgQUVl3Ohw== - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -463,11 +411,6 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -frac@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b" - integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA== - fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -646,9 +589,9 @@ jws@^3.2.2: safe-buffer "^5.0.1" knex@*, knex@^0.95.11: - version "0.95.12" - resolved "https://registry.yarnpkg.com/knex/-/knex-0.95.12.tgz#b250f6690dc643c17e59b82e5c8780f0ed82060a" - integrity sha512-/fdau7F372J/rZzMFjYo1trHs67kB13YtGErOe94Ev+OdilNEI2ddSE3O4Hb3EfgRtJUbhZWxp8T4PpDMtnjSg== + version "0.95.13" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.95.13.tgz#b0547c91f6a02662f08c5bf9efbb12d660f392f7" + integrity sha512-XagG/iYA4RabYy1BmgY607Q00kBduOgb/Nej3+UDcCNdmuzDvZcfFo/726BYhfxv5amTBtGjewodZrTNbO63VA== dependencies: colorette "2.0.16" commander "^7.1.0" @@ -847,21 +790,6 @@ picomatch@^2.0.4, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== -printj@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" - integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== - -printj@~1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/printj/-/printj-1.2.3.tgz#2cfb2b192a1e5385dbbe5b46658ac34aa828508a" - integrity sha512-sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA== - -printj@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/printj/-/printj-1.3.0.tgz#9018a918a790e43707f10625d6e10187a367cff6" - integrity sha512-017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -1014,13 +942,6 @@ sqlstring@2.3.1: resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40" integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A= -ssf@~0.11.2: - version "0.11.2" - resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.11.2.tgz#0b99698b237548d088fc43cdf2b70c1a7512c06c" - integrity sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g== - dependencies: - frac "~1.1.2" - "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" @@ -1146,37 +1067,11 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -wmf@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da" - integrity sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw== - -word@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/word/-/word-0.3.0.tgz#8542157e4f8e849f4a363a288992d47612db9961" - integrity sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA== - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -xlsx@^0.17.3: - version "0.17.3" - resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.17.3.tgz#1c2dd36ff1cecb0ebdf79ba4f268e945d0070849" - integrity sha512-dGZKfyPSXfnoITruwisuDVZkvnxhjgqzWJXBJm2Khmh01wcw8//baRUvhroVRhW2SLbnlpGcCZZbeZO1qJgMIw== - dependencies: - adler-32 "~1.2.0" - cfb "^1.1.4" - codepage "~1.15.0" - commander "~2.17.1" - crc-32 "~1.2.0" - exit-on-epipe "~1.0.1" - fflate "^0.7.1" - ssf "~0.11.2" - wmf "~1.0.1" - word "~0.3.0" - xtend@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" From 44fd8aadc56803f6ac9d3fdc966e2d2c2e45ceac Mon Sep 17 00:00:00 2001 From: vinnivso Date: Mon, 8 Nov 2021 07:22:13 -0300 Subject: [PATCH 06/10] Feat: 4/4 - Basic DONE, needs to improve --- .../revisao- redfoxChallenge/PokemonGo.xlsx | Bin 0 -> 108523 bytes .../revisao- redfoxChallenge/package.json | 7 +- .../src/entities/Pokemon.ts | 42 +++- .../revisao- redfoxChallenge/src/index.ts | 26 ++ .../src/migrations/excelToJson.ts | 13 + .../src/migrations/index.ts | 60 ++--- semana21/revisao- redfoxChallenge/yarn.lock | 227 ++++++++---------- 7 files changed, 208 insertions(+), 167 deletions(-) create mode 100644 semana21/revisao- redfoxChallenge/PokemonGo.xlsx create mode 100644 semana21/revisao- redfoxChallenge/src/migrations/excelToJson.ts diff --git a/semana21/revisao- redfoxChallenge/PokemonGo.xlsx b/semana21/revisao- redfoxChallenge/PokemonGo.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c991e83ed68856c9c516152313e06e966f4ae508 GIT binary patch literal 108523 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 literal 0 HcmV?d00001 diff --git a/semana21/revisao- redfoxChallenge/package.json b/semana21/revisao- redfoxChallenge/package.json index de777a9..4bc9a9e 100644 --- a/semana21/revisao- redfoxChallenge/package.json +++ b/semana21/revisao- redfoxChallenge/package.json @@ -9,24 +9,19 @@ "migrations": "tsnd ./src/migrations/index.ts" }, "devDependencies": { - "@types/bcryptjs": "^2.4.2", "@types/cors": "^2.8.12", "@types/dotenv": "^8.2.0", "@types/express": "^4.17.13", - "@types/jsonwebtoken": "^8.5.5", "@types/knex": "^0.16.1", - "@types/uuid": "^8.3.1", "ts-node-dev": "^1.1.8", "typescript": "^4.4.4" }, "dependencies": { - "bcryptjs": "^2.4.3", "cors": "^2.8.5", "dotenv": "^10.0.0", "express": "^4.17.1", - "jsonwebtoken": "^8.5.1", "knex": "^0.95.11", "mysql": "^2.18.1", - "uuid": "^8.3.2" + "xlsx": "^0.17.3" } } diff --git a/semana21/revisao- redfoxChallenge/src/entities/Pokemon.ts b/semana21/revisao- redfoxChallenge/src/entities/Pokemon.ts index 6507813..916fc24 100644 --- a/semana21/revisao- redfoxChallenge/src/entities/Pokemon.ts +++ b/semana21/revisao- redfoxChallenge/src/entities/Pokemon.ts @@ -1,12 +1,36 @@ export default class Pokemon { - //Como estou definindo a id como opcional, logo ele precisa ser o último - constructor(private name: string, private type1: string, private id?: string) {} - //Função que retorna id. - public getId = (): string | undefined => this.id; + constructor( + id: number, + Row_Value: string, + Name: string, + Pokedex_Number: string, + Img_name: string, + Generation: string, + Evolution_Stage: string, + Evolved: string, + FamilyID: string, + Cross_Gen: string, + Type1: string, + Type2: string, + Weather1: string, + Weather2: string, + STAT_TOTAL: string, + ATK: string, + DEF: string, + STA: string, + Legendary: string, + Aquireable: string, + Spawns: string, + Regional: string, + Raidable: string, + Hatchable: string, + Shiny: string, + Nest: string, + New: string, + NotGettable: string, + Future_Evolve: string, + CP40: string, + CP39: string + ) {} - //Função que retorna name. - public getName = (): string => this.name; - - //Função que retorna tags. - public getType1 = (): string => this.type1; } diff --git a/semana21/revisao- redfoxChallenge/src/index.ts b/semana21/revisao- redfoxChallenge/src/index.ts index 8b13789..fc44a76 100644 --- a/semana21/revisao- redfoxChallenge/src/index.ts +++ b/semana21/revisao- redfoxChallenge/src/index.ts @@ -1 +1,27 @@ +import {app} from "./app" +import {connection} from "./data/connection" +//Criação simples dos endpoints no index.ts, sei que não é o indicado porém, até o momento toda aquela estrutura de camadas mais parece bagunça na minha mente do que qualqur outra coisa, kkk. + +//Endpoint para mostrar os pokemons +app.get("/pokemons", async (req, res) => { + try { + const id = Number(req.query.id) + const name = req.query.Name || '%' + const type1 = req.query.Type1 || '%' + + let result + if(id) { + result = await connection('redfox_pokemonGo') + .where({id}) + } else { + result = await connection('redfox_pokemonGo') + .where('Name', 'LIKE', `%${name}%`) + .andWhere('Type1', 'LIKE', `%${type1}%`) + } + res.send(result) + } catch (error) { + res.status(500) + .send(`Algo deu errado com seu requisição, por favor consulte a documentação disponível em: `) + } +}) diff --git a/semana21/revisao- redfoxChallenge/src/migrations/excelToJson.ts b/semana21/revisao- redfoxChallenge/src/migrations/excelToJson.ts new file mode 100644 index 0000000..58a9ec8 --- /dev/null +++ b/semana21/revisao- redfoxChallenge/src/migrations/excelToJson.ts @@ -0,0 +1,13 @@ +import xlsx from "xlsx" +import { resolve } from "path" + +export const xlsConvertToJson = () => { + const plan = xlsx.readFile( + resolve(__dirname, "..", "..", "PokemonGo.xlsx"), + { cellDates: true } + ); + const planSelected = plan.Sheets["Sheet1"]; + const data = xlsx.utils.sheet_to_json(planSelected); + + return data +}; \ No newline at end of file diff --git a/semana21/revisao- redfoxChallenge/src/migrations/index.ts b/semana21/revisao- redfoxChallenge/src/migrations/index.ts index 83b5713..8480974 100644 --- a/semana21/revisao- redfoxChallenge/src/migrations/index.ts +++ b/semana21/revisao- redfoxChallenge/src/migrations/index.ts @@ -6,36 +6,36 @@ const main = async () => { await connection.raw(` CREATE TABLE IF NOT EXISTS redfox_pokemonGo ( id INT PRIMARY KEY AUTO_INCREMENT, - Row_Value VARCHAR(255), - Name VARCHAR(255), - Pokedex_Number VARCHAR(255), - Img_name VARCHAR(255), - Generation VARCHAR(255), - Evolution_Stage VARCHAR(255), - Evolved VARCHAR(255), - FamilyID VARCHAR(255), - Cross_Gen VARCHAR(255), - Type1 VARCHAR(255), - Type2 VARCHAR(255), - Weather1 VARCHAR(255), - Weather2 VARCHAR(255), - STAT_TOTAL VARCHAR(255), - ATK VARCHAR(255), - DEF VARCHAR(255), - STA VARCHAR(255), - Legendary VARCHAR(255), - Aquireable VARCHAR(255), - Spawns VARCHAR(255), - Regional VARCHAR(255), - Raidable VARCHAR(255), - Hatchable VARCHAR(255), - Shiny VARCHAR(255), - Nest VARCHAR(255), - New VARCHAR(255), - NotGettable VARCHAR(255), - Future_Evolve VARCHAR(255), - CP40 VARCHAR(255), - CP39 VARCHAR(255) + Row_Value VARCHAR(255), + Name VARCHAR(255), + Pokedex_Number VARCHAR(255), + Img_name VARCHAR(255), + Generation VARCHAR(255), + Evolution_Stage VARCHAR(255), + Evolved VARCHAR(255), + FamilyID VARCHAR(255), + Cross_Gen VARCHAR(255), + Type1 VARCHAR(255), + Type2 VARCHAR(255), + Weather1 VARCHAR(255), + Weather2 VARCHAR(255), + STAT_TOTAL VARCHAR(255), + ATK VARCHAR(255), + DEF VARCHAR(255), + STA VARCHAR(255), + Legendary VARCHAR(255), + Aquireable VARCHAR(255), + Spawns VARCHAR(255), + Regional VARCHAR(255), + Raidable VARCHAR(255), + Hatchable VARCHAR(255), + Shiny VARCHAR(255), + Nest VARCHAR(255), + New VARCHAR(255), + NotGettable VARCHAR(255), + Future_Evolve VARCHAR(255), + CP40 VARCHAR(255), + CP39 VARCHAR(255) ); `); diff --git a/semana21/revisao- redfoxChallenge/yarn.lock b/semana21/revisao- redfoxChallenge/yarn.lock index e580225..c761471 100644 --- a/semana21/revisao- redfoxChallenge/yarn.lock +++ b/semana21/revisao- redfoxChallenge/yarn.lock @@ -2,11 +2,6 @@ # yarn lockfile v1 -"@types/bcryptjs@^2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@types/bcryptjs/-/bcryptjs-2.4.2.tgz#e3530eac9dd136bfdfb0e43df2c4c5ce1f77dfae" - integrity sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ== - "@types/body-parser@*": version "1.19.1" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz#0c0174c42a7d017b818303d4b5d969cb0b75929c" @@ -53,13 +48,6 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/jsonwebtoken@^8.5.5": - version "8.5.5" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.5.tgz#da5f2f4baee88f052ef3e4db4c1a0afb46cff22c" - integrity sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw== - dependencies: - "@types/node" "*" - "@types/knex@^0.16.1": version "0.16.1" resolved "https://registry.yarnpkg.com/@types/knex/-/knex-0.16.1.tgz#619678407265c675463c563ed38323461a49515d" @@ -105,11 +93,6 @@ resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== -"@types/uuid@^8.3.1": - version "8.3.1" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.1.tgz#1a32969cf8f0364b3d8c8af9cc3555b7805df14f" - integrity sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg== - accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -118,6 +101,21 @@ accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" +adler-32@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25" + integrity sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU= + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +adler-32@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.3.0.tgz#3cad1b71cdfa69f6c8a91f3e3615d31a4fdedc72" + integrity sha512-f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g== + dependencies: + printj "~1.2.2" + anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" @@ -141,11 +139,6 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -bcryptjs@^2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" - integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= - bignumber.js@9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" @@ -187,11 +180,6 @@ braces@~3.0.2: dependencies: fill-range "^7.0.1" -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= - buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -202,6 +190,15 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== +cfb@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/cfb/-/cfb-1.2.1.tgz#209429e4c68efd30641f6fc74b2d6028bd202402" + integrity sha512-wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ== + dependencies: + adler-32 "~1.3.0" + crc-32 "~1.2.0" + printj "~1.3.0" + chokidar@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" @@ -217,6 +214,11 @@ chokidar@^3.5.1: optionalDependencies: fsevents "~2.3.2" +codepage@~1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.15.0.tgz#2e00519024b39424ec66eeb3ec07227e692618ab" + integrity sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA== + colorette@2.0.16: version "2.0.16" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" @@ -227,6 +229,11 @@ commander@^7.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@~2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -267,6 +274,14 @@ cors@^2.8.5: object-assign "^4" vary "^1" +crc-32@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -313,13 +328,6 @@ dynamic-dedupe@^0.3.0: dependencies: xtend "^4.0.0" -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -350,6 +358,11 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + express@^4.17.1: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" @@ -386,6 +399,11 @@ express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" +fflate@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.7.1.tgz#56e87e87c3f2fe01b025fbb1c4ea835990c02fa2" + integrity sha512-VYM2Xy1gSA5MerKzCnmmuV2XljkpKwgJBKezW+495TTnTCh1x5HcYa1aH8wRU/MfTGhW4ziXqgwprgQUVl3Ohw== + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -411,6 +429,11 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== +frac@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b" + integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA== + fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -555,39 +578,6 @@ isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -jsonwebtoken@^8.5.1: - version "8.5.1" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" - integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^5.6.0" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - knex@*, knex@^0.95.11: version "0.95.13" resolved "https://registry.yarnpkg.com/knex/-/knex-0.95.13.tgz#b0547c91f6a02662f08c5bf9efbb12d660f392f7" @@ -607,41 +597,6 @@ knex@*, knex@^0.95.11: tarn "^3.0.1" tildify "2.0.0" -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= - lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -716,11 +671,6 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - mysql@^2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz#2254143855c5a8c73825e4522baf2ea021766717" @@ -790,6 +740,21 @@ picomatch@^2.0.4, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== +printj@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + +printj@~1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.2.3.tgz#2cfb2b192a1e5385dbbe5b46658ac34aa828508a" + integrity sha512-sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA== + +printj@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.3.0.tgz#9018a918a790e43707f10625d6e10187a367cff6" + integrity sha512-017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -875,21 +840,11 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -942,6 +897,13 @@ sqlstring@2.3.1: resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40" integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A= +ssf@~0.11.2: + version "0.11.2" + resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.11.2.tgz#0b99698b237548d088fc43cdf2b70c1a7512c06c" + integrity sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g== + dependencies: + frac "~1.1.2" + "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" @@ -1057,21 +1019,42 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +wmf@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da" + integrity sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw== + +word@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/word/-/word-0.3.0.tgz#8542157e4f8e849f4a363a288992d47612db9961" + integrity sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA== + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +xlsx@^0.17.3: + version "0.17.3" + resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.17.3.tgz#1c2dd36ff1cecb0ebdf79ba4f268e945d0070849" + integrity sha512-dGZKfyPSXfnoITruwisuDVZkvnxhjgqzWJXBJm2Khmh01wcw8//baRUvhroVRhW2SLbnlpGcCZZbeZO1qJgMIw== + dependencies: + adler-32 "~1.2.0" + cfb "^1.1.4" + codepage "~1.15.0" + commander "~2.17.1" + crc-32 "~1.2.0" + exit-on-epipe "~1.0.1" + fflate "^0.7.1" + ssf "~0.11.2" + wmf "~1.0.1" + word "~0.3.0" + xtend@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" From 26bb0430603aecdecb28a96d8592e06b519acbf7 Mon Sep 17 00:00:00 2001 From: vinnivso Date: Mon, 8 Nov 2021 20:04:16 -0300 Subject: [PATCH 07/10] Feat: Exercise DONE --- .../exercicio/.gitignore | 5 + .../exercicio/jest.config.js | 8 + .../exercicio/package.json | 25 + .../exercicio/src/performPurchase.ts | 12 + .../exercicio/src/verifyAges.ts | 68 + .../exercicio/tests/performPurchase.test.ts | 18 + .../exercicio/tests/verifyAges.test.ts | 17 + .../exercicio/tsconfig.json | 13 + .../exercicio/yarn.lock | 3713 +++++++++++++++++ 9 files changed, 3879 insertions(+) create mode 100644 semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/.gitignore create mode 100644 semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/jest.config.js create mode 100644 semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/package.json create mode 100644 semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/src/performPurchase.ts create mode 100644 semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/src/verifyAges.ts create mode 100644 semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tests/performPurchase.test.ts create mode 100644 semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tests/verifyAges.test.ts create mode 100644 semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tsconfig.json create mode 100644 semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/yarn.lock diff --git a/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/.gitignore b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/.gitignore new file mode 100644 index 0000000..50bd786 --- /dev/null +++ b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/.gitignore @@ -0,0 +1,5 @@ +node_modules/ +build/ +.vscode/ + +.env \ No newline at end of file diff --git a/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/jest.config.js b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/jest.config.js new file mode 100644 index 0000000..2b69a79 --- /dev/null +++ b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/jest.config.js @@ -0,0 +1,8 @@ +module.exports = { + roots: ["/tests"], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], + } \ No newline at end of file diff --git a/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/package.json b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/package.json new file mode 100644 index 0000000..6f3bbd8 --- /dev/null +++ b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/package.json @@ -0,0 +1,25 @@ +{ + "name": "jest-exercicio", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "jest", + "dev": "clear && tsnd --transpile-only --ignore-watch node_modules ./src/index.ts", + "start": "tsc && node ./build/src/index.js" + }, + "dependencies": { + "dotenv": "^8.2.0", + "knex": "^0.21.1", + "mysql": "^2.18.1" + }, + "devDependencies": { + "@types/jest": "^27.0.2", + "@types/knex": "^0.16.1", + "@types/node": "^14.0.6", + "jest": "^27.3.1", + "ts-jest": "^27.0.7", + "ts-node-dev": "^1.0.0-pre.44", + "typescript": "^3.9.3" + } +} diff --git a/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/src/performPurchase.ts b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/src/performPurchase.ts new file mode 100644 index 0000000..bfcf6ba --- /dev/null +++ b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/src/performPurchase.ts @@ -0,0 +1,12 @@ +export interface User { + name: string, + balance: number +} + +export default function performPurchase(user: User, value:number): User | undefined { + if(user.balance >= value) { + return {...user, balance: user.balance - value} + } + else return undefined +} + diff --git a/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/src/verifyAges.ts b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/src/verifyAges.ts new file mode 100644 index 0000000..64eeb91 --- /dev/null +++ b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/src/verifyAges.ts @@ -0,0 +1,68 @@ +// //EXERCICIO 03 +//VerifyAges INPUT +export enum LOCATION { + EUA = "EUA", + BRAZIL = "BRAZIL", +} + +export enum NACIONALITY { + BRAZILIAN = "BRAZILIAN", + AMERICAN = "AMERICAN", +} + +export interface User { + name: string; + age: number; + nacionality: NACIONALITY; +} + +export interface Casino { + name: string; + location: LOCATION; +} + +//VerifyAges OUTPUT +export interface Result { + brazilians: ResultItem; + americans: ResultItem; +} + +export interface ResultItem { + allowed: string[]; + unallowed: string[]; +} + +export default function verifyAge(casino: Casino, users: User[]): Result { + let allowed: User[] = []; + let unallowed: User[] = []; + + for (const user of users) { + if (casino.location === LOCATION.EUA) { + if (user.age >= 21) allowed.push(user); + else unallowed.push(user); + } else if (casino.location === LOCATION.BRAZIL) { + if (user.age >= 18) allowed.push(user) + else unallowed.push(user) + break + } + } + + return { + brazilians: { + allowed: allowed + .filter((user) => user.nacionality === NACIONALITY.BRAZILIAN) + .map((user) => user.name), + unallowed: unallowed + .filter((user) => user.nacionality === NACIONALITY.BRAZILIAN) + .map((user) => user.name), + }, + americans: { + allowed: allowed + .filter((user) => user.nacionality === NACIONALITY.AMERICAN) + .map((user) => user.name), + unallowed: unallowed + .filter((user) => user.nacionality === NACIONALITY.AMERICAN) + .map((user) => user.name), + }, + }; +} \ No newline at end of file diff --git a/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tests/performPurchase.test.ts b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tests/performPurchase.test.ts new file mode 100644 index 0000000..acdfda6 --- /dev/null +++ b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tests/performPurchase.test.ts @@ -0,0 +1,18 @@ +import performPurchase, { User } from '../src/performPurchase' + +describe('Executing tests to performPurchase', () => { + test('Verificando VALOR DA COMPRA MENOR que o SALDO',() => { + const user: User = { + name:'Manito', + balance: 666 + } + expect(performPurchase(user, 50)).toStrictEqual({user, balance:50}) + expect(performPurchase(user, 666)).toEqual({user, balance:0}) + expect(performPurchase(user, 110)).toBeUndefined() + }) + + test('Verify Ages', () => { + + }) + +}) \ No newline at end of file diff --git a/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tests/verifyAges.test.ts b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tests/verifyAges.test.ts new file mode 100644 index 0000000..8be0e2f --- /dev/null +++ b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tests/verifyAges.test.ts @@ -0,0 +1,17 @@ +import verifyAges, { Casino, LOCATION, User } from "../src/verifyAges" + + +describe('Executing tests to verifyAges',() => { + const casino1: Casino = { + name:'Doce Mania', + location:LOCATION.BRAZIL + } + const casino2: Casino = { + name:'Sweet Home Alabama', + location:LOCATION.EUA + } + + test('', () => { + // expect(verifyAges(casino1)) + }) +}) \ No newline at end of file diff --git a/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tsconfig.json b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tsconfig.json new file mode 100644 index 0000000..cb711a8 --- /dev/null +++ b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "es6" , + "module": "commonjs", + "outDir": "./build" , + "rootDir": "./" , + "strict": true , + "sourceMap": true, + "removeComments": true, + "esModuleInterop": true , + "forceConsistentCasingInFileNames": true + } +} diff --git a/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/yarn.lock b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/yarn.lock new file mode 100644 index 0000000..68ceb0b --- /dev/null +++ b/semana22/aula62-Testes_Automatizados_com_Typescript/exercicio/yarn.lock @@ -0,0 +1,3713 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" + integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== + dependencies: + "@babel/highlight" "^7.16.0" + +"@babel/compat-data@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.0.tgz#ea269d7f78deb3a7826c39a4048eecda541ebdaa" + integrity sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew== + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" + integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helpers" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.16.0", "@babel/generator@^7.7.2": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" + integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== + dependencies: + "@babel/types" "^7.16.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-compilation-targets@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz#01d615762e796c17952c29e3ede9d6de07d235a8" + integrity sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg== + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" + semver "^6.3.0" + +"@babel/helper-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" + integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== + dependencies: + "@babel/helper-get-function-arity" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-get-function-arity@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" + integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-hoist-variables@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" + integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-member-expression-to-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" + integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-imports@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" + integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-transforms@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" + integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-optimise-call-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" + integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + +"@babel/helper-replace-supers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" + integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-simple-access@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" + integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-split-export-declaration@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" + integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + +"@babel/helpers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.0.tgz#875519c979c232f41adfbd43a3b0398c2e388183" + integrity sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ== + dependencies: + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/highlight@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" + integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.7.2": + version "7.16.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.2.tgz#3723cd5c8d8773eef96ce57ea1d9b7faaccd12ac" + integrity sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz#2feeb13d9334cc582ea9111d3506f773174179bb" + integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/template@^7.16.0", "@babel/template@^7.3.3": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" + integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.7.2": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.0.tgz#965df6c6bfc0a958c1e739284d3c9fa4a6e3c45b" + integrity sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" + integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.3.1.tgz#e8ea3a475d3f8162f23d69efbfaa9cbe486bee93" + integrity sha512-RkFNWmv0iui+qsOr/29q9dyfKTTT5DCuP31kUwg7rmOKPT/ozLeGLKJKVIiOfbiKyleUZKIrHwhmiZWVe8IMdw== + dependencies: + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^27.3.1" + jest-util "^27.3.1" + slash "^3.0.0" + +"@jest/core@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.3.1.tgz#04992ef1b58b17c459afb87ab56d81e63d386925" + integrity sha512-DMNE90RR5QKx0EA+wqe3/TNEwiRpOkhshKNxtLxd4rt3IZpCt+RSL+FoJsGeblRZmqdK4upHA/mKKGPPRAifhg== + dependencies: + "@jest/console" "^27.3.1" + "@jest/reporters" "^27.3.1" + "@jest/test-result" "^27.3.1" + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.8.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^27.3.0" + jest-config "^27.3.1" + jest-haste-map "^27.3.1" + jest-message-util "^27.3.1" + jest-regex-util "^27.0.6" + jest-resolve "^27.3.1" + jest-resolve-dependencies "^27.3.1" + jest-runner "^27.3.1" + jest-runtime "^27.3.1" + jest-snapshot "^27.3.1" + jest-util "^27.3.1" + jest-validate "^27.3.1" + jest-watcher "^27.3.1" + micromatch "^4.0.4" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.3.1.tgz#2182defbce8d385fd51c5e7c7050f510bd4c86b1" + integrity sha512-BCKCj4mOVLme6Tanoyc9k0ultp3pnmuyHw73UHRPeeZxirsU/7E3HC4le/VDb/SMzE1JcPnto+XBKFOcoiJzVw== + dependencies: + "@jest/fake-timers" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + jest-mock "^27.3.0" + +"@jest/fake-timers@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.3.1.tgz#1fad860ee9b13034762cdb94266e95609dfce641" + integrity sha512-M3ZFgwwlqJtWZ+QkBG5NmC23A9w+A6ZxNsO5nJxJsKYt4yguBd3i8TpjQz5NfCX91nEve1KqD9RA2Q+Q1uWqoA== + dependencies: + "@jest/types" "^27.2.5" + "@sinonjs/fake-timers" "^8.0.1" + "@types/node" "*" + jest-message-util "^27.3.1" + jest-mock "^27.3.0" + jest-util "^27.3.1" + +"@jest/globals@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.3.1.tgz#ce1dfb03d379237a9da6c1b99ecfaca1922a5f9e" + integrity sha512-Q651FWiWQAIFiN+zS51xqhdZ8g9b88nGCobC87argAxA7nMfNQq0Q0i9zTfQYgLa6qFXk2cGANEqfK051CZ8Pg== + dependencies: + "@jest/environment" "^27.3.1" + "@jest/types" "^27.2.5" + expect "^27.3.1" + +"@jest/reporters@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.3.1.tgz#28b5c1f5789481e23788048fa822ed15486430b9" + integrity sha512-m2YxPmL9Qn1emFVgZGEiMwDntDxRRQ2D58tiDQlwYTg5GvbFOKseYCcHtn0WsI8CG4vzPglo3nqbOiT8ySBT/w== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^27.3.1" + "@jest/test-result" "^27.3.1" + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^27.3.1" + jest-resolve "^27.3.1" + jest-util "^27.3.1" + jest-worker "^27.3.1" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^8.1.0" + +"@jest/source-map@^27.0.6": + version "27.0.6" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz#be9e9b93565d49b0548b86e232092491fb60551f" + integrity sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.3.1.tgz#89adee8b771877c69b3b8d59f52f29dccc300194" + integrity sha512-mLn6Thm+w2yl0opM8J/QnPTqrfS4FoXsXF2WIWJb2O/GBSyResL71BRuMYbYRsGt7ELwS5JGcEcGb52BNrumgg== + dependencies: + "@jest/console" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.3.1.tgz#4b3bde2dbb05ee74afdae608cf0768e3354683b1" + integrity sha512-siySLo07IMEdSjA4fqEnxfIX8lB/lWYsBPwNFtkOvsFQvmBrL3yj3k3uFNZv/JDyApTakRpxbKLJ3CT8UGVCrA== + dependencies: + "@jest/test-result" "^27.3.1" + graceful-fs "^4.2.4" + jest-haste-map "^27.3.1" + jest-runtime "^27.3.1" + +"@jest/transform@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.3.1.tgz#ff80eafbeabe811e9025e4b6f452126718455220" + integrity sha512-3fSvQ02kuvjOI1C1ssqMVBKJpZf6nwoCiSu00zAKh5nrp3SptNtZy/8s5deayHnqxhjD9CWDJ+yqQwuQ0ZafXQ== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.2.5" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^27.3.1" + jest-regex-util "^27.0.6" + jest-util "^27.3.1" + micromatch "^4.0.4" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" + integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" + integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": + version "7.1.16" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" + integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" + integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^27.0.2": + version "27.0.2" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.2.tgz#ac383c4d4aaddd29bbf2b916d8d105c304a5fcd7" + integrity sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA== + dependencies: + jest-diff "^27.0.0" + pretty-format "^27.0.0" + +"@types/knex@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@types/knex/-/knex-0.16.1.tgz#619678407265c675463c563ed38323461a49515d" + integrity sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ== + dependencies: + knex "*" + +"@types/node@*": + version "16.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae" + integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w== + +"@types/node@^14.0.6": + version "14.17.32" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.32.tgz#2ca61c9ef8c77f6fa1733be9e623ceb0d372ad96" + integrity sha512-JcII3D5/OapPGx+eJ+Ik1SQGyt6WvuqdRfh9jUwL6/iHGjmyOriBDciBUu7lEIBTL2ijxwrR70WUnw5AEDmFvQ== + +"@types/prettier@^2.1.5": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.1.tgz#e1303048d5389563e130f5bdd89d37a99acb75eb" + integrity sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/strip-bom@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" + integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= + +"@types/strip-json-comments@0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" + integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== + +"@types/yargs-parser@*": + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + +"@types/yargs@^16.0.0": + version "16.0.4" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" + integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== + dependencies: + "@types/yargs-parser" "*" + +abab@^2.0.3, abab@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.5.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +babel-jest@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.3.1.tgz#0636a3404c68e07001e434ac4956d82da8a80022" + integrity sha512-SjIF8hh/ir0peae2D6S6ZKRhUy7q/DnpH7k/V6fT4Bgs/LXXUztOpX4G2tCgq8mLo5HA9mN6NmlFMeYtKmIsTQ== + dependencies: + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^27.2.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^27.2.0: + version "27.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.2.0.tgz#79f37d43f7e5c4fdc4b2ca3e10cc6cf545626277" + integrity sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^27.2.0: + version "27.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.2.0.tgz#556bbbf340608fed5670ab0ea0c8ef2449fba885" + integrity sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg== + dependencies: + babel-plugin-jest-hoist "^27.2.0" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bignumber.js@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" + integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.16.6: + version "4.17.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.6.tgz#c76be33e7786b497f66cad25a73756c8b938985d" + integrity sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw== + dependencies: + caniuse-lite "^1.0.30001274" + electron-to-chromium "^1.3.886" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-lite@^1.0.30001274: + version "1.0.30001278" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001278.tgz#51cafc858df77d966b17f59b5839250b24417fff" + integrity sha512-mpF9KeH8u5cMoEmIic/cr7PNS+F5LWBk0t2ekGT60lFf0Wq+n9LspAj0g3P+o7DQhD3sUdlMln4YFAWhFYn9jg== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +ci-info@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" + integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== + +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + +colorette@2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@4, debug@4.3.2, debug@^4.1.0, debug@^4.1.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" + integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + +dynamic-dedupe@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz#06e44c223f5e4e94d78ef9db23a6515ce2f962a1" + integrity sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE= + dependencies: + xtend "^4.0.0" + +electron-to-chromium@^1.3.886: + version "1.3.890" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.890.tgz#e7143b659f73dc4d0512d1ae4baeb0fb9e7bc835" + integrity sha512-VWlVXSkv0cA/OOehrEyqjUTHwV8YXCPTfPvbtoeU2aHR21vI4Ejh5aC4AxUwOmbLbBgb6Gd3URZahoCxtBqCYQ== + +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +expect@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.3.1.tgz#d0f170b1f5c8a2009bab0beffd4bb94f043e38e7" + integrity sha512-MrNXV2sL9iDRebWPGOGFdPQRl2eDQNu/uhxIMShjjx74T6kC6jFIkmQ6OqXDtevjGUkyB2IT56RzDBqXf/QPCg== + dependencies: + "@jest/types" "^27.2.5" + ansi-styles "^5.0.0" + jest-get-type "^27.3.1" + jest-matcher-utils "^27.3.1" + jest-message-util "^27.3.1" + jest-regex-util "^27.0.6" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" + integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +flagged-respawn@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" + integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + dependencies: + for-in "^1.0.1" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getopts@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" + integrity sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +graceful-fs@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +import-local@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" + integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-core-module@^2.2.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.5.tgz#a2580107e71279ea6d661ddede929ffc6d693384" + integrity sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.3.0.tgz#22a02cc2b34583fc66e443171dc271c0529d263c" + integrity sha512-9DJs9garMHv4RhylUMZgbdCJ3+jHSkpL9aaVKp13xtXAD80qLTLrqcDZL1PHA9dYA0bCI86Nv2BhkLpLhrBcPg== + dependencies: + "@jest/types" "^27.2.5" + execa "^5.0.0" + throat "^6.0.1" + +jest-circus@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.3.1.tgz#1679e74387cbbf0c6a8b42de963250a6469e0797" + integrity sha512-v1dsM9II6gvXokgqq6Yh2jHCpfg7ZqV4jWY66u7npz24JnhP3NHxI0sKT7+ZMQ7IrOWHYAaeEllOySbDbWsiXw== + dependencies: + "@jest/environment" "^27.3.1" + "@jest/test-result" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^27.3.1" + is-generator-fn "^2.0.0" + jest-each "^27.3.1" + jest-matcher-utils "^27.3.1" + jest-message-util "^27.3.1" + jest-runtime "^27.3.1" + jest-snapshot "^27.3.1" + jest-util "^27.3.1" + pretty-format "^27.3.1" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" + +jest-cli@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.3.1.tgz#b576f9d146ba6643ce0a162d782b40152b6b1d16" + integrity sha512-WHnCqpfK+6EvT62me6WVs8NhtbjAS4/6vZJnk7/2+oOr50cwAzG4Wxt6RXX0hu6m1169ZGMlhYYUNeKBXCph/Q== + dependencies: + "@jest/core" "^27.3.1" + "@jest/test-result" "^27.3.1" + "@jest/types" "^27.2.5" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + jest-config "^27.3.1" + jest-util "^27.3.1" + jest-validate "^27.3.1" + prompts "^2.0.1" + yargs "^16.2.0" + +jest-config@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.3.1.tgz#cb3b7f6aaa8c0a7daad4f2b9573899ca7e09bbad" + integrity sha512-KY8xOIbIACZ/vdYCKSopL44I0xboxC751IX+DXL2+Wx6DKNycyEfV3rryC3BPm5Uq/BBqDoMrKuqLEUNJmMKKg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^27.3.1" + "@jest/types" "^27.2.5" + babel-jest "^27.3.1" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-circus "^27.3.1" + jest-environment-jsdom "^27.3.1" + jest-environment-node "^27.3.1" + jest-get-type "^27.3.1" + jest-jasmine2 "^27.3.1" + jest-regex-util "^27.0.6" + jest-resolve "^27.3.1" + jest-runner "^27.3.1" + jest-util "^27.3.1" + jest-validate "^27.3.1" + micromatch "^4.0.4" + pretty-format "^27.3.1" + +jest-diff@^27.0.0, jest-diff@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.3.1.tgz#d2775fea15411f5f5aeda2a5e02c2f36440f6d55" + integrity sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.0.6" + jest-get-type "^27.3.1" + pretty-format "^27.3.1" + +jest-docblock@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz#cc78266acf7fe693ca462cbbda0ea4e639e4e5f3" + integrity sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA== + dependencies: + detect-newline "^3.0.0" + +jest-each@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.3.1.tgz#14c56bb4f18dd18dc6bdd853919b5f16a17761ff" + integrity sha512-E4SwfzKJWYcvOYCjOxhZcxwL+AY0uFMvdCOwvzgutJiaiodFjkxQQDxHm8FQBeTqDnSmKsQWn7ldMRzTn2zJaQ== + dependencies: + "@jest/types" "^27.2.5" + chalk "^4.0.0" + jest-get-type "^27.3.1" + jest-util "^27.3.1" + pretty-format "^27.3.1" + +jest-environment-jsdom@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.3.1.tgz#63ac36d68f7a9303494df783494856222b57f73e" + integrity sha512-3MOy8qMzIkQlfb3W1TfrD7uZHj+xx8Olix5vMENkj5djPmRqndMaXtpnaZkxmxM+Qc3lo+yVzJjzuXbCcZjAlg== + dependencies: + "@jest/environment" "^27.3.1" + "@jest/fake-timers" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + jest-mock "^27.3.0" + jest-util "^27.3.1" + jsdom "^16.6.0" + +jest-environment-node@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.3.1.tgz#af7d0eed04edafb740311b303f3fe7c8c27014bb" + integrity sha512-T89F/FgkE8waqrTSA7/ydMkcc52uYPgZZ6q8OaZgyiZkJb5QNNCF6oPZjH9IfPFfcc9uBWh1574N0kY0pSvTXw== + dependencies: + "@jest/environment" "^27.3.1" + "@jest/fake-timers" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + jest-mock "^27.3.0" + jest-util "^27.3.1" + +jest-get-type@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.3.1.tgz#a8a2b0a12b50169773099eee60a0e6dd11423eff" + integrity sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg== + +jest-haste-map@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.3.1.tgz#7656fbd64bf48bda904e759fc9d93e2c807353ee" + integrity sha512-lYfNZIzwPccDJZIyk9Iz5iQMM/MH56NIIcGj7AFU1YyA4ewWFBl8z+YPJuSCRML/ee2cCt2y3W4K3VXPT6Nhzg== + dependencies: + "@jest/types" "^27.2.5" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^27.0.6" + jest-serializer "^27.0.6" + jest-util "^27.3.1" + jest-worker "^27.3.1" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +jest-jasmine2@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.3.1.tgz#df6d3d07c7dafc344feb43a0072a6f09458d32b0" + integrity sha512-WK11ZUetDQaC09w4/j7o4FZDUIp+4iYWH/Lik34Pv7ukL+DuXFGdnmmi7dT58J2ZYKFB5r13GyE0z3NPeyJmsg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^27.3.1" + "@jest/source-map" "^27.0.6" + "@jest/test-result" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^27.3.1" + is-generator-fn "^2.0.0" + jest-each "^27.3.1" + jest-matcher-utils "^27.3.1" + jest-message-util "^27.3.1" + jest-runtime "^27.3.1" + jest-snapshot "^27.3.1" + jest-util "^27.3.1" + pretty-format "^27.3.1" + throat "^6.0.1" + +jest-leak-detector@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.3.1.tgz#7fb632c2992ef707a1e73286e1e704f9cc1772b2" + integrity sha512-78QstU9tXbaHzwlRlKmTpjP9k4Pvre5l0r8Spo4SbFFVy/4Abg9I6ZjHwjg2QyKEAMg020XcjP+UgLZIY50yEg== + dependencies: + jest-get-type "^27.3.1" + pretty-format "^27.3.1" + +jest-matcher-utils@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.3.1.tgz#257ad61e54a6d4044e080d85dbdc4a08811e9c1c" + integrity sha512-hX8N7zXS4k+8bC1Aj0OWpGb7D3gIXxYvPNK1inP5xvE4ztbz3rc4AkI6jGVaerepBnfWB17FL5lWFJT3s7qo8w== + dependencies: + chalk "^4.0.0" + jest-diff "^27.3.1" + jest-get-type "^27.3.1" + pretty-format "^27.3.1" + +jest-message-util@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.3.1.tgz#f7c25688ad3410ab10bcb862bcfe3152345c6436" + integrity sha512-bh3JEmxsTZ/9rTm0jQrPElbY2+y48Rw2t47uMfByNyUVR+OfPh4anuyKsGqsNkXk/TI4JbLRZx+7p7Hdt6q1yg== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.2.5" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.4" + pretty-format "^27.3.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.3.0.tgz#ddf0ec3cc3e68c8ccd489bef4d1f525571a1b867" + integrity sha512-ziZiLk0elZOQjD08bLkegBzv5hCABu/c8Ytx45nJKkysQwGaonvmTxwjLqEA4qGdasq9o2I8/HtdGMNnVsMTGw== + dependencies: + "@jest/types" "^27.2.5" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" + integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== + +jest-resolve-dependencies@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.3.1.tgz#85b99bdbdfa46e2c81c6228fc4c91076f624f6e2" + integrity sha512-X7iLzY8pCiYOnvYo2YrK3P9oSE8/3N2f4pUZMJ8IUcZnT81vlSonya1KTO9ZfKGuC+svE6FHK/XOb8SsoRUV1A== + dependencies: + "@jest/types" "^27.2.5" + jest-regex-util "^27.0.6" + jest-snapshot "^27.3.1" + +jest-resolve@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.3.1.tgz#0e5542172a1aa0270be6f66a65888647bdd74a3e" + integrity sha512-Dfzt25CFSPo3Y3GCbxynRBZzxq9AdyNN+x/v2IqYx6KVT5Z6me2Z/PsSGFSv3cOSUZqJ9pHxilao/I/m9FouLw== + dependencies: + "@jest/types" "^27.2.5" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^27.3.1" + jest-pnp-resolver "^1.2.2" + jest-util "^27.3.1" + jest-validate "^27.3.1" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.3.1.tgz#1d594dcbf3bd8600a7e839e790384559eaf96e3e" + integrity sha512-r4W6kBn6sPr3TBwQNmqE94mPlYVn7fLBseeJfo4E2uCTmAyDFm2O5DYAQAFP7Q3YfiA/bMwg8TVsciP7k0xOww== + dependencies: + "@jest/console" "^27.3.1" + "@jest/environment" "^27.3.1" + "@jest/test-result" "^27.3.1" + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.8.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-docblock "^27.0.6" + jest-environment-jsdom "^27.3.1" + jest-environment-node "^27.3.1" + jest-haste-map "^27.3.1" + jest-leak-detector "^27.3.1" + jest-message-util "^27.3.1" + jest-resolve "^27.3.1" + jest-runtime "^27.3.1" + jest-util "^27.3.1" + jest-worker "^27.3.1" + source-map-support "^0.5.6" + throat "^6.0.1" + +jest-runtime@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.3.1.tgz#80fa32eb85fe5af575865ddf379874777ee993d7" + integrity sha512-qtO6VxPbS8umqhEDpjA4pqTkKQ1Hy4ZSi9mDVeE9Za7LKBo2LdW2jmT+Iod3XFaJqINikZQsn2wEi0j9wPRbLg== + dependencies: + "@jest/console" "^27.3.1" + "@jest/environment" "^27.3.1" + "@jest/globals" "^27.3.1" + "@jest/source-map" "^27.0.6" + "@jest/test-result" "^27.3.1" + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-haste-map "^27.3.1" + jest-message-util "^27.3.1" + jest-mock "^27.3.0" + jest-regex-util "^27.0.6" + jest-resolve "^27.3.1" + jest-snapshot "^27.3.1" + jest-util "^27.3.1" + jest-validate "^27.3.1" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^16.2.0" + +jest-serializer@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1" + integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.3.1.tgz#1da5c0712a252d70917d46c037054f5918c49ee4" + integrity sha512-APZyBvSgQgOT0XumwfFu7X3G5elj6TGhCBLbBdn3R1IzYustPGPE38F51dBWMQ8hRXa9je0vAdeVDtqHLvB6lg== + dependencies: + "@babel/core" "^7.7.2" + "@babel/generator" "^7.7.2" + "@babel/parser" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.0.0" + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^27.3.1" + graceful-fs "^4.2.4" + jest-diff "^27.3.1" + jest-get-type "^27.3.1" + jest-haste-map "^27.3.1" + jest-matcher-utils "^27.3.1" + jest-message-util "^27.3.1" + jest-resolve "^27.3.1" + jest-util "^27.3.1" + natural-compare "^1.4.0" + pretty-format "^27.3.1" + semver "^7.3.2" + +jest-util@^27.0.0, jest-util@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.3.1.tgz#a58cdc7b6c8a560caac9ed6bdfc4e4ff23f80429" + integrity sha512-8fg+ifEH3GDryLQf/eKZck1DEs2YuVPBCMOaHQxVVLmQwl/CDhWzrvChTX4efLZxGrw+AA0mSXv78cyytBt/uw== + dependencies: + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.4" + picomatch "^2.2.3" + +jest-validate@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.3.1.tgz#3a395d61a19cd13ae9054af8cdaf299116ef8a24" + integrity sha512-3H0XCHDFLA9uDII67Bwi1Vy7AqwA5HqEEjyy934lgVhtJ3eisw6ShOF1MDmRPspyikef5MyExvIm0/TuLzZ86Q== + dependencies: + "@jest/types" "^27.2.5" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^27.3.1" + leven "^3.1.0" + pretty-format "^27.3.1" + +jest-watcher@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.3.1.tgz#ba5e0bc6aa843612b54ddb7f009d1cbff7e05f3e" + integrity sha512-9/xbV6chABsGHWh9yPaAGYVVKurWoP3ZMCv6h+O1v9/+pkOroigs6WzZ0e9gLP/njokUwM7yQhr01LKJVMkaZA== + dependencies: + "@jest/test-result" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^27.3.1" + string-length "^4.0.1" + +jest-worker@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" + integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.3.1.tgz#b5bab64e8f56b6f7e275ba1836898b0d9f1e5c8a" + integrity sha512-U2AX0AgQGd5EzMsiZpYt8HyZ+nSVIh5ujQ9CPp9EQZJMjXIiSZpJNweZl0swatKRoqHWgGKM3zaSwm4Zaz87ng== + dependencies: + "@jest/core" "^27.3.1" + import-local "^3.0.2" + jest-cli "^27.3.1" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsdom@^16.6.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json5@2.x, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +knex@*: + version "0.95.13" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.95.13.tgz#b0547c91f6a02662f08c5bf9efbb12d660f392f7" + integrity sha512-XagG/iYA4RabYy1BmgY607Q00kBduOgb/Nej3+UDcCNdmuzDvZcfFo/726BYhfxv5amTBtGjewodZrTNbO63VA== + dependencies: + colorette "2.0.16" + commander "^7.1.0" + debug "4.3.2" + escalade "^3.1.1" + esm "^3.2.25" + getopts "2.2.5" + interpret "^2.2.0" + lodash "^4.17.21" + pg-connection-string "2.5.0" + rechoir "0.7.0" + resolve-from "^5.0.0" + tarn "^3.0.1" + tildify "2.0.0" + +knex@^0.21.1: + version "0.21.21" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.21.21.tgz#b1335c75afd15ff83371b096e9cc4c4eafab8c05" + integrity sha512-cjw5qO1EzVKjbywcVa61IQJMLt7PfYBRI/2NwCA/B9beXgbw652wDNLz+JM+UKKNsfwprq0ugYqBYc9q4JN36A== + dependencies: + colorette "1.2.1" + commander "^6.2.0" + debug "4.3.1" + esm "^3.2.25" + getopts "2.2.5" + interpret "^2.2.0" + liftoff "3.1.0" + lodash "^4.17.20" + pg-connection-string "2.4.0" + tarn "^3.0.1" + tildify "2.0.0" + v8flags "^3.2.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +liftoff@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" + integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== + dependencies: + extend "^3.0.0" + findup-sync "^3.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.memoize@4.x: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@1.x, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +micromatch@^3.0.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mime-db@1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" + integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== + +mime-types@^2.1.12: + version "2.1.33" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" + integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== + dependencies: + mime-db "1.50.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +mysql@^2.18.1: + version "2.18.1" + resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz#2254143855c5a8c73825e4522baf2ea021766717" + integrity sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig== + dependencies: + bignumber.js "9.0.0" + readable-stream "2.3.7" + safe-buffer "5.1.2" + sqlstring "2.3.1" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + +pg-connection-string@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.4.0.tgz#c979922eb47832999a204da5dbe1ebf2341b6a10" + integrity sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ== + +pg-connection-string@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" + integrity sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +pretty-format@^27.0.0, pretty-format@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.3.1.tgz#7e9486365ccdd4a502061fa761d3ab9ca1b78df5" + integrity sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA== + dependencies: + "@jest/types" "^27.2.5" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +readable-stream@2.3.7: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" + integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== + dependencies: + resolve "^1.9.0" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve.exports@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + +resolve@^1.0.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.20.0, resolve@^1.9.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^2.6.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver@7.x, semver@^7.3.2: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.5" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" + integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.12, source-map-support@^0.5.17, source-map-support@^0.5.6: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sqlstring@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40" + integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A= + +stack-utils@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +tarn@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tarn/-/tarn-3.0.1.tgz#ebac2c6dbc6977d34d4526e0a7814200386a8aec" + integrity sha512-6usSlV9KyHsspvwu2duKH+FMUhqJnAh6J5J/4MITl8s94iSUQTLkJggdiewKv4RyARQccnigV48Z+khiuVZDJw== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +throat@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" + integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== + +tildify@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-2.0.0.tgz#f205f3674d677ce698b7067a99e949ce03b4754a" + integrity sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw== + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +ts-jest@^27.0.7: + version "27.0.7" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.0.7.tgz#fb7c8c8cb5526ab371bc1b23d06e745652cca2d0" + integrity sha512-O41shibMqzdafpuP+CkrOL7ykbmLh+FqQrXEmV9CydQ5JBk0Sj0uAEF5TNNe94fZWKm3yYvWa/IbyV4Yg1zK2Q== + dependencies: + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^27.0.0" + json5 "2.x" + lodash.memoize "4.x" + make-error "1.x" + semver "7.x" + yargs-parser "20.x" + +ts-node-dev@^1.0.0-pre.44: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.1.8.tgz#95520d8ab9d45fffa854d6668e2f8f9286241066" + integrity sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg== + dependencies: + chokidar "^3.5.1" + dynamic-dedupe "^0.3.0" + minimist "^1.2.5" + mkdirp "^1.0.4" + resolve "^1.0.0" + rimraf "^2.6.1" + source-map-support "^0.5.12" + tree-kill "^1.2.2" + ts-node "^9.0.0" + tsconfig "^7.0.0" + +ts-node@^9.0.0: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tsconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" + integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== + dependencies: + "@types/strip-bom" "^3.0.0" + "@types/strip-json-comments" "0.0.30" + strip-bom "^3.0.0" + strip-json-comments "^2.0.0" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^3.9.3: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +v8-to-istanbul@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz#0aeb763894f1a0a1676adf8a8b7612a38902446c" + integrity sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +v8flags@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== + dependencies: + homedir-polyfill "^1.0.1" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +which@^1.2.14: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.6: + version "7.5.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" + integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@20.x, yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From 577e63708bcdc2d31f8f7c1bb3020dd80d3fc173 Mon Sep 17 00:00:00 2001 From: vinnivso Date: Tue, 9 Nov 2021 17:55:44 -0300 Subject: [PATCH 08/10] Feat: Ex - DONE --- .../exercicio/jest.config.js" | 8 + .../exercicio/package.json" | 20 + .../exercicio/src/entities/Character.ts" | 6 + .../exercicio/src/performAttack.ts" | 10 + .../exercicio/src/validateCharacter.ts" | 9 + .../exercicio/tests/performAttack.test.ts" | 61 + .../tests/validateCharacter.test.ts" | 24 + .../exercicio/tsconfig.json" | 11 + .../exercicio/yarn.lock" | 2763 +++++++++++++++++ 9 files changed, 2912 insertions(+) create mode 100644 "semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/jest.config.js" create mode 100644 "semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/package.json" create mode 100644 "semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/entities/Character.ts" create mode 100644 "semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/performAttack.ts" create mode 100644 "semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/validateCharacter.ts" create mode 100644 "semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tests/performAttack.test.ts" create mode 100644 "semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tests/validateCharacter.test.ts" create mode 100644 "semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tsconfig.json" create mode 100644 "semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/yarn.lock" diff --git "a/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/jest.config.js" "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/jest.config.js" new file mode 100644 index 0000000..d944f04 --- /dev/null +++ "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/jest.config.js" @@ -0,0 +1,8 @@ +module.exports = { + roots: ["/tests"], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], +}; diff --git "a/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/package.json" "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/package.json" new file mode 100644 index 0000000..69db83a --- /dev/null +++ "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/package.json" @@ -0,0 +1,20 @@ +{ + "name": "jest-template", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "clear && jest", + "dev-start": "tsnd --transpile-only --ignore-watch node_modules ./src/index.ts" + }, + "dependencies": { + "jest": "^27.0.4" + }, + "devDependencies": { + "@types/jest": "^26.0.23", + "ts-node-dev": "^1.1.6", + "@types/node": "^15.12.4", + "ts-jest": "^27.0.3", + "typescript": "^4.3.4" + } +} diff --git "a/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/entities/Character.ts" "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/entities/Character.ts" new file mode 100644 index 0000000..adfe683 --- /dev/null +++ "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/entities/Character.ts" @@ -0,0 +1,6 @@ +export interface Character { + name: string, + life: number, + strength: number, + defense: number +} \ No newline at end of file diff --git "a/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/performAttack.ts" "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/performAttack.ts" new file mode 100644 index 0000000..bbfcf9f --- /dev/null +++ "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/performAttack.ts" @@ -0,0 +1,10 @@ +import { Character } from "./entities/Character" + +//Estou utilizando i = para abreviar input, padrão i/o +export default function performAttack(attacker: Character, defender: Character, validator:(i:Character) => boolean) { + if (!validator(attacker) || !validator(defender)) + throw new Error(`Invalid character`) + + if (attacker.strength > defender.defense) + defender.life -= attacker.strength - defender.defense +} \ No newline at end of file diff --git "a/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/validateCharacter.ts" "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/validateCharacter.ts" new file mode 100644 index 0000000..ce200bb --- /dev/null +++ "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/src/validateCharacter.ts" @@ -0,0 +1,9 @@ +import { Character } from "./entities/Character" + +//Estou utilizando i = para abreviar input, padrão i/o +export default function validateCharacter(i:Character):boolean { + if (!i.name || i.life === undefined || i.strength === undefined || i.defense === undefined) return false //Nesse caso, como estou trabalhando com boolean, se eu retirar o return na minha sentença, o código vai quebrar. + if (i.life <= 0|| i.strength <= 0|| i.defense <= 0) return false //Nesse caso, como estou trabalhando com boolean, se eu retirar o return na minha sentença, o código vai quebrar. + + return true +} \ No newline at end of file diff --git "a/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tests/performAttack.test.ts" "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tests/performAttack.test.ts" new file mode 100644 index 0000000..2ea596a --- /dev/null +++ "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tests/performAttack.test.ts" @@ -0,0 +1,61 @@ +import { Character } from "../src/entities/Character"; +import performAttack from "../src/performAttack"; + +describe('ANÁLISE DE MOCKS', () => { + test("Should perform attack", () => { + const validatorMock = jest.fn(() => { + return true; + }); + + const attacker: Character = { + name: "Scorpion", + life: 1500, + defense: 200, + strength: 600, + }; + + const defender: Character = { + name: "Kitana", + life: 1500, + defense: 400, + strength: 800, + }; + + performAttack(attacker, defender, validatorMock as any); + + expect(defender.life).toEqual(1300); + expect(validatorMock).toHaveBeenCalled(); + expect(validatorMock).toHaveBeenCalledTimes(2); + expect(validatorMock).toHaveReturnedTimes(2); + }); + + test("Should return invalid character error", () => { + expect.assertions(4); + const validatorMock = jest.fn(() => { + return false; + }); + + const attacker: Character = { + name: "", + life: 1500, + defense: 200, + strength: 600, + }; + + const defender: Character = { + name: "Kitana", + life: 1500, + defense: 400, + strength: 800, + }; + + try { + performAttack(attacker, defender, validatorMock as any); + } catch (error:any) { + expect(error.message).toBe("Invalid character"); + expect(validatorMock).toHaveBeenCalled(); + expect(validatorMock).toHaveBeenCalledTimes(1); + expect(validatorMock).toHaveReturnedTimes(1); + } + }); +}) \ No newline at end of file diff --git "a/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tests/validateCharacter.test.ts" "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tests/validateCharacter.test.ts" new file mode 100644 index 0000000..aafce40 --- /dev/null +++ "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tests/validateCharacter.test.ts" @@ -0,0 +1,24 @@ +import validateCharacter from '../src/validateCharacter' + +describe('Teste Unitário da f(x) validateCharacter', () => { + test('Name: String Vazia', () => { + expect(validateCharacter({name:'', life: 1500, strength: 1000, defense: 1000})).toBe(false) + }) + test('Life: ZERO', () => { + expect(validateCharacter({name:'Manito', life: 0, strength: 1000, defense: 1000})).toBe(false) + }) + test('Strength: ZERO', () => { + expect(validateCharacter({name:'Manito', life: 1500, strength: 0, defense: 1000})).toBe(false) + }) + test('Defense: ZERO', () => { + expect(validateCharacter({name:'Manito', life: 1500, strength: 1000, defense: 0})).toBe(false) + }) + test('Life: NEGATIVE, Strength: NEGATIVE, Defense: NEGATIVE', () => { + expect(validateCharacter({name:'Manito', life: -1500, strength: 1000, defense: 1000})).toBe(false) + expect(validateCharacter({name:'Manito', life: 1500, strength: -1000, defense: 1000})).toBe(false) + expect(validateCharacter({name:'Manito', life: 1500, strength: 1000, defense: -1000})).toBe(false) + }) + test('Character Validated', () => { + expect(validateCharacter({name:'Manito', life: 1500, strength: 1000, defense: 1000})).toBe(true) + }) +}) \ No newline at end of file diff --git "a/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tsconfig.json" "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tsconfig.json" new file mode 100644 index 0000000..d9d3727 --- /dev/null +++ "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/tsconfig.json" @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "outDir": "./build", + "rootDir": "./", + "strict": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true + } +} \ No newline at end of file diff --git "a/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/yarn.lock" "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/yarn.lock" new file mode 100644 index 0000000..dc9db82 --- /dev/null +++ "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/yarn.lock" @@ -0,0 +1,2763 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" + integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== + dependencies: + "@babel/highlight" "^7.16.0" + +"@babel/compat-data@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.0.tgz#ea269d7f78deb3a7826c39a4048eecda541ebdaa" + integrity sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew== + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" + integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helpers" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.16.0", "@babel/generator@^7.7.2": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" + integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== + dependencies: + "@babel/types" "^7.16.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-compilation-targets@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz#01d615762e796c17952c29e3ede9d6de07d235a8" + integrity sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg== + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" + semver "^6.3.0" + +"@babel/helper-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" + integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== + dependencies: + "@babel/helper-get-function-arity" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-get-function-arity@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" + integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-hoist-variables@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" + integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-member-expression-to-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" + integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-imports@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" + integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-transforms@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" + integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-optimise-call-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" + integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + +"@babel/helper-replace-supers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" + integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-simple-access@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" + integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-split-export-declaration@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" + integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + +"@babel/helpers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.0.tgz#875519c979c232f41adfbd43a3b0398c2e388183" + integrity sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ== + dependencies: + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/highlight@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" + integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.7.2": + version "7.16.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.2.tgz#3723cd5c8d8773eef96ce57ea1d9b7faaccd12ac" + integrity sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz#2feeb13d9334cc582ea9111d3506f773174179bb" + integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/template@^7.16.0", "@babel/template@^7.3.3": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" + integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.7.2": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.0.tgz#965df6c6bfc0a958c1e739284d3c9fa4a6e3c45b" + integrity sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" + integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.3.1.tgz#e8ea3a475d3f8162f23d69efbfaa9cbe486bee93" + integrity sha512-RkFNWmv0iui+qsOr/29q9dyfKTTT5DCuP31kUwg7rmOKPT/ozLeGLKJKVIiOfbiKyleUZKIrHwhmiZWVe8IMdw== + dependencies: + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^27.3.1" + jest-util "^27.3.1" + slash "^3.0.0" + +"@jest/core@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.3.1.tgz#04992ef1b58b17c459afb87ab56d81e63d386925" + integrity sha512-DMNE90RR5QKx0EA+wqe3/TNEwiRpOkhshKNxtLxd4rt3IZpCt+RSL+FoJsGeblRZmqdK4upHA/mKKGPPRAifhg== + dependencies: + "@jest/console" "^27.3.1" + "@jest/reporters" "^27.3.1" + "@jest/test-result" "^27.3.1" + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.8.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^27.3.0" + jest-config "^27.3.1" + jest-haste-map "^27.3.1" + jest-message-util "^27.3.1" + jest-regex-util "^27.0.6" + jest-resolve "^27.3.1" + jest-resolve-dependencies "^27.3.1" + jest-runner "^27.3.1" + jest-runtime "^27.3.1" + jest-snapshot "^27.3.1" + jest-util "^27.3.1" + jest-validate "^27.3.1" + jest-watcher "^27.3.1" + micromatch "^4.0.4" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.3.1.tgz#2182defbce8d385fd51c5e7c7050f510bd4c86b1" + integrity sha512-BCKCj4mOVLme6Tanoyc9k0ultp3pnmuyHw73UHRPeeZxirsU/7E3HC4le/VDb/SMzE1JcPnto+XBKFOcoiJzVw== + dependencies: + "@jest/fake-timers" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + jest-mock "^27.3.0" + +"@jest/fake-timers@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.3.1.tgz#1fad860ee9b13034762cdb94266e95609dfce641" + integrity sha512-M3ZFgwwlqJtWZ+QkBG5NmC23A9w+A6ZxNsO5nJxJsKYt4yguBd3i8TpjQz5NfCX91nEve1KqD9RA2Q+Q1uWqoA== + dependencies: + "@jest/types" "^27.2.5" + "@sinonjs/fake-timers" "^8.0.1" + "@types/node" "*" + jest-message-util "^27.3.1" + jest-mock "^27.3.0" + jest-util "^27.3.1" + +"@jest/globals@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.3.1.tgz#ce1dfb03d379237a9da6c1b99ecfaca1922a5f9e" + integrity sha512-Q651FWiWQAIFiN+zS51xqhdZ8g9b88nGCobC87argAxA7nMfNQq0Q0i9zTfQYgLa6qFXk2cGANEqfK051CZ8Pg== + dependencies: + "@jest/environment" "^27.3.1" + "@jest/types" "^27.2.5" + expect "^27.3.1" + +"@jest/reporters@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.3.1.tgz#28b5c1f5789481e23788048fa822ed15486430b9" + integrity sha512-m2YxPmL9Qn1emFVgZGEiMwDntDxRRQ2D58tiDQlwYTg5GvbFOKseYCcHtn0WsI8CG4vzPglo3nqbOiT8ySBT/w== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^27.3.1" + "@jest/test-result" "^27.3.1" + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^27.3.1" + jest-resolve "^27.3.1" + jest-util "^27.3.1" + jest-worker "^27.3.1" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^8.1.0" + +"@jest/source-map@^27.0.6": + version "27.0.6" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz#be9e9b93565d49b0548b86e232092491fb60551f" + integrity sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.3.1.tgz#89adee8b771877c69b3b8d59f52f29dccc300194" + integrity sha512-mLn6Thm+w2yl0opM8J/QnPTqrfS4FoXsXF2WIWJb2O/GBSyResL71BRuMYbYRsGt7ELwS5JGcEcGb52BNrumgg== + dependencies: + "@jest/console" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.3.1.tgz#4b3bde2dbb05ee74afdae608cf0768e3354683b1" + integrity sha512-siySLo07IMEdSjA4fqEnxfIX8lB/lWYsBPwNFtkOvsFQvmBrL3yj3k3uFNZv/JDyApTakRpxbKLJ3CT8UGVCrA== + dependencies: + "@jest/test-result" "^27.3.1" + graceful-fs "^4.2.4" + jest-haste-map "^27.3.1" + jest-runtime "^27.3.1" + +"@jest/transform@^27.3.1": + version "27.3.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.3.1.tgz#ff80eafbeabe811e9025e4b6f452126718455220" + integrity sha512-3fSvQ02kuvjOI1C1ssqMVBKJpZf6nwoCiSu00zAKh5nrp3SptNtZy/8s5deayHnqxhjD9CWDJ+yqQwuQ0ZafXQ== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.2.5" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^27.3.1" + jest-regex-util "^27.0.6" + jest-util "^27.3.1" + micromatch "^4.0.4" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@jest/types@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" + integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" + integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": + version "7.1.16" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" + integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" + integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^26.0.23": + version "26.0.24" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" + integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + +"@types/node@*": + version "16.11.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42" + integrity sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw== + +"@types/node@^15.12.4": + version "15.14.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.14.9.tgz#bc43c990c3c9be7281868bbc7b8fdd6e2b57adfa" + integrity sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A== + +"@types/prettier@^2.1.5": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.1.tgz#e1303048d5389563e130f5bdd89d37a99acb75eb" + integrity sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/strip-bom@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" + integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= + +"@types/strip-json-comments@0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" + integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== + +"@types/yargs-parser@*": + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + +"@types/yargs@^15.0.0": + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^16.0.0": + version "16.0.4" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" + integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== + dependencies: + "@types/yargs-parser" "*" + +abab@^2.0.3, abab@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.5.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +babel-jest@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.3.1.tgz#0636a3404c68e07001e434ac4956d82da8a80022" + integrity sha512-SjIF8hh/ir0peae2D6S6ZKRhUy7q/DnpH7k/V6fT4Bgs/LXXUztOpX4G2tCgq8mLo5HA9mN6NmlFMeYtKmIsTQ== + dependencies: + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^27.2.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^27.2.0: + version "27.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.2.0.tgz#79f37d43f7e5c4fdc4b2ca3e10cc6cf545626277" + integrity sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^27.2.0: + version "27.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.2.0.tgz#556bbbf340608fed5670ab0ea0c8ef2449fba885" + integrity sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg== + dependencies: + babel-plugin-jest-hoist "^27.2.0" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.16.6: + version "4.17.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.6.tgz#c76be33e7786b497f66cad25a73756c8b938985d" + integrity sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw== + dependencies: + caniuse-lite "^1.0.30001274" + electron-to-chromium "^1.3.886" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-lite@^1.0.30001274: + version "1.0.30001279" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001279.tgz#eb06818da481ef5096a3b3760f43e5382ed6b0ce" + integrity sha512-VfEHpzHEXj6/CxggTwSFoZBBYGQfQv9Cf42KPlO79sWXCD1QNKWKsKzFeWL7QpZHJQYAvocqV6Rty1yJMkqWLQ== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +ci-info@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" + integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== + +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@4, debug@^4.1.0, debug@^4.1.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +diff-sequences@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" + integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +dynamic-dedupe@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz#06e44c223f5e4e94d78ef9db23a6515ce2f962a1" + integrity sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE= + dependencies: + xtend "^4.0.0" + +electron-to-chromium@^1.3.886: + version "1.3.892" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.892.tgz#0e3f5bb1de577e2e5a6dffd5a4b278c4a735cd39" + integrity sha512-YDW4yIjdfMnbRoBjRZ/aNQYmT6JgQFLwmTSDRJMQdrY4MByEzppdXp3rnJ0g4LBWcsYTUvwKKClYN1ofZ0COOQ== + +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expect@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.3.1.tgz#d0f170b1f5c8a2009bab0beffd4bb94f043e38e7" + integrity sha512-MrNXV2sL9iDRebWPGOGFdPQRl2eDQNu/uhxIMShjjx74T6kC6jFIkmQ6OqXDtevjGUkyB2IT56RzDBqXf/QPCg== + dependencies: + "@jest/types" "^27.2.5" + ansi-styles "^5.0.0" + jest-get-type "^27.3.1" + jest-matcher-utils "^27.3.1" + jest-message-util "^27.3.1" + jest-regex-util "^27.0.6" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +graceful-fs@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +import-local@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" + integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.2.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.5.tgz#a2580107e71279ea6d661ddede929ffc6d693384" + integrity sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.3.0.tgz#22a02cc2b34583fc66e443171dc271c0529d263c" + integrity sha512-9DJs9garMHv4RhylUMZgbdCJ3+jHSkpL9aaVKp13xtXAD80qLTLrqcDZL1PHA9dYA0bCI86Nv2BhkLpLhrBcPg== + dependencies: + "@jest/types" "^27.2.5" + execa "^5.0.0" + throat "^6.0.1" + +jest-circus@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.3.1.tgz#1679e74387cbbf0c6a8b42de963250a6469e0797" + integrity sha512-v1dsM9II6gvXokgqq6Yh2jHCpfg7ZqV4jWY66u7npz24JnhP3NHxI0sKT7+ZMQ7IrOWHYAaeEllOySbDbWsiXw== + dependencies: + "@jest/environment" "^27.3.1" + "@jest/test-result" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^27.3.1" + is-generator-fn "^2.0.0" + jest-each "^27.3.1" + jest-matcher-utils "^27.3.1" + jest-message-util "^27.3.1" + jest-runtime "^27.3.1" + jest-snapshot "^27.3.1" + jest-util "^27.3.1" + pretty-format "^27.3.1" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" + +jest-cli@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.3.1.tgz#b576f9d146ba6643ce0a162d782b40152b6b1d16" + integrity sha512-WHnCqpfK+6EvT62me6WVs8NhtbjAS4/6vZJnk7/2+oOr50cwAzG4Wxt6RXX0hu6m1169ZGMlhYYUNeKBXCph/Q== + dependencies: + "@jest/core" "^27.3.1" + "@jest/test-result" "^27.3.1" + "@jest/types" "^27.2.5" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + jest-config "^27.3.1" + jest-util "^27.3.1" + jest-validate "^27.3.1" + prompts "^2.0.1" + yargs "^16.2.0" + +jest-config@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.3.1.tgz#cb3b7f6aaa8c0a7daad4f2b9573899ca7e09bbad" + integrity sha512-KY8xOIbIACZ/vdYCKSopL44I0xboxC751IX+DXL2+Wx6DKNycyEfV3rryC3BPm5Uq/BBqDoMrKuqLEUNJmMKKg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^27.3.1" + "@jest/types" "^27.2.5" + babel-jest "^27.3.1" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-circus "^27.3.1" + jest-environment-jsdom "^27.3.1" + jest-environment-node "^27.3.1" + jest-get-type "^27.3.1" + jest-jasmine2 "^27.3.1" + jest-regex-util "^27.0.6" + jest-resolve "^27.3.1" + jest-runner "^27.3.1" + jest-util "^27.3.1" + jest-validate "^27.3.1" + micromatch "^4.0.4" + pretty-format "^27.3.1" + +jest-diff@^26.0.0: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-diff@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.3.1.tgz#d2775fea15411f5f5aeda2a5e02c2f36440f6d55" + integrity sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.0.6" + jest-get-type "^27.3.1" + pretty-format "^27.3.1" + +jest-docblock@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz#cc78266acf7fe693ca462cbbda0ea4e639e4e5f3" + integrity sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA== + dependencies: + detect-newline "^3.0.0" + +jest-each@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.3.1.tgz#14c56bb4f18dd18dc6bdd853919b5f16a17761ff" + integrity sha512-E4SwfzKJWYcvOYCjOxhZcxwL+AY0uFMvdCOwvzgutJiaiodFjkxQQDxHm8FQBeTqDnSmKsQWn7ldMRzTn2zJaQ== + dependencies: + "@jest/types" "^27.2.5" + chalk "^4.0.0" + jest-get-type "^27.3.1" + jest-util "^27.3.1" + pretty-format "^27.3.1" + +jest-environment-jsdom@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.3.1.tgz#63ac36d68f7a9303494df783494856222b57f73e" + integrity sha512-3MOy8qMzIkQlfb3W1TfrD7uZHj+xx8Olix5vMENkj5djPmRqndMaXtpnaZkxmxM+Qc3lo+yVzJjzuXbCcZjAlg== + dependencies: + "@jest/environment" "^27.3.1" + "@jest/fake-timers" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + jest-mock "^27.3.0" + jest-util "^27.3.1" + jsdom "^16.6.0" + +jest-environment-node@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.3.1.tgz#af7d0eed04edafb740311b303f3fe7c8c27014bb" + integrity sha512-T89F/FgkE8waqrTSA7/ydMkcc52uYPgZZ6q8OaZgyiZkJb5QNNCF6oPZjH9IfPFfcc9uBWh1574N0kY0pSvTXw== + dependencies: + "@jest/environment" "^27.3.1" + "@jest/fake-timers" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + jest-mock "^27.3.0" + jest-util "^27.3.1" + +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-get-type@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.3.1.tgz#a8a2b0a12b50169773099eee60a0e6dd11423eff" + integrity sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg== + +jest-haste-map@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.3.1.tgz#7656fbd64bf48bda904e759fc9d93e2c807353ee" + integrity sha512-lYfNZIzwPccDJZIyk9Iz5iQMM/MH56NIIcGj7AFU1YyA4ewWFBl8z+YPJuSCRML/ee2cCt2y3W4K3VXPT6Nhzg== + dependencies: + "@jest/types" "^27.2.5" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^27.0.6" + jest-serializer "^27.0.6" + jest-util "^27.3.1" + jest-worker "^27.3.1" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +jest-jasmine2@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.3.1.tgz#df6d3d07c7dafc344feb43a0072a6f09458d32b0" + integrity sha512-WK11ZUetDQaC09w4/j7o4FZDUIp+4iYWH/Lik34Pv7ukL+DuXFGdnmmi7dT58J2ZYKFB5r13GyE0z3NPeyJmsg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^27.3.1" + "@jest/source-map" "^27.0.6" + "@jest/test-result" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^27.3.1" + is-generator-fn "^2.0.0" + jest-each "^27.3.1" + jest-matcher-utils "^27.3.1" + jest-message-util "^27.3.1" + jest-runtime "^27.3.1" + jest-snapshot "^27.3.1" + jest-util "^27.3.1" + pretty-format "^27.3.1" + throat "^6.0.1" + +jest-leak-detector@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.3.1.tgz#7fb632c2992ef707a1e73286e1e704f9cc1772b2" + integrity sha512-78QstU9tXbaHzwlRlKmTpjP9k4Pvre5l0r8Spo4SbFFVy/4Abg9I6ZjHwjg2QyKEAMg020XcjP+UgLZIY50yEg== + dependencies: + jest-get-type "^27.3.1" + pretty-format "^27.3.1" + +jest-matcher-utils@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.3.1.tgz#257ad61e54a6d4044e080d85dbdc4a08811e9c1c" + integrity sha512-hX8N7zXS4k+8bC1Aj0OWpGb7D3gIXxYvPNK1inP5xvE4ztbz3rc4AkI6jGVaerepBnfWB17FL5lWFJT3s7qo8w== + dependencies: + chalk "^4.0.0" + jest-diff "^27.3.1" + jest-get-type "^27.3.1" + pretty-format "^27.3.1" + +jest-message-util@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.3.1.tgz#f7c25688ad3410ab10bcb862bcfe3152345c6436" + integrity sha512-bh3JEmxsTZ/9rTm0jQrPElbY2+y48Rw2t47uMfByNyUVR+OfPh4anuyKsGqsNkXk/TI4JbLRZx+7p7Hdt6q1yg== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.2.5" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.4" + pretty-format "^27.3.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^27.3.0: + version "27.3.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.3.0.tgz#ddf0ec3cc3e68c8ccd489bef4d1f525571a1b867" + integrity sha512-ziZiLk0elZOQjD08bLkegBzv5hCABu/c8Ytx45nJKkysQwGaonvmTxwjLqEA4qGdasq9o2I8/HtdGMNnVsMTGw== + dependencies: + "@jest/types" "^27.2.5" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" + integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== + +jest-resolve-dependencies@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.3.1.tgz#85b99bdbdfa46e2c81c6228fc4c91076f624f6e2" + integrity sha512-X7iLzY8pCiYOnvYo2YrK3P9oSE8/3N2f4pUZMJ8IUcZnT81vlSonya1KTO9ZfKGuC+svE6FHK/XOb8SsoRUV1A== + dependencies: + "@jest/types" "^27.2.5" + jest-regex-util "^27.0.6" + jest-snapshot "^27.3.1" + +jest-resolve@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.3.1.tgz#0e5542172a1aa0270be6f66a65888647bdd74a3e" + integrity sha512-Dfzt25CFSPo3Y3GCbxynRBZzxq9AdyNN+x/v2IqYx6KVT5Z6me2Z/PsSGFSv3cOSUZqJ9pHxilao/I/m9FouLw== + dependencies: + "@jest/types" "^27.2.5" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^27.3.1" + jest-pnp-resolver "^1.2.2" + jest-util "^27.3.1" + jest-validate "^27.3.1" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.3.1.tgz#1d594dcbf3bd8600a7e839e790384559eaf96e3e" + integrity sha512-r4W6kBn6sPr3TBwQNmqE94mPlYVn7fLBseeJfo4E2uCTmAyDFm2O5DYAQAFP7Q3YfiA/bMwg8TVsciP7k0xOww== + dependencies: + "@jest/console" "^27.3.1" + "@jest/environment" "^27.3.1" + "@jest/test-result" "^27.3.1" + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.8.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-docblock "^27.0.6" + jest-environment-jsdom "^27.3.1" + jest-environment-node "^27.3.1" + jest-haste-map "^27.3.1" + jest-leak-detector "^27.3.1" + jest-message-util "^27.3.1" + jest-resolve "^27.3.1" + jest-runtime "^27.3.1" + jest-util "^27.3.1" + jest-worker "^27.3.1" + source-map-support "^0.5.6" + throat "^6.0.1" + +jest-runtime@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.3.1.tgz#80fa32eb85fe5af575865ddf379874777ee993d7" + integrity sha512-qtO6VxPbS8umqhEDpjA4pqTkKQ1Hy4ZSi9mDVeE9Za7LKBo2LdW2jmT+Iod3XFaJqINikZQsn2wEi0j9wPRbLg== + dependencies: + "@jest/console" "^27.3.1" + "@jest/environment" "^27.3.1" + "@jest/globals" "^27.3.1" + "@jest/source-map" "^27.0.6" + "@jest/test-result" "^27.3.1" + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-haste-map "^27.3.1" + jest-message-util "^27.3.1" + jest-mock "^27.3.0" + jest-regex-util "^27.0.6" + jest-resolve "^27.3.1" + jest-snapshot "^27.3.1" + jest-util "^27.3.1" + jest-validate "^27.3.1" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^16.2.0" + +jest-serializer@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1" + integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.3.1.tgz#1da5c0712a252d70917d46c037054f5918c49ee4" + integrity sha512-APZyBvSgQgOT0XumwfFu7X3G5elj6TGhCBLbBdn3R1IzYustPGPE38F51dBWMQ8hRXa9je0vAdeVDtqHLvB6lg== + dependencies: + "@babel/core" "^7.7.2" + "@babel/generator" "^7.7.2" + "@babel/parser" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.0.0" + "@jest/transform" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^27.3.1" + graceful-fs "^4.2.4" + jest-diff "^27.3.1" + jest-get-type "^27.3.1" + jest-haste-map "^27.3.1" + jest-matcher-utils "^27.3.1" + jest-message-util "^27.3.1" + jest-resolve "^27.3.1" + jest-util "^27.3.1" + natural-compare "^1.4.0" + pretty-format "^27.3.1" + semver "^7.3.2" + +jest-util@^27.0.0, jest-util@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.3.1.tgz#a58cdc7b6c8a560caac9ed6bdfc4e4ff23f80429" + integrity sha512-8fg+ifEH3GDryLQf/eKZck1DEs2YuVPBCMOaHQxVVLmQwl/CDhWzrvChTX4efLZxGrw+AA0mSXv78cyytBt/uw== + dependencies: + "@jest/types" "^27.2.5" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.4" + picomatch "^2.2.3" + +jest-validate@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.3.1.tgz#3a395d61a19cd13ae9054af8cdaf299116ef8a24" + integrity sha512-3H0XCHDFLA9uDII67Bwi1Vy7AqwA5HqEEjyy934lgVhtJ3eisw6ShOF1MDmRPspyikef5MyExvIm0/TuLzZ86Q== + dependencies: + "@jest/types" "^27.2.5" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^27.3.1" + leven "^3.1.0" + pretty-format "^27.3.1" + +jest-watcher@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.3.1.tgz#ba5e0bc6aa843612b54ddb7f009d1cbff7e05f3e" + integrity sha512-9/xbV6chABsGHWh9yPaAGYVVKurWoP3ZMCv6h+O1v9/+pkOroigs6WzZ0e9gLP/njokUwM7yQhr01LKJVMkaZA== + dependencies: + "@jest/test-result" "^27.3.1" + "@jest/types" "^27.2.5" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^27.3.1" + string-length "^4.0.1" + +jest-worker@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" + integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^27.0.4: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.3.1.tgz#b5bab64e8f56b6f7e275ba1836898b0d9f1e5c8a" + integrity sha512-U2AX0AgQGd5EzMsiZpYt8HyZ+nSVIh5ujQ9CPp9EQZJMjXIiSZpJNweZl0swatKRoqHWgGKM3zaSwm4Zaz87ng== + dependencies: + "@jest/core" "^27.3.1" + import-local "^3.0.2" + jest-cli "^27.3.1" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsdom@^16.6.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json5@2.x, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.memoize@4.x: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@1.x, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + +mime-types@^2.1.12: + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +pretty-format@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.3.1.tgz#7e9486365ccdd4a502061fa761d3ab9ca1b78df5" + integrity sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA== + dependencies: + "@jest/types" "^27.2.5" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + +resolve@^1.0.0, resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +rimraf@^2.6.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver@7.x, semver@^7.3.2: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.5" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" + integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map-support@^0.5.12, source-map-support@^0.5.17, source-map-support@^0.5.6: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.5.0: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +stack-utils@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +throat@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" + integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +ts-jest@^27.0.3: + version "27.0.7" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.0.7.tgz#fb7c8c8cb5526ab371bc1b23d06e745652cca2d0" + integrity sha512-O41shibMqzdafpuP+CkrOL7ykbmLh+FqQrXEmV9CydQ5JBk0Sj0uAEF5TNNe94fZWKm3yYvWa/IbyV4Yg1zK2Q== + dependencies: + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^27.0.0" + json5 "2.x" + lodash.memoize "4.x" + make-error "1.x" + semver "7.x" + yargs-parser "20.x" + +ts-node-dev@^1.1.6: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.1.8.tgz#95520d8ab9d45fffa854d6668e2f8f9286241066" + integrity sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg== + dependencies: + chokidar "^3.5.1" + dynamic-dedupe "^0.3.0" + minimist "^1.2.5" + mkdirp "^1.0.4" + resolve "^1.0.0" + rimraf "^2.6.1" + source-map-support "^0.5.12" + tree-kill "^1.2.2" + ts-node "^9.0.0" + tsconfig "^7.0.0" + +ts-node@^9.0.0: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tsconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" + integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== + dependencies: + "@types/strip-bom" "^3.0.0" + "@types/strip-json-comments" "0.0.30" + strip-bom "^3.0.0" + strip-json-comments "^2.0.0" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.3.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +v8-to-istanbul@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz#0aeb763894f1a0a1676adf8a8b7612a38902446c" + integrity sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.6: + version "7.5.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" + integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@20.x, yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From 6afc03576367e7053c0a3874c921d3219a4419b1 Mon Sep 17 00:00:00 2001 From: vinnivso Date: Tue, 9 Nov 2021 17:56:39 -0300 Subject: [PATCH 09/10] Feat: Ex - DONE + gitignore --- .../aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/.gitignore" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/.gitignore" diff --git "a/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/.gitignore" "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/.gitignore" new file mode 100644 index 0000000..b512c09 --- /dev/null +++ "b/semana22/aula63-Testes_Unit\303\241rios_E_Mocks/exercicio/.gitignore" @@ -0,0 +1 @@ +node_modules \ No newline at end of file From 8b0e5bef3a0545ca7019f109e71d8d5be39db5e5 Mon Sep 17 00:00:00 2001 From: vinnivso Date: Tue, 16 Nov 2021 19:07:53 -0300 Subject: [PATCH 10/10] Feat: Endpoints and tests --- .../aula64/lovelace-testes-backend/.DS_Store | Bin 0 -> 6148 bytes .../aula64/lovelace-testes-backend/.gitignore | 6 + .../lovelace-testes-backend/jest.config.js | 8 + .../lovelace-testes-backend/package.json | 33 + .../lovelace-testes-backend/src/.DS_Store | Bin 0 -> 6148 bytes .../src/business/UserBusiness.ts | 98 + .../src/controller/UserController.ts | 29 + .../src/data/BaseDatabase.ts | 23 + .../src/data/UserDatabase.ts | 74 + .../src/errors/CustomError.ts | 8 + .../lovelace-testes-backend/src/index.ts | 18 + .../lovelace-testes-backend/src/model/User.ts | 47 + .../src/router/UserRouter.ts | 7 + .../src/services/hashGenerator.ts | 16 + .../src/services/idGenerator.ts | 9 + .../src/services/tokenGenerator.ts | 35 + .../lovelace-testes-backend/tests/.DS_Store | Bin 0 -> 6148 bytes .../tests/UserBusiness.test.ts | 109 + .../tests/mocks/hashGeneratorMock.ts | 11 + .../tests/mocks/idGeneratorMock.ts | 5 + .../tests/mocks/tokenGeneratorMock.ts | 15 + .../tests/mocks/userDatabaseMock.ts | 35 + .../tests/mocks/userMock.ts | 17 + .../lovelace-testes-backend/tsconfig.json | 15 + .../aula64/lovelace-testes-backend/yarn.lock | 4545 +++++++++++++++++ 25 files changed, 5163 insertions(+) create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/.DS_Store create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/.gitignore create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/jest.config.js create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/package.json create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/.DS_Store create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/business/UserBusiness.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/controller/UserController.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/data/BaseDatabase.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/data/UserDatabase.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/errors/CustomError.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/index.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/model/User.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/router/UserRouter.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/hashGenerator.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/idGenerator.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/tokenGenerator.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/.DS_Store create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/UserBusiness.test.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/hashGeneratorMock.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/idGeneratorMock.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/tokenGeneratorMock.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/userDatabaseMock.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/userMock.ts create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tsconfig.json create mode 100644 semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/yarn.lock diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/.DS_Store b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..59e1207c76a04d4b8ff79eeb40e856bb9a265078 GIT binary patch literal 6148 zcmeHKyJ`bL3>+nf7}B_OxnB^-A1ucCg8V>;FP-5Elhjw`yYgusJqR&pSH?{kfi$~1 z%`H2{=>)(wpTje-0%+M^U#H3n{7?yPATh;Z#DKY7=8a}K}wwh2ZPUrhul*4+Wq7;w/tests"], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], +}; \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/package.json b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/package.json new file mode 100644 index 0000000..39dc730 --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/package.json @@ -0,0 +1,33 @@ +{ + "name": "testes-no-backend", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "clear && echo \"Running tests...\" && jest", + "start": "tsc && node --inspect ./build/src/index.js", + "dev": " ts-node-dev ./src/index.ts" + }, + "author": "Labenu", + "dependencies": { + "bcryptjs": "^2.4.3", + "dotenv": "^8.2.0", + "express": "^4.17.1", + "jsonwebtoken": "^8.5.1", + "knex": "^0.21.1", + "mysql": "^2.18.1", + "uuid": "^8.0.0" + }, + "devDependencies": { + "jest": "^26.0.1", + "ts-jest": "^26.1.0", + "typescript": "3.9.2", + "ts-node-dev": "^1.0.0-pre.44", + "@types/bcryptjs": "^2.4.2", + "@types/express": "^4.17.6", + "@types/jest": "^25.2.3", + "@types/jsonwebtoken": "^8.5.0", + "@types/knex": "^0.16.1", + "@types/uuid": "^7.0.3" + } +} diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/.DS_Store b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 { + await BaseDataBase.connection.destroy(); + } +} diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/data/UserDatabase.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/data/UserDatabase.ts new file mode 100644 index 0000000..fd2924c --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/data/UserDatabase.ts @@ -0,0 +1,74 @@ +import BaseDataBase from "./BaseDatabase"; +import { User } from "../model/User"; + +export class UserDatabase extends BaseDataBase { + + protected tableName: string = "INSIRA AQUI O NOME DA SUA TABELA DE USUÁRIOS"; + + private toModel(dbModel?: any): User | undefined { + return ( + dbModel && + new User( + dbModel.id, + dbModel.name, + dbModel.email, + dbModel.password, + dbModel.role + ) + ); + } + + public async createUser(user: User): Promise { + try { + await BaseDataBase.connection.raw(` + INSERT INTO ${this.tableName} (id, name, email, password, role) + VALUES ( + '${user.getId()}', + '${user.getName()}', + '${user.getEmail()}', + '${user.getPassword()}', + '${user.getRole()}' + )` + ); + } catch (error) { + throw new Error(error.sqlMessage || error.message) + } + } + + public async getUserByEmail(email: string): Promise { + try { + const result = await BaseDataBase.connection.raw(` + SELECT * from ${this.tableName} WHERE email = '${email}' + `); + return this.toModel(result[0][0]); + } catch (error) { + throw new Error(error.sqlMessage || error.message); + } + } + + public async getUserById(id: string): Promise { + try { + const result = await BaseDataBase.connection.raw(` + SELECT * from ${this.tableName} WHERE id = '${id}' + `); + return this.toModel(result[0][0]); + } catch (error) { + throw new Error(error.sqlMessage || error.message); + } + } + + public async getAllUsers(): Promise { + try { + const result = await BaseDataBase.connection.raw(` + SELECT * from ${this.tableName} + `); + return result[0].map((res: any) => { + return this.toModel(res); + }); + } catch (error) { + throw new Error(error.sqlMessage || error.message); + } + } +} + +export default new UserDatabase() \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/errors/CustomError.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/errors/CustomError.ts new file mode 100644 index 0000000..72f2bd3 --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/errors/CustomError.ts @@ -0,0 +1,8 @@ +export class CustomError extends Error { + constructor( + public statusCode: number, + message: string + ) { + super(message); + } +} diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/index.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/index.ts new file mode 100644 index 0000000..6d1e61c --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/index.ts @@ -0,0 +1,18 @@ +import express from "express"; +import {AddressInfo} from "net"; +import { userRouter } from "./router/UserRouter"; + +const app = express(); + +app.use(express.json()); + +app.use("/users", userRouter); + +const server = app.listen(3003, () => { + if (server) { + const address = server.address() as AddressInfo; + console.log(`Servidor rodando em http://localhost:${address.port}`); + } else { + console.error(`Falha ao rodar o servidor.`); + } +}); \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/model/User.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/model/User.ts new file mode 100644 index 0000000..8bacd8f --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/model/User.ts @@ -0,0 +1,47 @@ +import { CustomError } from "../errors/CustomError"; + +export class User { + constructor( + private id: string, + private name: string, + private email: string, + private password: string, + private role: USER_ROLES + ) { } + + public getId(): string { + return this.id; + } + + public getName(): string { + return this.name; + } + + public getEmail(): string { + return this.email; + } + + public getPassword(): string { + return this.password; + } + + public getRole(): USER_ROLES { + return this.role; + } +} + +export const stringToUserRole = (input: string): USER_ROLES => { + switch (input) { + case "NORMAL": + return USER_ROLES.NORMAL; + case "ADMIN": + return USER_ROLES.ADMIN; + default: + throw new CustomError(422, "Invalid user role"); + } +}; + +export enum USER_ROLES { + NORMAL = "NORMAL", + ADMIN = "ADMIN", +} diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/router/UserRouter.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/router/UserRouter.ts new file mode 100644 index 0000000..dce29f8 --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/router/UserRouter.ts @@ -0,0 +1,7 @@ +import express from "express"; +import userController from "../controller/UserController"; + +export const userRouter = express.Router(); + +userRouter.post("/signup", userController.signup); +userRouter.post("/login", userController.login); diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/hashGenerator.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/hashGenerator.ts new file mode 100644 index 0000000..fc4b513 --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/hashGenerator.ts @@ -0,0 +1,16 @@ +import bcrypt from "bcryptjs"; + +export class HashGenerator { + public hash = async (s: string): Promise => { + const rounds: number = Number(process.env.BCRYPT_COST) + const salt = await bcrypt.genSalt(rounds) + const result = await bcrypt.hash(s, salt) + return result + } + + public compareHash = async (s: string, hash: string): Promise => { + return bcrypt.compare(s, hash) + } +} + +export default new HashGenerator() \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/idGenerator.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/idGenerator.ts new file mode 100644 index 0000000..7424fae --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/idGenerator.ts @@ -0,0 +1,9 @@ +import { v4 } from "uuid"; + +export class IdGenerator { + public generate(): string { + return v4(); + } +} + +export default new IdGenerator() \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/tokenGenerator.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/tokenGenerator.ts new file mode 100644 index 0000000..1e71c0c --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/src/services/tokenGenerator.ts @@ -0,0 +1,35 @@ +import * as jwt from "jsonwebtoken"; +import dotenv from "dotenv"; + +dotenv.config(); + +export class TokenGenerator { + private static expiresIn: number = 1200; + + public generate = (input: AuthenticationData): string => { + const newToken = jwt.sign( + { + id: input.id, + role: input.role, + }, + process.env.JWT_KEY as string, + { + expiresIn: TokenGenerator.expiresIn, + } + ); + return newToken; + }; + + public verify(token: string) { + const payload = jwt.verify(token, process.env.JWT_KEY as string) as any; + const result = { id: payload.id, role: payload.role }; + return result; + } +} + +export interface AuthenticationData { + id: string; + role: string; +} + +export default new TokenGenerator() \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/.DS_Store b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 { + test("Deve retornar erro quando o nome está vazio", async () => { + expect.assertions(2) + try { + await userBusinessMock.signup("", "bruno@bruno.com", "123456", "normal") + } catch (error) { + expect(error.message).toEqual("Missing input") + expect(error.statusCode).toBe(422) + } + }) + + test("Deve retornar um erro quando o email é inválido (não tem arroba)", async () => { + expect.assertions(2) + try { + await userBusinessMock.signup("Bruno", "bruno.bruno.com", "123456", "normal") + } catch (error) { + expect(error.message).toEqual("Invalid email"); + expect(error.statusCode).toBe(422) + } + }) + + test("Deve retornar erro quando receber uma senha com 5 ou menos caracteres", async () => { + expect.assertions(2); + try { + await userBusinessMock.signup("Bruno", "bruno@bruno.com", "12345", "normal") + } catch (error) { + expect(error.message).toEqual("Invalid password"); + expect(error.statusCode).toBe(422) + } + }) + + test("Deve retornar erro quando receber uma role não existente", async () => { + expect.assertions(2); + try { + await userBusinessMock.signup("Bruno", "bruno@bruno.com", "123456", "guest") + } catch (error) { + expect(error.message).toEqual("Invalid user role") + expect(error.statusCode).toBe(422); + } + }) + + test("Sucesso no cadastro", async () => { + expect.assertions(1) + try { + const { accessToken } = await userBusinessMock.signup( + "Bruno", + "bruno@bruno.com", + "123456", + "NORMAL" + ); + + expect(accessToken).toEqual("token_mock"); + + } catch (error) { + console.log(error) + } + + }) +}) + +describe("Testando o login", () => { + test("Deve retornar erro quando o email fornecido não existe", async () => { + expect.assertions(2) + try { + await userBusinessMock.login("email@email.com", "123456") + } catch (error) { + expect(error.message).toEqual("Invalid credentials") + expect(error.statusCode).toBe(401) + } + }) + + test("Deve retornar erro quando a senha está errada", async () => { + expect.assertions(2) + try { + await userBusinessMock.login("user1@gmail.com", "123456"); + } catch (error) { + expect(error.message).toEqual("Invalid credentials") + expect(error.statusCode).toBe(401) + } + }) + + test("Sucesso no login e verificação de token de acesso", async () => { + expect.assertions(1) + try { + const { accessToken } = await userBusinessMock.login( + "user1@gmail.com", + "user1password" + ); + + expect(accessToken).toEqual("token_mock") + } catch (error) { + console.log(error) + } + }) +}) \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/hashGeneratorMock.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/hashGeneratorMock.ts new file mode 100644 index 0000000..ae0fab8 --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/hashGeneratorMock.ts @@ -0,0 +1,11 @@ +export class HashGeneratorMock { + public hash = async (s: string): Promise => { + return "hash" + } + + + public compareHash = async (s: string, hash: string): Promise => { + return s === hash + } + +} \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/idGeneratorMock.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/idGeneratorMock.ts new file mode 100644 index 0000000..b227df0 --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/idGeneratorMock.ts @@ -0,0 +1,5 @@ +export class IdGeneratorMock { + public generate(): string { + return "id_mock"; + } +} \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/tokenGeneratorMock.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/tokenGeneratorMock.ts new file mode 100644 index 0000000..46ef6cd --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/tokenGeneratorMock.ts @@ -0,0 +1,15 @@ +import { USER_ROLES } from "../../src/model/User"; +import { AuthenticationData } from "../../src/services/tokenGenerator"; + +export class TokenGeneratorMock { + public generate = (input: AuthenticationData): string => { + return "token_mock" + } + + public verify(token: string) { + return { + id: "id_mock", + role: USER_ROLES.NORMAL + } + } +} \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/userDatabaseMock.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/userDatabaseMock.ts new file mode 100644 index 0000000..f61bd65 --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/userDatabaseMock.ts @@ -0,0 +1,35 @@ +import { User } from "../../src/model/User"; +import { userAdminMock, userNormalMock } from "./userMock"; + +export class UserDatabaseMock { + public async createUser(user: User): Promise { + } + + public async getUserByEmail(email: string): Promise { + switch (email) { + case "user1@gmail.com": + return userNormalMock; + case "user2@gmail.com": + return userAdminMock; + default: + return undefined; + } + } + + + public async getUserById(id: string): Promise { + switch (id) { + case "id_user_1": + return userNormalMock + case "id_user_2": + return userAdminMock + default: + return undefined + } + } + + public async getAllUsers(): Promise { + return [userNormalMock, userAdminMock]; + } + +} \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/userMock.ts b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/userMock.ts new file mode 100644 index 0000000..53b75dc --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tests/mocks/userMock.ts @@ -0,0 +1,17 @@ +import { User, USER_ROLES } from "../../src/model/User" + +export const userNormalMock = new User( + "id_user_1", + "user1", + "user1@gmail.com", + "user1password", + USER_ROLES.NORMAL +) + +export const userAdminMock = new User( + "id_user_2", + "user2", + "user2@gmail.com", + "user2password", + USER_ROLES.ADMIN +); \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tsconfig.json b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tsconfig.json new file mode 100644 index 0000000..e7ef4f9 --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "sourceMap": true, + "outDir": "./build", + "rootDir": "./", + "removeComments": true, + "strict": true, + "noImplicitAny": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + // "useUnknownInCatchVariables": false + } +} \ No newline at end of file diff --git a/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/yarn.lock b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/yarn.lock new file mode 100644 index 0000000..d74a7a4 --- /dev/null +++ b/semana22/aula64-Testes_no_BackEnd/aula64/lovelace-testes-backend/yarn.lock @@ -0,0 +1,4545 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" + integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== + dependencies: + "@babel/highlight" "^7.16.0" + +"@babel/compat-data@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.0.tgz#ea269d7f78deb3a7826c39a4048eecda541ebdaa" + integrity sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew== + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" + integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helpers" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" + integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== + dependencies: + "@babel/types" "^7.16.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-compilation-targets@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" + integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" + integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== + dependencies: + "@babel/helper-get-function-arity" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-get-function-arity@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" + integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-hoist-variables@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" + integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-member-expression-to-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" + integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-imports@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" + integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-transforms@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" + integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-optimise-call-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" + integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + +"@babel/helper-replace-supers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" + integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-simple-access@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" + integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-split-export-declaration@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" + integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + +"@babel/helpers@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" + integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== + dependencies: + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.3" + "@babel/types" "^7.16.0" + +"@babel/highlight@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" + integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.3.tgz#271bafcb811080905a119222edbc17909c82261d" + integrity sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/template@^7.16.0", "@babel/template@^7.3.3": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" + integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" + integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.3" + "@babel/types" "^7.16.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" + integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.16" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" + integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" + integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/bcryptjs@^2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/bcryptjs/-/bcryptjs-2.4.2.tgz#e3530eac9dd136bfdfb0e43df2c4c5ce1f77dfae" + integrity sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ== + +"@types/body-parser@*": + version "1.19.1" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz#0c0174c42a7d017b818303d4b5d969cb0b75929c" + integrity sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/express-serve-static-core@^4.17.18": + version "4.17.25" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.25.tgz#e42f7046adc65ece2eb6059b77aecfbe9e9f82e0" + integrity sha512-OUJIVfRMFijZukGGwTpKNFprqCCXk5WjNGvUgB/CxxBR40QWSjsNK86+yvGKlCOGc7sbwfHLaXhkG+NsytwBaQ== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@^4.17.6": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^25.2.3": + version "25.2.3" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" + integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw== + dependencies: + jest-diff "^25.2.1" + pretty-format "^25.2.1" + +"@types/jsonwebtoken@^8.5.0": + version "8.5.5" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.5.tgz#da5f2f4baee88f052ef3e4db4c1a0afb46cff22c" + integrity sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw== + dependencies: + "@types/node" "*" + +"@types/knex@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@types/knex/-/knex-0.16.1.tgz#619678407265c675463c563ed38323461a49515d" + integrity sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ== + dependencies: + knex "*" + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/node@*": + version "16.11.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42" + integrity sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/prettier@^2.0.0": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.2.tgz#4c62fae93eb479660c3bd93f9d24d561597a8281" + integrity sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/strip-bom@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" + integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= + +"@types/strip-json-comments@0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" + integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== + +"@types/uuid@^7.0.3": + version "7.0.5" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-7.0.5.tgz#b1d2f772142a301538fae9bdf9cf15b9f2573a29" + integrity sha512-hKB88y3YHL8oPOs/CNlaXtjWn93+Bs48sDQR37ZUqG2tLeCS7EA1cmnkKsuQsub9OKEB/y/Rw9zqJqqNSbqVlQ== + +"@types/yargs-parser@*": + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + +"@types/yargs@^15.0.0": + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + dependencies: + "@types/yargs-parser" "*" + +abab@^2.0.3, abab@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.5.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcryptjs@^2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" + integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= + +bignumber.js@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" + integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.17.5: + version "4.18.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.0.tgz#849944d9bbbbe5ff6f418a8b558e3effca433cae" + integrity sha512-ER2M0g5iAR84fS/zjBDqEgU6iO5fS9JI2EkHr5zxDxYEFk3LjhU9Vpp/INb6RMQphxko7PDV1FH38H/qVP5yCA== + dependencies: + caniuse-lite "^1.0.30001280" + electron-to-chromium "^1.3.896" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" + integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== + +caniuse-lite@^1.0.30001280: + version "1.0.30001280" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001280.tgz#066a506046ba4be34cde5f74a08db7a396718fb7" + integrity sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + +colorette@2.0.16: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@4.3.2, debug@^4.1.0, debug@^4.1.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" + integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + +dynamic-dedupe@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz#06e44c223f5e4e94d78ef9db23a6515ce2f962a1" + integrity sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE= + dependencies: + xtend "^4.0.0" + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +electron-to-chromium@^1.3.896: + version "1.3.896" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.896.tgz#4a94efe4870b1687eafd5c378198a49da06e8a1b" + integrity sha512-NcGkBVXePiuUrPLV8IxP43n1EOtdg+dudVjrfVEUd/bOqpQUFZ2diL5PPYzbgEhZFEltdXV3AcyKwGnEQ5lhMA== + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" + integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +flagged-respawn@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" + integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + dependencies: + for-in "^1.0.1" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getopts@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" + integrity sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +graceful-fs@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +import-local@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" + integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.2.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.5.tgz#a2580107e71279ea6d661ddede929ffc6d693384" + integrity sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^25.2.1: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" + integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== + dependencies: + chalk "^3.0.0" + diff-sequences "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +jest-get-type@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" + integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== + +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +jest-worker@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.0.1: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsdom@^16.4.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json5@2.x, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +knex@*: + version "0.95.14" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.95.14.tgz#47eca7757cbc5872b7c9a3c67ae3b7ac6d00cf10" + integrity sha512-j4qLjWySrC/JRRVtOpoR2LcS1yBOsd7Krc6mEukPvmTDX/w11pD52Pq9FYR56/kLXGeAV8jFdWBjsZFi1mscWg== + dependencies: + colorette "2.0.16" + commander "^7.1.0" + debug "4.3.2" + escalade "^3.1.1" + esm "^3.2.25" + getopts "2.2.5" + interpret "^2.2.0" + lodash "^4.17.21" + pg-connection-string "2.5.0" + rechoir "0.7.0" + resolve-from "^5.0.0" + tarn "^3.0.1" + tildify "2.0.0" + +knex@^0.21.1: + version "0.21.21" + resolved "https://registry.yarnpkg.com/knex/-/knex-0.21.21.tgz#b1335c75afd15ff83371b096e9cc4c4eafab8c05" + integrity sha512-cjw5qO1EzVKjbywcVa61IQJMLt7PfYBRI/2NwCA/B9beXgbw652wDNLz+JM+UKKNsfwprq0ugYqBYc9q4JN36A== + dependencies: + colorette "1.2.1" + commander "^6.2.0" + debug "4.3.1" + esm "^3.2.25" + getopts "2.2.5" + interpret "^2.2.0" + liftoff "3.1.0" + lodash "^4.17.20" + pg-connection-string "2.4.0" + tarn "^3.0.1" + tildify "2.0.0" + v8flags "^3.2.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +liftoff@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" + integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== + dependencies: + extend "^3.0.0" + findup-sync "^3.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + +lodash@4.x, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@1.x, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.0.4, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + +mime-types@^2.1.12, mime-types@~2.1.24: + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@1.x, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +mysql@^2.18.1: + version "2.18.1" + resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz#2254143855c5a8c73825e4522baf2ea021766717" + integrity sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig== + dependencies: + bignumber.js "9.0.0" + readable-stream "2.3.7" + safe-buffer "5.1.2" + sqlstring "2.3.1" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +pg-connection-string@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.4.0.tgz#c979922eb47832999a204da5dbe1ebf2341b6a10" + integrity sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ== + +pg-connection-string@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" + integrity sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +pretty-format@^25.2.1, pretty-format@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== + dependencies: + "@jest/types" "^25.5.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +proxy-addr@~2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-is@^16.12.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@2.3.7: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" + integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== + dependencies: + resolve "^1.9.0" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.0.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.18.1, resolve@^1.9.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^2.6.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.x, semver@^7.3.2: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.5" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" + integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.12, source-map-support@^0.5.17, source-map-support@^0.5.6: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sqlstring@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40" + integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A= + +stack-utils@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +tarn@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tarn/-/tarn-3.0.1.tgz#ebac2c6dbc6977d34d4526e0a7814200386a8aec" + integrity sha512-6usSlV9KyHsspvwu2duKH+FMUhqJnAh6J5J/4MITl8s94iSUQTLkJggdiewKv4RyARQccnigV48Z+khiuVZDJw== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +tildify@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-2.0.0.tgz#f205f3674d677ce698b7067a99e949ce03b4754a" + integrity sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw== + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +ts-jest@^26.1.0: + version "26.5.6" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.6.tgz#c32e0746425274e1dfe333f43cd3c800e014ec35" + integrity sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA== + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +ts-node-dev@^1.0.0-pre.44: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.1.8.tgz#95520d8ab9d45fffa854d6668e2f8f9286241066" + integrity sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg== + dependencies: + chokidar "^3.5.1" + dynamic-dedupe "^0.3.0" + minimist "^1.2.5" + mkdirp "^1.0.4" + resolve "^1.0.0" + rimraf "^2.6.1" + source-map-support "^0.5.12" + tree-kill "^1.2.2" + ts-node "^9.0.0" + tsconfig "^7.0.0" + +ts-node@^9.0.0: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tsconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" + integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== + dependencies: + "@types/strip-bom" "^3.0.0" + "@types/strip-json-comments" "0.0.30" + strip-bom "^3.0.0" + strip-json-comments "^2.0.0" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@3.9.2: + version "3.9.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.2.tgz#64e9c8e9be6ea583c54607677dd4680a1cf35db9" + integrity sha512-q2ktq4n/uLuNNShyayit+DTobV2ApPEo/6so68JaD5ojvc/6GClBipedB9zNWYxRSAlZXAe405Rlijzl6qDiSw== + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^8.0.0, uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-to-istanbul@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +v8flags@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== + dependencies: + homedir-polyfill "^1.0.1" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.14, which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.6: + version "7.5.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" + integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@20.x: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==