From fded22f39a0e59db63a60c7befd60e30ded0bd6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Salgado?= Date: Tue, 27 Oct 2020 10:05:06 +0000 Subject: [PATCH] feat: add user management screen feat: login screen fix: login routing and layout feat: add users migration feat: passport login strategy fix: users migration feat: simple authentication fix: request body feat: JWT authorization feat: 2fa step on login feat: 2fa flow feat: add rememberme to req body fix: hide 2fa secret from jwt fix: block login access to logged in user fix: rerouting to wizard refactor: login screen feat: setup 2fa state on login feat: 2fa secret qr code fix: remove jwt from 2fa secret fix: wizard redirect after login fix: 2fa setup flow fix: user id to uuid feat: user roles feat: user sessions and db persistence feat: session saving on DB and cookie refactor: unused code feat: cookie auto renew on request feat: get user data endpoint fix: repeated requests feat: react routing fix: private routes refactor: auth feat: sessions aware of ua and ip feat: sessions on gql feat: session management screen feat: replace user_tokens usage for users feat: user deletion also deletes active sessions feat: remember me alters session cookie accordingly feat: last session by all users fix: login feedback fix: page loading UX feat: routes based on user role feat: header aware of roles feat: reset password fix: reset password endpoint feat: handle password change feat: reset 2FA feat: user role on management screen feat: change user role fix: user last session query fix: context fix: destroy own session feat: reset password now resets sessions feat: reset 2fa now resets sessions refactor: user data refactor: user management screen feat: user enable feat: schema directives fix: remove schema directive temp feat: create new users feat: register endpoint feat: modals for reset links fix: directive Date errors feat: superuser directive feat: create user url modal fix: user management layout feat: confirmation modals fix: info text feat: 2fa input component feat: code input on 2fa state feat: add button styling feat: confirmation modal on superuser action feat: rework 2fa setup screen feat: rework reset 2fa screen fix: session management screen fix: user management screen fix: blacklist roles chore: migrate old customer values to new columns fix: value migration fix: value migration refactor: remove old code --- lib/new-admin/admin-server.js | 49 +- lib/new-admin/routes/auth.js | 259 + lib/new-admin/services/login.js | 50 +- lib/session-manager.js | 42 + lib/token-manager.js | 13 - lib/users.js | 144 +- .../1603804834628-add-last-accessed-tokens.js | 13 + migrations/1605181184453-users.js | 93 + new-lamassu-admin/package-lock.json | 10549 +++++++++------- new-lamassu-admin/package.json | 1 + .../public/fonts/Rubik/Rubik-Black.otf | Bin 0 -> 96336 bytes .../public/fonts/Rubik/Rubik-Bold.otf | Bin 0 -> 101792 bytes .../public/fonts/Rubik/Rubik-Medium.otf | Bin 0 -> 100476 bytes .../src/components/buttons/Button.js | 24 +- .../src/components/inputs/base/CodeInput.js | 40 + .../inputs/base/CodeInput.styles.js | 33 + .../src/components/inputs/base/index.js | 2 + .../src/components/inputs/index.js | 2 + .../src/components/layout/Header.js | 49 +- new-lamassu-admin/src/lamassu/App.js | 85 +- .../src/pages/Authentication/Input2FAState.js | 115 + .../src/pages/Authentication/Login.js | 30 + .../src/pages/Authentication/Login.styles.js | 121 + .../src/pages/Authentication/LoginCard.js | 104 + .../src/pages/Authentication/LoginState.js | 130 + .../src/pages/Authentication/Register.js | 180 + .../src/pages/Authentication/Reset2FA.js | 186 + .../src/pages/Authentication/ResetPassword.js | 177 + .../src/pages/Authentication/Setup2FAState.js | 180 + new-lamassu-admin/src/pages/MachineLogs.js | 14 +- new-lamassu-admin/src/pages/ServerLogs.js | 4 +- .../SessionManagement/SessionManagement.js | 105 + .../pages/TokenManagement/TokenManagement.js | 95 - .../src/pages/Transactions/Transactions.js | 4 +- .../pages/UserManagement/UserManagement.js | 386 + .../UserManagement/UserManagement.styles.js | 81 + .../UserManagement/modals/ChangeRoleModal.js | 64 + .../UserManagement/modals/CreateUserModal.js | 156 + .../UserManagement/modals/DeleteUserModal.js | 73 + .../UserManagement/modals/EnableUserModal.js | 87 + .../UserManagement/modals/Input2FAModal.js | 99 + .../UserManagement/modals/Reset2FAModal.js | 48 + .../modals/ResetPasswordModal.js | 54 + new-lamassu-admin/src/routing/PrivateRoute.js | 29 +- new-lamassu-admin/src/routing/PublicRoute.js | 25 + new-lamassu-admin/src/routing/routes.js | 112 +- new-lamassu-admin/src/routing/utils.js | 8 + new-lamassu-admin/src/utils/apollo.js | 13 +- package-lock.json | 208 + package.json | 4 + 50 files changed, 9839 insertions(+), 4501 deletions(-) create mode 100644 lib/new-admin/routes/auth.js create mode 100644 lib/session-manager.js delete mode 100644 lib/token-manager.js create mode 100644 migrations/1603804834628-add-last-accessed-tokens.js create mode 100644 migrations/1605181184453-users.js create mode 100644 new-lamassu-admin/public/fonts/Rubik/Rubik-Black.otf create mode 100644 new-lamassu-admin/public/fonts/Rubik/Rubik-Bold.otf create mode 100644 new-lamassu-admin/public/fonts/Rubik/Rubik-Medium.otf create mode 100644 new-lamassu-admin/src/components/inputs/base/CodeInput.js create mode 100644 new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js create mode 100644 new-lamassu-admin/src/pages/Authentication/Input2FAState.js create mode 100644 new-lamassu-admin/src/pages/Authentication/Login.js create mode 100644 new-lamassu-admin/src/pages/Authentication/Login.styles.js create mode 100644 new-lamassu-admin/src/pages/Authentication/LoginCard.js create mode 100644 new-lamassu-admin/src/pages/Authentication/LoginState.js create mode 100644 new-lamassu-admin/src/pages/Authentication/Register.js create mode 100644 new-lamassu-admin/src/pages/Authentication/Reset2FA.js create mode 100644 new-lamassu-admin/src/pages/Authentication/ResetPassword.js create mode 100644 new-lamassu-admin/src/pages/Authentication/Setup2FAState.js create mode 100644 new-lamassu-admin/src/pages/SessionManagement/SessionManagement.js delete mode 100644 new-lamassu-admin/src/pages/TokenManagement/TokenManagement.js create mode 100644 new-lamassu-admin/src/pages/UserManagement/UserManagement.js create mode 100644 new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js create mode 100644 new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.js create mode 100644 new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.js create mode 100644 new-lamassu-admin/src/pages/UserManagement/modals/DeleteUserModal.js create mode 100644 new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.js create mode 100644 new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.js create mode 100644 new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.js create mode 100644 new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.js create mode 100644 new-lamassu-admin/src/routing/PublicRoute.js create mode 100644 new-lamassu-admin/src/routing/utils.js diff --git a/lib/new-admin/admin-server.js b/lib/new-admin/admin-server.js index cb7cf96f..236ab444 100644 --- a/lib/new-admin/admin-server.js +++ b/lib/new-admin/admin-server.js @@ -8,14 +8,20 @@ const cors = require('cors') const helmet = require('helmet') const nocache = require('nocache') const cookieParser = require('cookie-parser') +const bodyParser = require('body-parser') const { ApolloServer, AuthenticationError } = require('apollo-server-express') const _ = require('lodash/fp') +const session = require('express-session') +const pgSession = require('connect-pg-simple')(session) -const { typeDefs, resolvers } = require('./graphql/schema') const login = require('./services/login') const register = require('./routes/authentication') const options = require('../options') +const db = require('../db') +const users = require('../users') + +const { typeDefs, resolvers, AuthDirective, SuperuserDirective } = require('./graphql/schema') const devMode = require('minimist')(process.argv.slice(2)).dev const idPhotoCardBasedir = _.get('idPhotoCardDir', options) @@ -32,11 +38,35 @@ app.use(helmet()) app.use(compression()) app.use(nocache()) app.use(cookieParser()) +app.use(bodyParser.json()) +app.use(bodyParser.urlencoded({ extended: true })) // support encoded bodies app.use(express.static(path.resolve(__dirname, '..', '..', 'public'))) +app.use(['*'], session({ + store: new pgSession({ + pgPromise: db, + tableName: 'user_sessions' + }), + name: 'lid', + secret: 'MY_SECRET', + resave: false, + saveUninitialized: false, + cookie: { + httpOnly: true, + secure: true, + domain: hostname, + sameSite: true, + maxAge: 60 * 10 * 1000 // 10 minutes + } +})) + const apolloServer = new ApolloServer({ typeDefs, resolvers, + schemaDirectives: { + auth: AuthDirective, + superuser: SuperuserDirective + }, playground: false, introspection: false, formatError: error => { @@ -44,10 +74,19 @@ const apolloServer = new ApolloServer({ return error }, context: async ({ req }) => { - const token = req.cookies && req.cookies.token + if (!req.session.user) throw new AuthenticationError('Authentication failed') + const user = await users.verifyAndUpdateUser( + req.session.user.id, + req.headers['user-agent'] || 'Unknown', + req.ip + ) + if (!user || !user.enabled) throw new AuthenticationError('Authentication failed') - const success = await login.authenticate(token) - if (!success) throw new AuthenticationError('Authentication failed') + req.session.ua = req.headers['user-agent'] || 'Unknown' + req.session.ipAddress = req.ip + req.session.lastUsed = new Date(Date.now()).toISOString() + req.session.user.id = user.id + req.session.user.role = user.role return { req: { ...req } } } }) @@ -67,6 +106,8 @@ app.use('/id-card-photo', serveStatic(idPhotoCardBasedir, { index: false })) app.use('/front-camera-photo', serveStatic(frontCameraBasedir, { index: false })) app.use('/api', register) +require('./routes/auth')(app) + // Everything not on graphql or api/register is redirected to the front-end app.get('*', (req, res) => res.sendFile(path.resolve(__dirname, '..', '..', 'public', 'index.html'))) diff --git a/lib/new-admin/routes/auth.js b/lib/new-admin/routes/auth.js new file mode 100644 index 00000000..7ea9a870 --- /dev/null +++ b/lib/new-admin/routes/auth.js @@ -0,0 +1,259 @@ +const otplib = require('otplib') +const bcrypt = require('bcrypt') + +const users = require('../../users') +const login = require('../login') + +async function isValidUser (username, password) { + const hashedPassword = await login.checkUser(username) + if (!hashedPassword) return false + + const isMatch = await bcrypt.compare(password, hashedPassword) + if (!isMatch) return false + + const user = await login.validateUser(username, hashedPassword) + if (!user) return false + return user +} + +module.exports = function (app) { + app.post('/api/login', function (req, res, next) { + const usernameInput = req.body.username + const passwordInput = req.body.password + + isValidUser(usernameInput, passwordInput).then(user => { + if (!user) return res.sendStatus(403) + users.get2FASecret(user.id).then(user => { + const twoFASecret = user.twofa_code + if (twoFASecret) return res.status(200).json({ message: 'INPUT2FA' }) + if (!twoFASecret) return res.status(200).json({ message: 'SETUP2FA' }) + }) + }) + }) + + app.post('/api/login/2fa', function (req, res, next) { + const code = req.body.twoFACode + const username = req.body.username + const password = req.body.password + const rememberMeInput = req.body.rememberMe + + isValidUser(username, password).then(user => { + if (!user) return res.sendStatus(403) + + users.get2FASecret(user.id).then(user => { + const secret = user.twofa_code + const isCodeValid = otplib.authenticator.verify({ token: code, secret: secret }) + if (!isCodeValid) return res.sendStatus(403) + + const finalUser = { id: user.id, username: user.username, role: user.role } + req.session.user = finalUser + if (rememberMeInput) req.session.cookie.maxAge = 90 * 24 * 60 * 60 * 1000 // 90 days + + return res.sendStatus(200) + }) + }) + }) + + app.post('/api/login/2fa/setup', function (req, res, next) { + const username = req.body.username + const password = req.body.password + + // TODO: maybe check if the user already has a 2fa secret + isValidUser(username, password).then(user => { + if (!user) return res.sendStatus(403) + + const secret = otplib.authenticator.generateSecret() + const otpauth = otplib.authenticator.keyuri(username, 'Lamassu Industries', secret) + return res.status(200).json({ secret, otpauth }) + }) + }) + + app.post('/api/login/2fa/save', function (req, res, next) { + const username = req.body.username + const password = req.body.password + const secret = req.body.secret + const code = req.body.code + + isValidUser(username, password).then(user => { + if (!user || !secret) return res.sendStatus(403) + + const isCodeValid = otplib.authenticator.verify({ token: code, secret: secret }) + if (!isCodeValid) return res.sendStatus(403) + + users.save2FASecret(user.id, secret) + return res.sendStatus(200) + }) + }) + + app.get('/user-data', function (req, res, next) { + const lidCookie = req.cookies && req.cookies.lid + if (!lidCookie) { + res.sendStatus(403) + return + } + + const user = req.session.user + return res.status(200).json({ message: 'Success', user: user }) + }) + + app.post('/api/resetpassword', function (req, res, next) { + const userID = req.body.userID + + users.findById(userID) + .then(user => { + if (!user) return res.sendStatus(403) + return users.createResetPasswordToken(user.id) + }) + .then(token => { + return res.status(200).json({ token }) + }) + .catch(err => console.log(err)) + }) + + app.get('/api/resetpassword', function (req, res, next) { + const token = req.query.t + + if (!token) return res.sendStatus(400) + return users.validatePasswordResetToken(token) + .then(r => { + if (!r.success) return res.status(200).send('The link has expired') + return res.status(200).json({ userID: r.userID }) + }) + .catch(err => { + console.log(err) + res.sendStatus(400) + }) + }) + + app.post('/api/updatepassword', function (req, res, next) { + const userID = req.body.userID + const newPassword = req.body.newPassword + + users.findById(userID).then(user => { + if (req.session.user && user.id === req.session.user.id) req.session.destroy() + return users.updatePassword(user.id, newPassword) + }).then(() => { + res.sendStatus(200) + }).catch(err => { + console.log(err) + res.sendStatus(400) + }) + }) + + app.post('/api/reset2fa', function (req, res, next) { + const userID = req.body.userID + + users.findById(userID) + .then(user => { + if (!user) return res.sendStatus(403) + return users.createReset2FAToken(user.id) + }) + .then(token => { + return res.status(200).json({ token }) + }) + .catch(err => console.log(err)) + }) + + app.get('/api/reset2fa', function (req, res, next) { + const token = req.query.t + + if (!token) return res.sendStatus(400) + return users.validate2FAResetToken(token) + .then(r => { + if (!r.success) return res.status(200).send('The link has expired') + return users.findById(r.userID) + }) + .then(user => { + const secret = otplib.authenticator.generateSecret() + const otpauth = otplib.authenticator.keyuri(user.username, 'Lamassu Industries', secret) + return res.status(200).json({ userID: user.id, secret, otpauth }) + }) + .catch(err => { + console.log(err) + res.sendStatus(400) + }) + }) + + app.post('/api/update2fa', function (req, res, next) { + const userID = req.body.userID + const secret = req.body.secret + const code = req.body.code + + users.findById(userID).then(user => { + const isCodeValid = otplib.authenticator.verify({ token: code, secret: secret }) + if (!isCodeValid) return res.sendStatus(401) + + if (req.session.user && user.id === req.session.user.id) req.session.destroy() + users.save2FASecret(user.id, secret).then(() => { return res.sendStatus(200) }) + }).catch(err => { + console.log(err) + return res.sendStatus(400) + }) + }) + + app.post('/api/createuser', function (req, res, next) { + const username = req.body.username + const role = req.body.role + + users.getByName(username) + .then(user => { + if (user) return res.status(200).json({ message: 'User already exists!' }) + + users.createUserRegistrationToken(username, role).then(token => { + return res.status(200).json({ token }) + }) + }) + .catch(err => { + console.log(err) + res.sendStatus(400) + }) + }) + + app.get('/api/register', function (req, res, next) { + const token = req.query.t + + if (!token) return res.sendStatus(400) + users.validateUserRegistrationToken(token) + .then(r => { + if (!r.success) return res.status(200).json({ message: 'The link has expired' }) + return res.status(200).json({ username: r.username, role: r.role }) + }) + .catch(err => { + console.log(err) + res.sendStatus(400) + }) + }) + + app.post('/api/register', function (req, res, next) { + const username = req.body.username + const password = req.body.password + const role = req.body.role + + users.getByName(username) + .then(user => { + if (user) return res.status(200).json({ message: 'User already exists!' }) + + users.createUser(username, password, role) + res.sendStatus(200) + }) + .catch(err => { + console.log(err) + res.sendStatus(400) + }) + }) + + app.post('/api/confirm2fa', function (req, res, next) { + const code = req.body.code + const requestingUser = req.session.user + + if (!requestingUser) return res.status(403) + + users.get2FASecret(requestingUser.id).then(user => { + const secret = user.twofa_code + const isCodeValid = otplib.authenticator.verify({ token: code, secret: secret }) + if (!isCodeValid) return res.sendStatus(401) + + return res.sendStatus(200) + }) + }) +} diff --git a/lib/new-admin/services/login.js b/lib/new-admin/services/login.js index b739e16d..6e2ea41e 100644 --- a/lib/new-admin/services/login.js +++ b/lib/new-admin/services/login.js @@ -1,48 +1,20 @@ -const crypto = require('crypto') - const db = require('../../db') -function generateOTP (name) { - const otp = crypto.randomBytes(32).toString('hex') - - const sql = 'insert into one_time_passes (token, name) values ($1, $2)' - - return db.none(sql, [otp, name]) - .then(() => otp) +function checkUser (username) { + const sql = 'select * from users where username=$1' + return db.oneOrNone(sql, [username]).then(value => { return value.password }).catch(() => false) } -function validateOTP (otp) { - const sql = `delete from one_time_passes - where token=$1 - returning name, created < now() - interval '1 hour' as expired` +function validateUser (username, password) { + const sql = 'select id, username from users where username=$1 and password=$2' + const sqlUpdateLastAccessed = 'update users set last_accessed = now() where username=$1' - return db.one(sql, [otp]) - .then(r => ({ success: !r.expired, expired: r.expired, name: r.name })) - .catch(() => ({ success: false, expired: false })) -} - -function register (otp, ua, ip) { - return validateOTP(otp) - .then(r => { - if (!r.success) return r - - const token = crypto.randomBytes(32).toString('hex') - const sql = 'insert into user_tokens (token, name, user_agent, ip_address) values ($1, $2, $3, $4)' - - return db.none(sql, [token, r.name, ua, ip]) - .then(() => ({ success: true, token: token })) - }) - .catch(() => ({ success: false, expired: false })) -} - -function authenticate (token) { - const sql = 'select token from user_tokens where token=$1' - - return db.one(sql, [token]).then(() => true).catch(() => false) + return db.oneOrNone(sql, [username, password]) + .then(user => { db.none(sqlUpdateLastAccessed, [user.username]); return user }) + .catch(() => false) } module.exports = { - generateOTP, - register, - authenticate + checkUser, + validateUser } diff --git a/lib/session-manager.js b/lib/session-manager.js new file mode 100644 index 00000000..804c9705 --- /dev/null +++ b/lib/session-manager.js @@ -0,0 +1,42 @@ +const db = require('./db') + +function getSessionList () { + const sql = `select * from user_sessions order by sess -> 'user' ->> 'username'` + return db.any(sql) +} + +function getLastSessionByUser () { + const sql = `select b.username, a.user_agent, a.ip_address, a.last_used, b.role from ( + select sess -> 'user' ->> 'username' as username, + sess ->> 'ua' as user_agent, + sess ->> 'ipAddress' as ip_address, + sess ->> 'lastUsed' as last_used + from user_sessions + ) a right join ( + select distinct on (username) + username, role + from users) b on a.username = b.username` + return db.any(sql) +} + +function getUserSessions (username) { + const sql = `select * from user_sessions where sess -> 'user' ->> 'username'=$1` + return db.any(sql, [username]) +} + +function getSession (sessionID) { + const sql = `select * from user_sessions where sid=$1` + return db.any(sql, [sessionID]) +} + +function deleteUserSessions (username) { + const sql = `delete from user_sessions where sess -> 'user' ->> 'username'=$1` + return db.none(sql, [username]) +} + +function deleteSession (sessionID) { + const sql = `delete from user_sessions where sid=$1` + return db.none(sql, [sessionID]) +} + +module.exports = { getSessionList, getLastSessionByUser, getUserSessions, getSession, deleteUserSessions, deleteSession } diff --git a/lib/token-manager.js b/lib/token-manager.js deleted file mode 100644 index 32209969..00000000 --- a/lib/token-manager.js +++ /dev/null @@ -1,13 +0,0 @@ -const db = require('./db') - -function getTokenList () { - const sql = `select * from user_tokens` - return db.any(sql) -} - -function revokeToken (token) { - const sql = `delete from user_tokens where token = $1` - return db.none(sql, [token]) -} - -module.exports = { getTokenList, revokeToken } diff --git a/lib/users.js b/lib/users.js index 38df45f7..eda10926 100644 --- a/lib/users.js +++ b/lib/users.js @@ -1,5 +1,8 @@ const _ = require('lodash/fp') const pgp = require('pg-promise')() +const crypto = require('crypto') +const bcrypt = require('bcrypt') +const uuid = require('uuid') const db = require('./db') @@ -33,4 +36,143 @@ function getByIds (tokens) { const tokensClause = _.map(pgp.as.text, tokens).join(',') return db.any(sql, [tokensClause]) } -module.exports = { get, getByIds } + +function getUsers () { + const sql = `select id, username, role, enabled, last_accessed, last_accessed_from, last_accessed_address from users order by username` + return db.any(sql) +} + +function getByName (username) { + const sql = `select id, username, role, last_accessed from users where username=$1 limit 1` + return db.oneOrNone(sql, [username]) +} + +function verifyAndUpdateUser (id, ua, ip) { + const sql = `select id, username, role, enabled from users where id=$1 limit 1` + return db.oneOrNone(sql, [id]).then(user => { + if (!user) return null + + const sql2 = `update users set last_accessed=now(), last_accessed_from=$1, last_accessed_address=$2 where id=$3 returning id, role, enabled` + return db.one(sql2, [ua, ip, id]).then(user => { + return user + }) + }) +} + +function createUser (username, password, role) { + const sql = `insert into users (id, username, password, role) values ($1, $2, $3, $4)` + bcrypt.hash(password, 12).then(function (hash) { + return db.none(sql, [uuid.v4(), username, hash, role]) + }) +} + +function deleteUser (id) { + const sql = `delete from users where id=$1` + const sql2 = `delete from user_sessions where sess -> 'user' ->> 'id'=$1` + + return db.none(sql, [id]).then(() => db.none(sql2, [id])) +} + +function findById (id) { + const sql = 'select id, username from users where id=$1' + return db.oneOrNone(sql, [id]) +} + +function get2FASecret (id) { + const sql = 'select id, username, twofa_code, role from users where id=$1' + return db.oneOrNone(sql, [id]) +} + +function save2FASecret (id, secret) { + const sql = 'update users set twofa_code=$1 where id=$2' + const sql2 = `delete from user_sessions where sess -> 'user' ->> 'id'=$1` + return db.none(sql, [secret, id]).then(() => db.none(sql2, [id])) +} + +function validate2FAResetToken (token) { + const sql = `delete from reset_twofa + where token=$1 + returning user_id, now() < expire as success` + + return db.one(sql, [token]) + .then(res => ({ userID: res.user_id, success: res.success })) +} + +function createReset2FAToken (userID) { + const token = crypto.randomBytes(32).toString('hex') + const sql = `insert into reset_twofa (token, user_id) values ($1, $2) on conflict (user_id) do update set token=$1, expire=now() + interval '30 minutes' returning *` + + return db.one(sql, [token, userID]) +} + +function updatePassword (id, password) { + bcrypt.hash(password, 12).then(function (hash) { + const sql = `update users set password=$1 where id=$2` + const sql2 = `delete from user_sessions where sess -> 'user' ->> 'id'=$1` + return db.none(sql, [hash, id]).then(() => db.none(sql2, [id])) + }) +} + +function validatePasswordResetToken (token) { + const sql = `delete from reset_password + where token=$1 + returning user_id, now() < expire as success` + + return db.one(sql, [token]) + .then(res => ({ userID: res.user_id, success: res.success })) +} + +function createResetPasswordToken (userID) { + const token = crypto.randomBytes(32).toString('hex') + const sql = `insert into reset_password (token, user_id) values ($1, $2) on conflict (user_id) do update set token=$1, expire=now() + interval '30 minutes' returning *` + + return db.one(sql, [token, userID]) +} + +function createUserRegistrationToken (username, role) { + const token = crypto.randomBytes(32).toString('hex') + const sql = `insert into user_register_tokens (token, username, role) values ($1, $2, $3) on conflict (username) + do update set token=$1, expire=now() + interval '30 minutes' returning *` + + return db.one(sql, [token, username, role]) +} + +function validateUserRegistrationToken (token) { + const sql = `delete from user_register_tokens where token=$1 + returning username, role, now() < expire as success` + + return db.one(sql, [token]) + .then(res => ({ username: res.username, role: res.role, success: res.success })) +} + +function changeUserRole (id, newRole) { + const sql = `update users set role=$1 where id=$2` + return db.none(sql, [newRole, id]) +} + +function toggleUserEnable (id) { + const sql = `update users set enabled=not enabled where id=$1` + return db.none(sql, [id]) +} + +module.exports = { + get, + getByIds, + getUsers, + getByName, + verifyAndUpdateUser, + createUser, + deleteUser, + findById, + updatePassword, + get2FASecret, + save2FASecret, + validate2FAResetToken, + createReset2FAToken, + validatePasswordResetToken, + createResetPasswordToken, + createUserRegistrationToken, + validateUserRegistrationToken, + changeUserRole, + toggleUserEnable +} diff --git a/migrations/1603804834628-add-last-accessed-tokens.js b/migrations/1603804834628-add-last-accessed-tokens.js new file mode 100644 index 00000000..8ce76bcf --- /dev/null +++ b/migrations/1603804834628-add-last-accessed-tokens.js @@ -0,0 +1,13 @@ +const db = require('./db') + +exports.up = function (next) { + var sql = [ + 'ALTER TABLE user_tokens ADD COLUMN last_accessed timestamptz', + ] + + db.multi(sql, next) +} + +exports.down = function (next) { + next() +} diff --git a/migrations/1605181184453-users.js b/migrations/1605181184453-users.js new file mode 100644 index 00000000..7c1158fb --- /dev/null +++ b/migrations/1605181184453-users.js @@ -0,0 +1,93 @@ +var db = require('./db') + +exports.up = function (next) { + var sql = [ + `create type role as ENUM('user', 'superuser')`, + `create table users ( + id uuid PRIMARY KEY, + username varchar(50) UNIQUE, + password varchar(100), + role role default 'user', + enabled boolean default true, + twofa_code varchar(100), + created timestamptz not null default now(), + last_accessed timestamptz not null default now(), + last_accessed_from text, + last_accessed_address inet )`, + `CREATE TABLE "user_sessions" ( + "sid" varchar NOT NULL COLLATE "default", + "sess" json NOT NULL, + "expire" timestamp(6) NOT NULL ) + WITH (OIDS=FALSE)`, + `ALTER TABLE "user_sessions" ADD CONSTRAINT "session_pkey" PRIMARY KEY ("sid") NOT DEFERRABLE INITIALLY IMMEDIATE`, + `CREATE INDEX "IDX_session_expire" ON "user_sessions" ("expire")`, + `create table reset_password ( + token text not null PRIMARY KEY, + user_id uuid references users(id) on delete cascade unique, + expire timestamptz not null default now() + interval '30 minutes' + )`, + `create index "idx_reset_pw_expire" on "reset_password" ("expire")`, + `create table reset_twofa ( + token text not null PRIMARY KEY, + user_id uuid references users(id) on delete cascade unique, + expire timestamptz not null default now() + interval '30 minutes' + )`, + `create index "idx_reset_twofa_expire" on "reset_twofa" ("expire")`, + `create table user_register_tokens ( + token text not null PRIMARY KEY, + username text not null unique, + role role default 'user', + expire timestamptz not null default now() + interval '30 minutes' + )`, + // migrate values from customers which reference user_tokens for data persistence + `alter table customers add column sms_override_by_old text`, + `alter table customers add column id_card_data_override_by_old text`, + `alter table customers add column id_card_photo_override_by_old text`, + `alter table customers add column front_camera_override_by_old text`, + `alter table customers add column sanctions_override_by_old text`, + `alter table customers add column authorized_override_by_old text`, + `alter table customers add column us_ssn_override_by_old text`, + `update customers set sms_override_by_old=ut.name from user_tokens ut + where customers.sms_override_by=ut.token`, + `update customers set id_card_data_override_by_old=ut.name from user_tokens ut + where customers.id_card_data_override_by=ut.token`, + `update customers set id_card_photo_override_by_old=ut.name from user_tokens ut + where customers.id_card_photo_override_by=ut.token`, + `update customers set front_camera_override_by_old=ut.name from user_tokens ut + where customers.front_camera_override_by=ut.token`, + `update customers set sanctions_override_by_old=ut.name from user_tokens ut + where customers.sanctions_override_by=ut.token`, + `update customers set authorized_override_by_old=ut.name from user_tokens ut + where customers.authorized_override_by=ut.token`, + `update customers set us_ssn_override_by_old=ut.name from user_tokens ut + where customers.us_ssn_override_by=ut.token`, + `alter table customers drop column sms_override_by`, + `alter table customers drop column id_card_data_override_by`, + `alter table customers drop column id_card_photo_override_by`, + `alter table customers drop column front_camera_override_by`, + `alter table customers drop column sanctions_override_by`, + `alter table customers drop column authorized_override_by`, + `alter table customers drop column us_ssn_override_by`, + `alter table customers add column sms_override_by uuid references users(id)`, + `alter table customers add column id_card_data_override_by uuid references users(id)`, + `alter table customers add column id_card_photo_override_by uuid references users(id)`, + `alter table customers add column front_camera_override_by uuid references users(id)`, + `alter table customers add column sanctions_override_by uuid references users(id)`, + `alter table customers add column authorized_override_by uuid references users(id)`, + `alter table customers add column us_ssn_override_by uuid references users(id)`, + // migrate values from compliance_overrides which reference user_tokens for data persistence + `alter table compliance_overrides add column override_by_old text`, + `update compliance_overrides set override_by_old=ut.name from user_tokens ut + where compliance_overrides.override_by=ut.token`, + `alter table compliance_overrides drop column override_by`, + `alter table compliance_overrides add column override_by uuid references users(id)`, + `drop table if exists one_time_passes`, + `drop table if exists user_tokens` + ] + + db.multi(sql, next) +} + +exports.down = function (next) { + next() +} diff --git a/new-lamassu-admin/package-lock.json b/new-lamassu-admin/package-lock.json index 5d6aaa82..e44658d1 100644 --- a/new-lamassu-admin/package-lock.json +++ b/new-lamassu-admin/package-lock.json @@ -32,6 +32,11 @@ "@babel/highlight": "^7.12.13" }, "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + }, "@babel/highlight": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", @@ -47,7 +52,8 @@ "@babel/compat-data": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.13.tgz", - "integrity": "sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg==" + "integrity": "sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg==", + "dev": true }, "@babel/core": { "version": "7.12.16", @@ -72,6 +78,79 @@ "source-map": "^0.5.0" }, "dependencies": { + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", + "lodash": "^4.17.19" + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, "@babel/helpers": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", @@ -89,6 +168,45 @@ "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", "dev": true }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -122,16 +240,35 @@ "version": "7.12.15", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, "requires": { "@babel/types": "^7.12.13", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -139,68 +276,219 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "dev": true, "requires": { "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "dev": true, "requires": { "@babel/helper-explode-assignable-expression": "^7.12.13", "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-compilation-targets": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.16.tgz", - "integrity": "sha512-dBHNEEaZx7F3KoUYqagIhRIeqyyuI65xMndMZ3WwGwEBI609I4TleYQHcrS627vbKyNTXqShoN+fvYD9HuQxAg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.13.tgz", + "integrity": "sha512-dXof20y/6wB5HnLOGyLh/gobsMvDNoekcC+8MCV2iaTd5JemhFkPD73QB+tK3iFC9P0xJC73B6MvKkyUfS9cCw==", + "dev": true, "requires": { "@babel/compat-data": "^7.12.13", - "@babel/helper-validator-option": "^7.12.16", + "@babel/helper-validator-option": "^7.12.11", "browserslist": "^4.14.5", "semver": "^5.5.0" }, "dependencies": { - "@babel/helper-validator-option": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.16.tgz", - "integrity": "sha512-uCgsDBPUQDvzr11ePPo4TVEocxj8RXjUVSC/Y8N1YpVAI/XDdUwGJu78xmlGhTxj2ntaWM7n9LQdRtyhOzT2YQ==" - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.16.tgz", - "integrity": "sha512-KbSEj8l9zYkMVHpQqM3wJNxS1d9h3U9vm/uE5tpjMbaj3lTp+0noe3KPsV5dSD9jxKnf9jO9Ip9FX5PKNZCKow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz", + "integrity": "sha512-Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q==", + "dev": true, "requires": { "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.12.16", + "@babel/helper-member-expression-to-functions": "^7.12.13", "@babel/helper-optimise-call-expression": "^7.12.13", "@babel/helper-replace-supers": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13" }, "dependencies": { - "@babel/helper-member-expression-to-functions": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.16.tgz", - "integrity": "sha512-zYoZC1uvebBFmj1wFAlXwt35JLEgecefATtKp20xalwEK8vHAixLBXTGxNrVGEmTT+gzOThUgr8UEdgtalc1BQ==", + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, "requires": { "@babel/types": "^7.12.13" } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", + "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.16.tgz", - "integrity": "sha512-jAcQ1biDYZBdaAxB4yg46/XirgX7jBDiMHDbwYQOgtViLBXGxJpZQ24jutmBqAIB/q+AwB6j+NbBXjKxEY8vqg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.13.tgz", + "integrity": "sha512-XC+kiA0J3at6E85dL5UnCYfVOcIZ834QcAY0TIpgUVnz0zDzg+0TtvZTnJ4g9L1dPRGe30Qi03XCIS4tYCLtqw==", + "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "regexpu-core": "^4.7.1" @@ -210,213 +498,98 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz", "integrity": "sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw==", + "dev": true, "requires": { "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz", - "integrity": "sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz", - "integrity": "sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==", - "requires": { - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "requires": { - "@babel/types": "^7.12.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", - "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", - "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13", - "@babel/helper-simple-access": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.12.13", - "@babel/types": "^7.12.13", - "lodash": "^4.17.19" - }, - "dependencies": { - "@babel/helper-module-imports": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", - "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-simple-access": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", - "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", - "requires": { - "@babel/types": "^7.12.13" - } - } - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", - "requires": { - "@babel/types": "^7.12.13" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz", - "integrity": "sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-replace-supers": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", - "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" - }, - "@babel/helper-validator-option": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", - "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" - }, - "@babel/helper-wrap-function": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz", - "integrity": "sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw==", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==" - }, - "@babel/generator": { - "version": "7.12.15", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", - "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", - "requires": { - "@babel/types": "^7.12.13", - "jsesc": "^2.5.1" - } - }, "@babel/helper-function-name": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==" + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "color-name": { @@ -444,6 +617,456 @@ } } }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-hoist-variables": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz", + "integrity": "sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz", + "integrity": "sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz", + "integrity": "sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dev": true, + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz", + "integrity": "sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, "@babel/helpers": { "version": "7.12.5", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", @@ -476,6 +1099,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz", "integrity": "sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-remap-async-to-generator": "^7.12.13", @@ -485,7 +1109,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -523,58 +1148,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", "dev": true - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "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" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" } } }, @@ -582,6 +1155,7 @@ "version": "7.12.1", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-dynamic-import": "^7.8.0" @@ -609,6 +1183,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -617,7 +1192,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -625,6 +1201,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz", "integrity": "sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-json-strings": "^7.8.0" @@ -633,17 +1210,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -651,6 +1219,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz", "integrity": "sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -659,7 +1228,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -703,6 +1273,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz", "integrity": "sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", @@ -712,7 +1283,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -720,6 +1292,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz", "integrity": "sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" @@ -728,14 +1301,15 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.16.tgz", - "integrity": "sha512-O3ohPwOhkwji5Mckb7F/PJpJVJY3DpPsrt/F0Bk40+QMk9QpAIqeGusHWqu/mYqsM8oBa6TziL/2mbERWsUZjg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.13.tgz", + "integrity": "sha512-0ZwjGfTcnZqyV3y9DSD1Yk3ebp+sIUpT2YDqP8hovzaNZnQq2Kd7PEqa6iOIUDBXBt7Jl3P7YAcEIL5Pz8u09Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13", @@ -755,6 +1329,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz", "integrity": "sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg==", + "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" @@ -763,7 +1338,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -771,6 +1347,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" @@ -779,7 +1356,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -787,6 +1365,7 @@ "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -801,24 +1380,19 @@ } }, "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" - } + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-decorators": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", "integrity": "sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -826,7 +1400,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -834,6 +1409,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -859,6 +1435,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" } @@ -867,6 +1444,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz", "integrity": "sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -874,7 +1452,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -891,6 +1470,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -899,6 +1479,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -906,7 +1487,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -914,6 +1496,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } @@ -922,6 +1505,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -930,6 +1514,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } @@ -938,6 +1523,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -946,6 +1532,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -954,29 +1541,25 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" - } + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-typescript": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -984,7 +1567,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -992,6 +1576,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz", "integrity": "sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -999,7 +1584,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1007,6 +1593,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz", "integrity": "sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A==", + "dev": true, "requires": { "@babel/helper-module-imports": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13", @@ -1017,6 +1604,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, "requires": { "@babel/types": "^7.12.13" } @@ -1024,7 +1612,25 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } } } }, @@ -1032,6 +1638,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1039,7 +1646,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1047,6 +1655,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1054,7 +1663,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1062,6 +1672,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz", "integrity": "sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA==", + "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-function-name": "^7.12.13", @@ -1072,10 +1683,131 @@ "globals": "^11.1.0" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -1083,6 +1815,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz", "integrity": "sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1090,7 +1823,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1098,6 +1832,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz", "integrity": "sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1105,7 +1840,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1113,6 +1849,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" @@ -1121,7 +1858,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1129,6 +1867,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1136,7 +1875,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1144,6 +1884,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "dev": true, "requires": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" @@ -1152,7 +1893,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1178,6 +1920,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz", "integrity": "sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1185,7 +1928,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1193,15 +1937,82 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "dev": true, "requires": { "@babel/helper-function-name": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } } } }, @@ -1209,6 +2020,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1216,7 +2028,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1224,6 +2037,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1231,7 +2045,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1239,16 +2054,173 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz", "integrity": "sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA==", + "dev": true, "requires": { "@babel/helper-module-transforms": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", + "lodash": "^4.17.19" + } + }, "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -1256,6 +2228,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz", "integrity": "sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ==", + "dev": true, "requires": { "@babel/helper-module-transforms": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13", @@ -1263,18 +2236,166 @@ "babel-plugin-dynamic-import-node": "^2.3.3" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", + "lodash": "^4.17.19" + } + }, "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } }, "@babel/helper-simple-access": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, "requires": { "@babel/types": "^7.12.13" } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -1282,6 +2403,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz", "integrity": "sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA==", + "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.12.13", "@babel/helper-module-transforms": "^7.12.13", @@ -1290,10 +2412,166 @@ "babel-plugin-dynamic-import-node": "^2.3.3" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", + "lodash": "^4.17.19" + } + }, "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -1301,15 +2579,172 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz", "integrity": "sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w==", + "dev": true, "requires": { "@babel/helper-module-transforms": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", + "lodash": "^4.17.19" + } + }, "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -1317,6 +2752,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.12.13" } @@ -1325,6 +2761,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1332,7 +2769,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1340,15 +2778,137 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-replace-supers": "^7.12.13" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", + "dev": true + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -1356,6 +2916,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz", "integrity": "sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1363,7 +2924,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1371,6 +2933,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1378,7 +2941,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1417,9 +2981,10 @@ } }, "@babel/plugin-transform-react-jsx": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.16.tgz", - "integrity": "sha512-dNu0vAbIk8OkqJfGtYF6ADk6jagoyAl+Ks5aoltbAlfoKv8d6yooi3j+kObeSQaCj9PgN6KMZPB90wWyek5TmQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.13.tgz", + "integrity": "sha512-hhXZMYR8t9RvduN2uW4sjl6MRtUhzNE726JvoJhpjhxKgRUVkZqTsA0xc49ALZxQM7H26pZ/lLvB2Yrea9dllA==", + "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-module-imports": "^7.12.13", @@ -1432,6 +2997,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, "requires": { "@babel/types": "^7.12.13" } @@ -1439,22 +3005,42 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } } } }, "@babel/plugin-transform-react-jsx-development": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.16.tgz", - "integrity": "sha512-GOp5SkMC4zhHwLbOSYhF+WpIZSf5bGzaKQTT9jWkemJRDM/CE6FtPydXjEYO3pHcna2Zjvg4mQ1lfjOR/4jsaQ==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.12.tgz", + "integrity": "sha512-i1AxnKxHeMxUaWVXQOSIco4tvVvvCxMSfeBMnMM06mpaJt3g+MpxYQQrDfojUQldP1xxraPSJYSMEljoWM/dCg==", + "dev": true, "requires": { - "@babel/plugin-transform-react-jsx": "^7.12.16" + "@babel/plugin-transform-react-jsx": "^7.12.12" } }, "@babel/plugin-transform-react-jsx-self": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.13.tgz", "integrity": "sha512-FXYw98TTJ125GVCCkFLZXlZ1qGcsYqNQhVBQcZjyrwf8FEUtVfKIoidnO8S0q+KBQpDYNTmiGo1gn67Vti04lQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1462,7 +3048,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1470,6 +3057,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.13.tgz", "integrity": "sha512-O5JJi6fyfih0WfDgIJXksSPhGP/G0fQpfxYy87sDc+1sFmsCS6wr3aAn+whbzkhbjtq4VMqLRaSzR6IsshIC0Q==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1477,7 +3065,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1485,6 +3074,7 @@ "version": "7.12.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", + "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.10.4", "@babel/helper-plugin-utils": "^7.10.4" @@ -1494,6 +3084,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", + "dev": true, "requires": { "regenerator-transform": "^0.14.2" } @@ -1502,6 +3093,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1509,7 +3101,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1537,6 +3130,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1544,7 +3138,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1552,6 +3147,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz", "integrity": "sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" @@ -1560,7 +3156,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1568,6 +3165,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1575,7 +3173,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1583,6 +3182,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz", "integrity": "sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1590,7 +3190,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1598,6 +3199,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1605,16 +3207,18 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, "@babel/plugin-transform-typescript": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.16.tgz", - "integrity": "sha512-88hep+B6dtDOiEqtRzwHp2TYO+CN8nbAV3eh5OpBGPsedug9J6y1JwLKzXRIGGQZDC8NlpxpQMIIxcfIW96Wgw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.13.tgz", + "integrity": "sha512-z1VWskPJxK9tfxoYvePWvzSJC+4pxXr8ArmRm5ofqgi+mwpKg6lvtomkIngBYMJVnKhsFYVysCQLDn//v2RHcg==", + "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.16", + "@babel/helper-create-class-features-plugin": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-typescript": "^7.12.13" }, @@ -1622,7 +3226,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1630,6 +3235,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1637,7 +3243,8 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, @@ -1645,6 +3252,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" @@ -1653,24 +3261,25 @@ "@babel/helper-plugin-utils": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", - "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true } } }, "@babel/preset-env": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.16.tgz", - "integrity": "sha512-BXCAXy8RE/TzX416pD2hsVdkWo0G+tYd16pwnRV4Sc0fRwTLRS/Ssv8G5RLXUGQv7g4FG7TXkdDJxCjQ5I+Zjg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.13.tgz", + "integrity": "sha512-JUVlizG8SoFTz4LmVUL8++aVwzwxcvey3N0j1tRbMAXVEy95uQ/cnEkmEKHN00Bwq4voAV3imQGnQvpkLAxsrw==", "dev": true, "requires": { "@babel/compat-data": "^7.12.13", - "@babel/helper-compilation-targets": "^7.12.16", + "@babel/helper-compilation-targets": "^7.12.13", "@babel/helper-module-imports": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-validator-option": "^7.12.16", + "@babel/helper-validator-option": "^7.12.11", "@babel/plugin-proposal-async-generator-functions": "^7.12.13", "@babel/plugin-proposal-class-properties": "^7.12.13", - "@babel/plugin-proposal-dynamic-import": "^7.12.16", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", "@babel/plugin-proposal-export-namespace-from": "^7.12.13", "@babel/plugin-proposal-json-strings": "^7.12.13", "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13", @@ -1678,7 +3287,7 @@ "@babel/plugin-proposal-numeric-separator": "^7.12.13", "@babel/plugin-proposal-object-rest-spread": "^7.12.13", "@babel/plugin-proposal-optional-catch-binding": "^7.12.13", - "@babel/plugin-proposal-optional-chaining": "^7.12.16", + "@babel/plugin-proposal-optional-chaining": "^7.12.13", "@babel/plugin-proposal-private-methods": "^7.12.13", "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0", @@ -1746,20 +3355,39 @@ "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", "dev": true }, - "@babel/helper-validator-option": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.16.tgz", - "integrity": "sha512-uCgsDBPUQDvzr11ePPo4TVEocxj8RXjUVSC/Y8N1YpVAI/XDdUwGJu78xmlGhTxj2ntaWM7n9LQdRtyhOzT2YQ==", + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.16.tgz", - "integrity": "sha512-yiDkYFapVxNOCcBfLnsb/qdsliroM+vc3LHiZwS4gh7pFjo5Xq3BDhYBNn3H3ao+hWPvqeeTdU+s+FIvokov+w==", + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" } }, "semver": { @@ -1792,6 +3420,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", @@ -1822,14 +3451,14 @@ } }, "@babel/preset-typescript": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.16.tgz", - "integrity": "sha512-IrYNrpDSuQfNHeqh7gsJsO35xTGyAyGkI1VxOpBEADFtxCqZ77a1RHbJqM3YJhroj7qMkNMkNtcw0lqeZUrzow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.13.tgz", + "integrity": "sha512-gYry7CeXwD2wtw5qHzrtzKaShEhOfTmKb4i0ZxeYBcBosN5VuAudsNbjX7Oj5EAfQ3K4s4HsVMQRRcqGsPvs2A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-validator-option": "^7.12.16", - "@babel/plugin-transform-typescript": "^7.12.16" + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-transform-typescript": "^7.12.13" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1837,12 +3466,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.16.tgz", - "integrity": "sha512-uCgsDBPUQDvzr11ePPo4TVEocxj8RXjUVSC/Y8N1YpVAI/XDdUwGJu78xmlGhTxj2ntaWM7n9LQdRtyhOzT2YQ==", - "dev": true } } }, @@ -1857,6 +3480,30 @@ "make-dir": "^2.1.0", "pirates": "^4.0.0", "source-map-support": "^0.5.16" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "@babel/runtime": { @@ -1865,6 +3512,13 @@ "integrity": "sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw==", "requires": { "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + } } }, "@babel/runtime-corejs3": { @@ -1875,63 +3529,58 @@ "requires": { "core-js-pure": "^3.0.0", "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" }, "dependencies": { - "@babel/parser": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", - "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==" + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true } } }, - "@babel/traverse": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", - "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13", + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz", + "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" }, "dependencies": { - "@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-validator-identifier": { + "@babel/code-frame": { "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" - }, - "@babel/parser": { - "version": "7.12.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz", - "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==" + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, "requires": { "ms": "2.1.2" } @@ -1939,18 +3588,28 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", + "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", + "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.10.4", "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + } } }, "@bcoe/v8-coverage": { @@ -2121,13 +3780,21 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { - "ms": "2.1.2" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" } }, "globals": { @@ -2145,10 +3812,16 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } @@ -2209,6 +3882,14 @@ "get-package-type": "^0.1.0", "js-yaml": "^3.13.1", "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } } }, "@istanbuljs/schema": { @@ -2271,12 +3952,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2324,23 +3999,13 @@ "strip-ansi": "^6.0.0" }, "dependencies": { - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" + "type-fest": "^0.11.0" } }, "ansi-regex": { @@ -2389,52 +4054,11 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dev": true, - "requires": { - "@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" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true }, "rimraf": { "version": "3.0.2", @@ -2445,12 +4069,6 @@ "glob": "^7.1.3" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -2468,6 +4086,12 @@ "requires": { "has-flag": "^4.0.0" } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true } } }, @@ -2581,59 +4205,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dev": true, - "requires": { - "@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" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2744,12 +4315,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2765,6 +4330,7 @@ "version": "26.6.2", "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -2777,6 +4343,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -2785,6 +4352,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2794,6 +4362,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -2801,17 +4370,20 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -2917,49 +4489,47 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.4", + "@nodelib/fs.stat": "2.0.3", "run-parallel": "^1.1.9" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true - } } }, "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.4", + "@nodelib/fs.scandir": "2.1.3", "fastq": "^1.6.0" } }, "@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.1.tgz", + "integrity": "sha512-LtWTicuF2wp7PNTuyCwABx7nNG+DnzSE8gN0iWxkC6mpgm/iOPu0ZMTkXuCxmJxtWFsDxUaixM9COSNJEMUfuQ==", "dev": true, "requires": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" }, "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -3068,9 +4638,9 @@ "dev": true }, "@sinonjs/commons": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz", - "integrity": "sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", "dev": true, "requires": { "type-detect": "4.0.8" @@ -3111,6 +4681,12 @@ "uuid": "^8.0.0" }, "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -3135,6 +4711,14 @@ "memoizerific": "^1.11.3", "react": "^16.8.3", "regenerator-runtime": "^0.13.3" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, "@storybook/addon-knobs": { @@ -3162,6 +4746,14 @@ "react-lifecycles-compat": "^3.0.4", "react-select": "^3.0.8", "regenerator-runtime": "^0.13.3" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, "@storybook/addon-links": { @@ -3182,6 +4774,14 @@ "qs": "^6.6.0", "regenerator-runtime": "^0.13.3", "ts-dedent": "^1.1.1" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, "@storybook/addons": { @@ -3199,6 +4799,14 @@ "core-js": "^3.0.1", "global": "^4.3.2", "regenerator-runtime": "^0.13.3" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, "@storybook/api": { @@ -3227,6 +4835,14 @@ "telejson": "^5.0.2", "ts-dedent": "^1.1.1", "util-deprecate": "^1.0.2" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, "@storybook/channel-postmessage": { @@ -3433,6 +5049,21 @@ "webpack-virtual-modules": "^0.2.2" }, "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -3452,6 +5083,27 @@ "supports-color": "^7.1.0" } }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3473,12 +5125,147 @@ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "dev": true }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3487,6 +5274,12 @@ "requires": { "has-flag": "^4.0.0" } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true } } }, @@ -3584,17 +5377,6 @@ "pnp-webpack-plugin": "^1.6.4", "react-docgen-typescript-plugin": "^0.6.2", "semver": "^7.3.2" - }, - "dependencies": { - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "@storybook/react": { @@ -3625,21 +5407,6 @@ "webpack": "^4.43.0" }, "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "react-docgen-typescript-plugin": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-0.5.2.tgz", @@ -3654,6 +5421,12 @@ "tslib": "^2.0.0" } }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, "tslib": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", @@ -3743,6 +5516,14 @@ "regenerator-runtime": "^0.13.3", "resolve-from": "^5.0.0", "store2": "^2.7.1" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, "@surma/rollup-plugin-off-main-thread": { @@ -3856,6 +5637,18 @@ "path-type": "^4.0.0", "yaml": "^1.10.0" } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@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" + } } } }, @@ -3904,11 +5697,17 @@ "yaml": "^1.10.0" } }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@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" + } } } }, @@ -3928,6 +5727,12 @@ "loader-utils": "^2.0.0" }, "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -3980,9 +5785,9 @@ } }, "@types/babel__traverse": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", - "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", + "version": "7.0.16", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.16.tgz", + "integrity": "sha512-S63Dt4CZOkuTmpLGGWtT/mQdVORJOpx6SZWGVaP56dda/0Nx5nEe82K7/LAm8zYr6SfMq+1N2OreIOrHAx656w==", "dev": true, "requires": { "@babel/types": "^7.3.0" @@ -4027,9 +5832,9 @@ "dev": true }, "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", "dev": true, "requires": { "@types/node": "*" @@ -4050,12 +5855,14 @@ "@types/istanbul-lib-coverage": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true }, "@types/istanbul-lib-report": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, "requires": { "@types/istanbul-lib-coverage": "*" } @@ -4064,6 +5871,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, "requires": { "@types/istanbul-lib-report": "*" } @@ -4115,14 +5923,14 @@ "dev": true }, "@types/node": { - "version": "14.14.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.27.tgz", - "integrity": "sha512-Ecfmo4YDQPwuqTCl1yBxLV5ihKfRlkBmzUEDcfIRvDxOTGQEeikr317Ln7Gcv0tjA8dVgKI3rniqW2G1OyKDng==" + "version": "14.11.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.8.tgz", + "integrity": "sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw==" }, "@types/node-fetch": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz", - "integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", "dev": true, "requires": { "@types/node": "*", @@ -4153,9 +5961,9 @@ "dev": true }, "@types/prettier": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.2.0.tgz", - "integrity": "sha512-O3SQC6+6AySHwrspYn2UvC6tjo6jCTMMmylxZUFhE1CulVu5l3AxU6ca9lrJDTQDVllF62LIxVSx5fuYL6LiZg==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", + "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", "dev": true }, "@types/prop-types": { @@ -4312,9 +6120,10 @@ } }, "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", - "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", + "version": "15.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.11.tgz", + "integrity": "sha512-jfcNBxHFYJ4nPIacsi3woz1+kvUO6s1CyeEhtnDHBjHUMNj5UlW2GynmnSgiJJEdNg9yW5C8lfoNRZrHGv5EqA==", + "dev": true, "requires": { "@types/yargs-parser": "*" } @@ -4322,7 +6131,8 @@ "@types/yargs-parser": { "version": "20.2.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true }, "@types/zen-observable": { "version": "0.8.2", @@ -4345,29 +6155,11 @@ "tsutils": "^3.17.1" }, "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } } } }, @@ -4416,23 +6208,6 @@ "@typescript-eslint/types": "4.15.0", "@typescript-eslint/typescript-estree": "4.15.0", "debug": "^4.1.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } } }, "@typescript-eslint/scope-manager": { @@ -4464,117 +6239,6 @@ "is-glob": "^4.0.1", "semver": "^7.3.2", "tsutils": "^3.17.1" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } } }, "@typescript-eslint/visitor-keys": { @@ -4794,64 +6458,19 @@ "webpack-log": "^1.1.2" }, "dependencies": { - "@babel/parser": { - "version": "7.12.15", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", - "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==" - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", - "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "chalk": "^2.0.1" } }, "uuid": { @@ -4946,9 +6565,9 @@ } }, "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-globals": { @@ -4959,14 +6578,6 @@ "requires": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } } }, "acorn-jsx": { @@ -4997,6 +6608,12 @@ "regex-parser": "^2.2.11" }, "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -5063,12 +6680,6 @@ "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, "alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", @@ -5090,10 +6701,10 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, "string-width": { @@ -5125,21 +6736,10 @@ "dev": true }, "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true }, "ansi-html": { "version": "0.0.7", @@ -5148,9 +6748,10 @@ "dev": true }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "ansi-styles": { "version": "3.2.1", @@ -5299,6 +6900,46 @@ "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "arg": { @@ -5335,8 +6976,7 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, "arr-flatten": { "version": "1.1.0", @@ -5347,8 +6987,7 @@ "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, "array-flatten": { "version": "1.1.1", @@ -5370,13 +7009,10 @@ } }, "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true }, "array-uniq": { "version": "1.0.3", @@ -5387,8 +7023,7 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, "array.prototype.flat": { "version": "1.2.4", @@ -5427,9 +7062,9 @@ } }, "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true }, "asap": { @@ -5457,41 +7092,6 @@ "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0", "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } } }, "assert-plus": { @@ -5503,8 +7103,7 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "ast-types": { "version": "0.14.2", @@ -5516,9 +7115,9 @@ }, "dependencies": { "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", "dev": true } } @@ -5536,10 +7135,13 @@ "dev": true }, "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } }, "async-each": { "version": "1.0.3", @@ -5568,8 +7170,7 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "autoprefixer": { "version": "9.8.6", @@ -5593,15 +7194,15 @@ "dev": true }, "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", + "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", "dev": true }, "axe-core": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.2.tgz", - "integrity": "sha512-V+Nq70NxKhYt89ArVcaNL9FDryB3vQOd+BFXZIfO3RP6rwtj+2yqqqdHEkacutglPaZLkJeuXKCjCJDMGPtPqg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.1.tgz", + "integrity": "sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ==", "dev": true }, "axios": { @@ -5630,6 +7231,12 @@ "js-tokens": "^3.0.2" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -5655,6 +7262,15 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -5784,12 +7400,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -5851,14 +7461,15 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, "requires": { "object.assign": "^4.1.0" } }, "babel-plugin-emotion": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz", - "integrity": "sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==", + "version": "10.0.33", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz", + "integrity": "sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -6415,19 +8026,10 @@ "regenerator-runtime": "^0.13.4" } }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", "dev": true }, "semver": { @@ -6455,15 +8057,9 @@ }, "dependencies": { "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", "dev": true } } @@ -6484,7 +8080,6 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -6499,7 +8094,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -6508,7 +8102,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -6517,7 +8110,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -6526,7 +8118,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -6581,35 +8172,47 @@ "check-types": "^11.1.1", "hoopy": "^0.1.4", "tryer": "^1.0.1" + }, + "dependencies": { + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + } } }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, "bignumber.js": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" }, "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", "dev": true }, "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, "body-parser": { @@ -6639,10 +8242,29 @@ "ms": "2.0.0" } }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true } } @@ -6706,6 +8328,12 @@ "color-convert": "^2.0.1" } }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -6731,12 +8359,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -6777,6 +8399,12 @@ "requires": { "has-flag": "^4.0.0" } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true } } }, @@ -6794,6 +8422,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -6855,6 +8484,14 @@ "requires": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", + "dev": true + } } }, "browserify-sign": { @@ -6874,22 +8511,34 @@ "safe-buffer": "^5.2.0" }, "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true } } }, @@ -6906,6 +8555,7 @@ "version": "4.16.3", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, "requires": { "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", @@ -7009,6 +8659,55 @@ "unique-filename": "^1.1.1" }, "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -7017,6 +8716,26 @@ "requires": { "glob": "^7.1.3" } + }, + "tar": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true } } }, @@ -7024,7 +8743,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -7041,6 +8759,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -7069,15 +8788,6 @@ } } }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -7102,12 +8812,6 @@ } } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, "caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -7123,7 +8827,8 @@ "caniuse-lite": { "version": "1.0.30001185", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz", - "integrity": "sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==" + "integrity": "sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==", + "dev": true }, "capture-exit": { "version": "2.0.0", @@ -7180,12 +8885,6 @@ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", "dev": true }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, "check-types": { "version": "11.1.2", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", @@ -7193,51 +8892,25 @@ "dev": true }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", "dev": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.3.1", + "fsevents": "~2.1.2", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.5.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } } }, "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "chrome-trace-event": { @@ -7252,7 +8925,8 @@ "ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true }, "cipher-base": { "version": "1.0.4", @@ -7274,7 +8948,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -7286,7 +8959,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -7320,12 +8992,12 @@ "dev": true }, "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^3.1.0" + "restore-cursor": "^2.0.0" } }, "cli-table3": { @@ -7345,11 +9017,12 @@ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "optional": true }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -7379,20 +9052,10 @@ } } }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "dev": true, - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - } - }, "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, "clipboard": { @@ -7417,17 +9080,6 @@ "execa": "^0.8.0" }, "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, "execa": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", @@ -7442,138 +9094,6 @@ "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } } } }, @@ -7586,6 +9106,17 @@ "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, "clsx": { @@ -7608,12 +9139,21 @@ "@types/q": "^1.5.1", "chalk": "^2.4.1", "q": "^1.1.2" + }, + "dependencies": { + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + } } }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, "collect-v8-coverage": { "version": "1.0.1", @@ -7625,7 +9165,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -7667,14 +9206,8 @@ "colorette": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "optional": true + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true }, "combined-stream": { "version": "1.0.8", @@ -7711,8 +9244,7 @@ "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "compose-function": { "version": "3.0.3", @@ -7761,6 +9293,12 @@ "requires": { "ms": "2.0.0" } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true } } }, @@ -7785,6 +9323,46 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "confusing-browser-globals": { @@ -7830,6 +9408,14 @@ "dev": true, "requires": { "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "content-type": { @@ -7845,6 +9431,14 @@ "dev": true, "requires": { "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "cookie": { @@ -7871,24 +9465,12 @@ "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } } }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "copy-to-clipboard": { "version": "3.3.1", @@ -7899,15 +9481,16 @@ } }, "core-js": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", - "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", "dev": true }, "core-js-compat": { "version": "3.8.3", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", + "dev": true, "requires": { "browserslist": "^4.16.1", "semver": "7.0.0" @@ -7916,7 +9499,8 @@ "semver": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true } } }, @@ -7943,6 +9527,20 @@ "parse-json": "^5.0.0", "path-type": "^4.0.0", "yaml": "^1.7.2" + }, + "dependencies": { + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@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" + } + } } }, "create-ecdh": { @@ -7955,11 +9553,28 @@ "elliptic": "^6.5.3" }, "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } } } }, @@ -8001,14 +9616,32 @@ } }, "cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } } }, "crypto-browserify": { @@ -8030,12 +9663,6 @@ "randomfill": "^1.0.3" } }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", - "dev": true - }, "css": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", @@ -8132,6 +9759,12 @@ "semver": "^6.3.0" }, "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -8215,6 +9848,15 @@ "postcss": "^7.0.0" }, "dependencies": { + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -8237,16 +9879,6 @@ "resolve-from": "^3.0.0" } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", @@ -8659,18 +10291,21 @@ "whatwg-url": "^8.0.0" } }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", - "dev": true - }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } } }, "decamelize": { @@ -8679,17 +10314,10 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "decimal.js": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", - "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", - "dev": true - }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "dedent": { "version": "0.7.0", @@ -8730,9 +10358,10 @@ "dev": true }, "deepmerge": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", - "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==" + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true }, "default-gateway": { "version": "4.2.0", @@ -8748,6 +10377,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -8756,7 +10386,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -8766,7 +10395,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8775,7 +10403,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -8784,7 +10411,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -8809,50 +10435,6 @@ "slash": "^3.0.0" }, "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, "globby": { "version": "10.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", @@ -8869,25 +10451,23 @@ "slash": "^3.0.0" } }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "is-extglob": "^2.1.1" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "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" } }, "p-map": { @@ -8908,11 +10488,13 @@ "glob": "^7.1.3" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "repeat-string": "^1.6.1" + } } } }, @@ -9010,41 +10592,15 @@ "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } } }, "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } + "path-type": "^4.0.0" } }, "dns-equal": { @@ -9117,15 +10673,15 @@ }, "dependencies": { "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", + "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==", "dev": true }, "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", "dev": true } } @@ -9209,14 +10765,6 @@ "dev": true, "requires": { "is-obj": "^2.0.0" - }, - "dependencies": { - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - } } }, "dotenv": { @@ -9277,6 +10825,44 @@ "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "ecc-jsbn": { @@ -9305,9 +10891,10 @@ } }, "electron-to-chromium": { - "version": "1.3.663", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.663.tgz", - "integrity": "sha512-xkVkzHj6k3oRRGlmdgUCCLSLhtFYHDCTH7SeK+LJdJjnsLcrdbpr8EYmfMQhez3V/KPO5UScSpzQ0feYX6Qoyw==" + "version": "1.3.657", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz", + "integrity": "sha512-/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw==", + "dev": true }, "elegant-spinner": { "version": "1.0.1", @@ -9324,39 +10911,10 @@ "batch-processor": "1.0.0" } }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", - "dev": true - }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "emojis-list": { @@ -9386,7 +10944,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "requires": { "once": "^1.4.0" } @@ -9413,173 +10970,11 @@ "tapable": "^1.0.0" }, "dependencies": { - "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz", - "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.12.1" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz", - "integrity": "sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz", - "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz", - "integrity": "sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-flow": "^7.12.1" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", - "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/preset-env": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz", - "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==", - "requires": { - "@babel/compat-data": "^7.12.1", - "@babel/helper-compilation-targets": "^7.12.1", - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.1", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.1", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.1", - "core-js-compat": "^3.6.2", - "semver": "^5.5.0" - } - }, - "@babel/preset-react": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.1.tgz", - "integrity": "sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-react-display-name": "^7.12.1", - "@babel/plugin-transform-react-jsx": "^7.12.1", - "@babel/plugin-transform-react-jsx-development": "^7.12.1", - "@babel/plugin-transform-react-jsx-self": "^7.12.1", - "@babel/plugin-transform-react-jsx-source": "^7.12.1", - "@babel/plugin-transform-react-pure-annotations": "^7.12.1" - } - }, - "@babel/preset-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz", - "integrity": "sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-typescript": "^7.12.1" - } - }, - "@babel/runtime": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz", - "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==", - "requires": { - "regenerator-runtime": "^0.13.4" - } + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "memory-fs": { "version": "0.5.0", @@ -9591,20 +10986,35 @@ "readable-stream": "^2.0.1" } }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } } } }, @@ -9700,11 +11110,14 @@ "isarray": "^2.0.5" }, "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } } } }, @@ -9766,7 +11179,8 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true }, "escape-html": { "version": "1.0.3", @@ -9792,54 +11206,21 @@ "source-map": "~0.6.1" }, "dependencies": { - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } } } }, "eslint": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", - "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz", + "integrity": "sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", + "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -9851,7 +11232,7 @@ "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", - "esquery": "^1.2.0", + "esquery": "^1.4.0", "esutils": "^2.0.2", "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", @@ -9878,6 +11259,15 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", @@ -9893,11 +11283,6 @@ "color-convert": "^2.0.1" } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, "chalk": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", @@ -9934,25 +11319,6 @@ "which": "^2.0.1" } }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, "eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -9976,15 +11342,21 @@ "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", "dev": true }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "estraverse": "^5.1.0" } }, + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + }, "globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", @@ -10006,36 +11378,57 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" } }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -10045,6 +11438,12 @@ "ansi-regex": "^5.0.0" } }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10053,6 +11452,30 @@ "requires": { "has-flag": "^4.0.0" } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -10200,6 +11623,14 @@ "requires": { "eslint-utils": "^1.4.2", "regexpp": "^3.0.0" + }, + "dependencies": { + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + } } }, "eslint-plugin-flowtype": { @@ -10310,12 +11741,6 @@ "semver": "^6.1.0" }, "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -10334,9 +11759,9 @@ } }, "eslint-plugin-promise": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", - "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", + "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", "dev": true }, "eslint-plugin-react": { @@ -10376,9 +11801,9 @@ "dev": true }, "eslint-plugin-standard": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz", - "integrity": "sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz", + "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==", "dev": true }, "eslint-plugin-testing-library": { @@ -10434,15 +11859,6 @@ "eslint-visitor-keys": "^1.1.0" } }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -10461,46 +11877,16 @@ "requires": { "eslint-visitor-keys": "^1.1.0" } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } } } }, "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, @@ -10516,7 +11902,8 @@ "eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true }, "eslint-webpack-plugin": { "version": "2.5.0", @@ -10531,10 +11918,10 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true }, "schema-utils": { @@ -10559,26 +11946,12 @@ "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -10596,6 +11969,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "requires": { "estraverse": "^5.2.0" }, @@ -10603,14 +11977,16 @@ "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true } } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true }, "estree-walker": { "version": "1.0.1", @@ -10621,7 +11997,8 @@ "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, "etag": { "version": "1.8.1", @@ -10629,12 +12006,6 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, "events": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", @@ -10694,41 +12065,20 @@ "which": "^1.2.9" } }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } } } }, @@ -10742,7 +12092,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -10757,7 +12106,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -10766,7 +12114,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -10775,7 +12122,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10796,11 +12142,6 @@ "jest-regex-util": "^26.0.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -10874,16 +12215,16 @@ "ms": "2.0.0" } }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true } } @@ -10898,9 +12239,9 @@ }, "dependencies": { "type": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.2.0.tgz", - "integrity": "sha512-M/u37b4oSGlusaU8ZB96BfFPWQ8MbsZYXB+kXGMiDj6IKinkcNaQvmirBuWj8mAXqP6LYn1rQvbTYum3yPhaOA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", + "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==", "dev": true } } @@ -10915,7 +12256,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -10925,29 +12265,24 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } } } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -10963,7 +12298,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -10972,7 +12306,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -10981,7 +12314,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -10990,7 +12322,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -10999,7 +12330,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -11026,164 +12356,17 @@ "dev": true }, "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", "dev": true, "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" } }, "fast-json-parse": { @@ -11231,9 +12414,9 @@ "integrity": "sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==" }, "fastq": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz", - "integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", + "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -11273,9 +12456,9 @@ "dev": true }, "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -11300,6 +12483,18 @@ "schema-utils": "^3.0.0" }, "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -11361,6 +12556,13 @@ } } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "filelist": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", @@ -11380,6 +12582,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -11421,14 +12624,10 @@ "pkg-dir": "^3.0.0" }, "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "locate-path": { "version": "3.0.0", @@ -11440,6 +12639,16 @@ "path-exists": "^3.0.0" } }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -11455,6 +12664,12 @@ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", @@ -11462,7 +12677,38 @@ "dev": true, "requires": { "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + } } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" } } }, @@ -11669,6 +12915,44 @@ "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "follow-redirects": { @@ -11677,13 +12961,22 @@ "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", "requires": { "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } } }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "forever-agent": { "version": "0.6.1", @@ -11855,6 +13148,11 @@ "tslib": "^1.10.0" }, "dependencies": { + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==" + }, "scheduler": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", @@ -11876,7 +13174,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -11895,41 +13192,46 @@ "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" }, "dependencies": { - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" } } } }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", @@ -11940,6 +13242,44 @@ "iferr": "^0.1.5", "imurmurhash": "^0.1.4", "readable-stream": "1 || 2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "fs.realpath": { @@ -11949,9 +13289,9 @@ "dev": true }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, "optional": true }, @@ -12004,6 +13344,43 @@ "string-width": "^1.0.1", "strip-ansi": "^3.0.1", "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "gensync": { @@ -12022,6 +13399,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -12047,19 +13425,15 @@ "dev": true }, "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "getpass": { "version": "0.1.7", @@ -12092,15 +13466,41 @@ "requires": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } } }, "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "^4.0.1" } }, "glob-promise": { @@ -12146,23 +13546,13 @@ "ini": "^1.3.5", "kind-of": "^6.0.2", "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } } }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true }, "globalthis": { "version": "1.0.1", @@ -12174,26 +13564,17 @@ } }, "globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", "dev": true, "requires": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" } }, "good-listener": { @@ -12207,9 +13588,10 @@ } }, "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.5.tgz", + "integrity": "sha512-kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw==", + "dev": true }, "graphql": { "version": "14.7.0", @@ -12245,6 +13627,14 @@ "requires": { "duplexer": "^0.1.1", "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } } }, "handle-thing": { @@ -12290,6 +13680,14 @@ "dev": true, "requires": { "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } } }, "has-flag": { @@ -12300,7 +13698,8 @@ "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true }, "has-unicode": { "version": "2.0.1", @@ -12312,7 +13711,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -12323,23 +13721,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -12348,9 +13738,15 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + } } } } @@ -12359,9 +13755,15 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, "requires": { "is-buffer": "^1.1.5" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + } } } } @@ -12375,25 +13777,6 @@ "inherits": "^2.0.4", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } } }, "hash.js": { @@ -12424,12 +13807,6 @@ "space-separated-tokens": "^1.0.0" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, "hex-color-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", @@ -12500,34 +13877,38 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "requires": { - "find-up": "^4.1.0", - "type-fest": "^0.8.1" + "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" } }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { - "lru-cache": "^6.0.0" + "safe-buffer": "~5.1.0" } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" } } }, @@ -12559,9 +13940,9 @@ } }, "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", + "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", "dev": true }, "html-escaper": { @@ -12590,6 +13971,12 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true } } }, @@ -12608,6 +13995,18 @@ "pretty-error": "^2.1.1", "tapable": "^1.1.3", "util.promisify": "1.0.0" + }, + "dependencies": { + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } } }, "htmlparser2": { @@ -12622,19 +14021,6 @@ "entities": "^1.1.1", "inherits": "^2.0.1", "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, "http-deceiver": { @@ -12643,38 +14029,6 @@ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", "dev": true }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, "http-proxy-middleware": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", @@ -12716,6 +14070,12 @@ } } }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -12739,27 +14099,23 @@ } } }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -12801,6 +14157,12 @@ "to-regex": "^3.0.2" } }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", @@ -12833,8 +14195,7 @@ "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" }, "husky": { "version": "3.1.0", @@ -12855,6 +14216,15 @@ "slash": "^3.0.0" }, "dependencies": { + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -12883,59 +14253,11 @@ "resolve-from": "^3.0.0" } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@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" - } - } - } - }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true } } }, @@ -12983,9 +14305,9 @@ "dev": true }, "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, "immer": { @@ -13035,14 +14357,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } } } }, @@ -13105,9 +14419,9 @@ "dev": true }, "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, "inline-style-prefixer": { @@ -13118,133 +14432,6 @@ "css-in-js-utils": "^2.0.0" } }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "internal-ip": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", @@ -13314,24 +14501,23 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + } } } } @@ -13353,13 +14539,10 @@ } }, "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0" - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true }, "is-arrayish": { "version": "0.2.1", @@ -13390,6 +14573,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, "requires": { "ci-info": "^2.0.0" } @@ -13420,24 +14604,23 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + } } } } @@ -13458,7 +14641,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -13468,8 +14650,7 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -13498,22 +14679,19 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, "is-function": { "version": "1.0.2", @@ -13528,12 +14706,12 @@ "dev": true }, "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "^2.1.1" } }, "is-hexadecimal": { @@ -13568,18 +14746,19 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true }, "is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", "dev": true }, "is-observable": { @@ -13629,15 +14808,6 @@ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, "is-potential-custom-element-name": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", @@ -13729,8 +14899,7 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "is-wsl": { "version": "2.2.0", @@ -13742,9 +14911,10 @@ } }, "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, "isexe": { "version": "2.0.0", @@ -13900,88 +15070,13 @@ "chalk": "^2.4.2", "filelist": "^1.0.1", "minimatch": "^3.0.4" - } - }, - "jest": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz", - "integrity": "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==", - "dev": true, - "requires": { - "@jest/core": "^26.6.0", - "import-local": "^3.0.2", - "jest-cli": "^26.6.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "dev": true, - "requires": { - "@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" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -13996,6 +15091,17 @@ "throat": "^5.0.0" }, "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, "execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", @@ -14028,6 +15134,12 @@ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -14036,6 +15148,45 @@ "requires": { "path-key": "^3.0.0" } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -14179,71 +15330,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dev": true, - "requires": { - "@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" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -14655,12 +15747,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -14685,7 +15771,8 @@ "jest-pnp-resolver": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true }, "jest-regex-util": { "version": "26.0.0", @@ -14694,18 +15781,18 @@ "dev": true }, "jest-resolve": { - "version": "26.6.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz", - "integrity": "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==", + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", "dev": true, "requires": { - "@jest/types": "^26.6.0", + "@jest/types": "^26.6.2", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.0", + "jest-util": "^26.6.2", "read-pkg-up": "^7.0.1", - "resolve": "^1.17.0", + "resolve": "^1.18.1", "slash": "^3.0.0" }, "dependencies": { @@ -14749,26 +15836,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, "read-pkg-up": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", @@ -14780,11 +15847,15 @@ "type-fest": "^0.8.1" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } }, "supports-color": { "version": "7.2.0", @@ -14794,6 +15865,12 @@ "requires": { "has-flag": "^4.0.0" } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true } } }, @@ -14870,75 +15947,18 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dev": true, - "requires": { - "@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" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -14985,6 +16005,12 @@ "yargs": "^15.4.1" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -15004,6 +16030,17 @@ "supports-color": "^7.1.0" } }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -15025,59 +16062,32 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dev": true, - "requires": { - "@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" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "slash": { + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -15092,6 +16102,42 @@ "requires": { "has-flag": "^4.0.0" } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } } } }, @@ -15169,68 +16215,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "dev": true, - "requires": { - "@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" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -15246,6 +16230,7 @@ "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, "requires": { "@jest/types": "^26.6.2", "@types/node": "*", @@ -15259,6 +16244,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -15267,6 +16253,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -15276,6 +16263,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -15283,17 +16271,20 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -15386,6 +16377,15 @@ "strip-ansi": "^6.0.0" }, "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", @@ -15432,12 +16432,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -15455,6 +16449,12 @@ "requires": { "has-flag": "^4.0.0" } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true } } }, @@ -15473,6 +16473,15 @@ "string-length": "^4.0.1" }, "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -15520,14 +16529,13 @@ "dev": true, "requires": { "has-flag": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - } } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true } } }, @@ -15570,13 +16578,21 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + } } }, "jsbn": { @@ -15619,10 +16635,27 @@ "xml-name-validator": "^3.0.0" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "ws": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", + "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==", "dev": true } } @@ -15630,7 +16663,8 @@ "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true }, "json-parse-better-errors": { "version": "1.0.2", @@ -15674,9 +16708,9 @@ "dev": true }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -15818,8 +16852,7 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "klaw": { "version": "1.3.1", @@ -15898,19 +16931,23 @@ "dev": true }, "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "libphonenumber-js": { - "version": "1.9.10", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.10.tgz", - "integrity": "sha512-XyBYwt1dQCc9emeb78uCqJv9qy9tJQsg6vYDeJt37dwBYiZga8z0rHI5dcrn3aFKz9C5Nn9azaRBC+wmW91FfQ==" + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.8.4.tgz", + "integrity": "sha512-s0fTPZRB4hcsfDL9p6wUNOLngVh4y3fBPhH33dL7OfkHA2RirI8p3rlR+4f4SMxdcng9jPNOweS2Z47BivHMYw==", + "requires": { + "minimist": "^1.2.5", + "xml2js": "^0.4.17" + } }, "lines-and-columns": { "version": "1.1.6", @@ -15939,6 +16976,15 @@ "stringify-object": "^3.3.0" }, "dependencies": { + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -15951,13 +16997,15 @@ "parse-json": "^4.0.0" } }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { - "ms": "2.1.2" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "execa": { @@ -16002,19 +17050,10 @@ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "npm-run-path": { @@ -16026,27 +17065,56 @@ "path-key": "^3.0.0" } }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, "p-finally": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", "dev": true }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -16072,6 +17140,15 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true + }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } } } }, @@ -16097,6 +17174,12 @@ "strip-ansi": "^3.0.1" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -16116,6 +17199,16 @@ "supports-color": "^2.0.0" } }, + "cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "dev": true, + "requires": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + } + }, "figures": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", @@ -16132,6 +17225,15 @@ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", "dev": true }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, "log-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", @@ -16141,6 +17243,32 @@ "chalk": "^1.0.0" } }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -16161,76 +17289,10 @@ "figures": "^2.0.0" }, "dependencies": { - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - } - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", "dev": true } } @@ -16252,6 +17314,12 @@ "json5": "^1.0.1" }, "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -16325,12 +17393,12 @@ "dev": true }, "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "^2.4.2" } }, "log-update": { @@ -16344,52 +17412,22 @@ "wrap-ansi": "^3.0.1" }, "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" } } } }, "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", + "integrity": "sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==", "dev": true }, "loglevelnext": { @@ -16438,11 +17476,12 @@ } }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { - "yallist": "^4.0.0" + "yallist": "^3.0.2" } }, "magic-string": { @@ -16454,24 +17493,6 @@ "sourcemap-codec": "^1.4.4" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", @@ -16484,8 +17505,7 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, "map-or-similar": { "version": "1.5.0", @@ -16497,7 +17517,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -16572,6 +17591,44 @@ "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "merge-descriptors": { @@ -16583,8 +17640,7 @@ "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "merge2": { "version": "1.4.1", @@ -16608,6 +17664,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, "requires": { "braces": "^3.0.1", "picomatch": "^2.0.5" @@ -16621,14 +17678,6 @@ "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } } }, "mime": { @@ -16638,24 +17687,24 @@ "dev": true }, "mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", "dev": true }, "mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "dev": true, "requires": { - "mime-db": "1.45.0" + "mime-db": "1.44.0" } }, "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "min-document": { @@ -16694,6 +17743,24 @@ "webpack-sources": "^1.1.0" }, "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -16731,17 +17798,7 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minipass-collect": { "version": "1.0.2", @@ -16750,6 +17807,23 @@ "dev": true, "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "minipass-flush": { @@ -16759,6 +17833,23 @@ "dev": true, "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "minipass-pipeline": { @@ -16768,16 +17859,23 @@ "dev": true, "requires": { "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "mississippi": { @@ -16802,7 +17900,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -16812,18 +17909,28 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } } } }, "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } }, "moment": { "version": "2.24.0", @@ -16842,17 +17949,6 @@ "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.3" - }, - "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } } }, "ms": { @@ -16876,11 +17972,12 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": true }, "nano-css": { "version": "5.3.1", @@ -16919,7 +18016,6 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -17049,11 +18145,99 @@ "vm-browserify": "^1.0.1" }, "dependencies": { + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } } } }, @@ -17078,29 +18262,30 @@ "which": "^2.0.2" }, "dependencies": { - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "optional": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "optional": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } } } }, "node-releases": { "version": "1.1.70", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", - "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", + "dev": true }, "normalize-package-data": { "version": "2.5.0", @@ -17132,18 +18317,6 @@ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -17151,14 +18324,6 @@ "dev": true, "requires": { "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - } } }, "npmlog": { @@ -17191,7 +18356,8 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "nwsapi": { "version": "2.2.0", @@ -17214,7 +18380,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -17225,24 +18390,23 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + } } } } @@ -17266,13 +18430,13 @@ "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, "requires": { "isobject": "^3.0.0" } @@ -17281,6 +18445,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -17313,21 +18478,40 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", "dev": true, "requires": { - "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "es-abstract": "^1.17.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -17375,18 +18559,17 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } }, "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "mimic-fn": "^1.0.0" } }, "open": { @@ -17441,17 +18624,17 @@ } }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" } }, "original": { @@ -17481,12 +18664,6 @@ "integrity": "sha512-gIQfzgGgu1wy80EB4/6DaJGHMEGmizq27xHIESrzXq0Y/J0Ay1P3DWk6tuVmEPIZH15zaBlxeEJOqdJKmowHCQ==", "dev": true }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -17547,6 +18724,44 @@ "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "param-case": { @@ -17604,14 +18819,13 @@ } }, "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, "requires": { - "@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" + "json-parse-better-errors": "^1.0.1" } }, "parse5": { @@ -17647,8 +18861,7 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, "patch-package": { "version": "6.2.2", @@ -17703,33 +18916,12 @@ "graceful-fs": "^4.1.6" } }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", @@ -17741,15 +18933,6 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } } } }, @@ -17783,9 +18966,9 @@ "dev": true }, "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { @@ -17794,12 +18977,10 @@ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - } + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true }, "path-type": { "version": "4.0.0", @@ -17829,12 +19010,13 @@ "picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true }, "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pinkie": { @@ -17959,15 +19141,6 @@ "mkdirp": "^0.5.5" }, "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -17977,15 +19150,6 @@ "ms": "^2.1.1" } }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -17997,8 +19161,7 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { "version": "7.0.35", @@ -18362,6 +19525,15 @@ "import-cwd": "^2.0.0" }, "dependencies": { + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -18384,16 +19556,6 @@ "resolve-from": "^3.0.0" } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", @@ -18414,6 +19576,12 @@ "schema-utils": "^1.0.0" }, "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -18981,9 +20149,9 @@ }, "dependencies": { "postcss": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.6.tgz", - "integrity": "sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.5.tgz", + "integrity": "sha512-wMcb7BpDcm3gxQOQx46NDNT36Kk0Ao6PJLLI2ed5vehbbbxCEuslSQzbQ2sfSKy+gkYxhWcGWSeaK+gwm4KIZg==", "dev": true, "requires": { "colorette": "^1.2.1", @@ -19074,9 +20242,9 @@ } }, "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, "prepend-http": { @@ -19340,21 +20508,12 @@ "parse-asn1": "^5.0.0", "randombytes": "^2.0.1", "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } } }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -19389,12 +20548,6 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, "qr.js": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz", @@ -19410,9 +20563,9 @@ } }, "qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "dev": true }, "query-string": { @@ -19443,12 +20596,6 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, - "queue-microtask": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz", - "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==", - "dev": true - }, "raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", @@ -19498,6 +20645,33 @@ "http-errors": "1.7.2", "iconv-lite": "0.4.24", "unpipe": "1.0.0" + }, + "dependencies": { + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + } } }, "raw-loader": { @@ -19510,6 +20684,18 @@ "schema-utils": "^3.0.0" }, "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -19544,14 +20730,6 @@ "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - } } }, "react": { @@ -19576,6 +20754,14 @@ "raf": "^3.4.1", "regenerator-runtime": "^0.13.7", "whatwg-fetch": "^3.4.1" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } } }, "react-color": { @@ -19643,12 +20829,48 @@ "@babel/highlight": "^7.8.3" } }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", @@ -19690,12 +20912,32 @@ "pkg-up": "^3.1.0" } }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -19715,11 +20957,15 @@ "debug": "^2.6.0" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } }, "emojis-list": { "version": "2.1.0", @@ -19733,6 +20979,48 @@ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } + } + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -19772,6 +21060,48 @@ "worker-rpc": "^0.1.0" } }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, "inquirer": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", @@ -19883,12 +21213,88 @@ "to-regex": "^3.0.2" } }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -19918,6 +21324,21 @@ "is-number": "^3.0.0", "repeat-string": "^1.6.1" } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -19967,21 +21388,6 @@ "tslib": "^2.0.0" }, "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "tslib": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", @@ -20052,15 +21458,6 @@ "prop-types": "^15.6.1" } }, - "react-input-autosize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-3.0.0.tgz", - "integrity": "sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg==", - "dev": true, - "requires": { - "prop-types": "^15.5.8" - } - }, "react-inspector": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-5.1.0.tgz", @@ -20083,13 +21480,18 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "react-number-format": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-4.4.4.tgz", - "integrity": "sha512-/MuF1GOs1Z0xBaQie8+TTqCxUTT8xxjc6RqIFVWcWB6FM8GNIenSh2ayzN6Y1J2WMcXUDVwMdDXjweHKVjXm/w==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-4.4.1.tgz", + "integrity": "sha512-ZGFMXZ0U7DcmQ3bSZY3FULOA1mfqreT9NIMYZNoa/ouiSgiTQiYA95Uj2KN8ge6BRr+ghA5vraozqWqsHZQw3Q==", "requires": { "prop-types": "^15.7.2" } }, + "react-otp-input": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-otp-input/-/react-otp-input-2.3.0.tgz", + "integrity": "sha512-xzljlohVaPkUqO4H61x4r7KMRSq2ZPYFFZeSqqVXid+kJNL1UekSBP1xPafvI0eGNpus/PA1447jYZf2EJRY0A==" + }, "react-popper": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz", @@ -20121,6 +21523,94 @@ "requires": { "@babel/runtime": "^7.9.2", "react-popper": "^1.3.7" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "requires": { + "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" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } } }, "react-refresh": { @@ -20144,6 +21634,21 @@ "react-is": "^16.6.0", "tiny-invariant": "^1.0.2", "tiny-warning": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + } } }, "react-router-dom": { @@ -20258,12 +21763,6 @@ } } }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true - }, "@svgr/webpack": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.4.0.tgz", @@ -20280,17 +21779,32 @@ "loader-utils": "^2.0.0" } }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } }, "babel-loader": { "version": "8.1.0", @@ -20327,6 +21841,18 @@ } } }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", @@ -20374,10 +21900,40 @@ "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", "dev": true }, - "chownr": { + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "cross-spawn": { @@ -20411,15 +21967,6 @@ "semver": "^7.3.2" } }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "detect-port-alt": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", @@ -20438,24 +21985,9 @@ "requires": { "ms": "2.0.0" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, "dotenv": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", @@ -20468,18 +22000,110 @@ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true }, - "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "eslint": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz", + "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==", "dev": true, "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" } }, "file-loader": { @@ -20534,29 +22158,43 @@ } } }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" } }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "html-webpack-plugin": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", @@ -20597,9 +22235,9 @@ } }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "immer": { @@ -20614,21 +22252,12 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -20655,6 +22284,82 @@ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "dev": true }, + "jest": { + "version": "26.6.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz", + "integrity": "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==", + "dev": true, + "requires": { + "@jest/core": "^26.6.0", + "import-local": "^3.0.2", + "jest-cli": "^26.6.0" + }, + "dependencies": { + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "requires": { + "@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-resolve": { + "version": "26.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz", + "integrity": "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.0", + "read-pkg-up": "^7.0.1", + "resolve": "^1.17.0", + "slash": "^3.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -20666,15 +22371,6 @@ "json5": "^2.1.2" } }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -20692,20 +22388,40 @@ } } }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "minimist": "^1.2.5" + "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" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } }, "p-limit": { "version": "3.1.0", @@ -20716,6 +22432,30 @@ "yocto-queue": "^0.1.0" } }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "react-dev-utils": { "version": "11.0.2", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.2.tgz", @@ -20756,9 +22496,84 @@ "requires": { "@babel/highlight": "^7.10.4" } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, "resolve": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", @@ -20769,11 +22584,14 @@ "path-parse": "^1.0.6" } }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } }, "serialize-javascript": { "version": "5.0.1", @@ -20784,12 +22602,32 @@ "randombytes": "^2.1.0" } }, - "slash": { + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -20805,6 +22643,17 @@ "figgy-pudding": "^3.5.1" } }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -20814,10 +22663,51 @@ "ansi-regex": "^5.0.0" } }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "requires": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ajv": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz", + "integrity": "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + } + } + }, "terser": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz", - "integrity": "sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", + "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", "dev": true, "requires": { "commander": "^2.20.0", @@ -20890,6 +22780,31 @@ "repeat-string": "^1.6.1" } }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, "webpack": { "version": "4.44.2", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", @@ -20921,6 +22836,12 @@ "webpack-sources": "^1.4.1" }, "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, "cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", @@ -20944,6 +22865,16 @@ "y18n": "^4.0.0" } }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -20964,25 +22895,13 @@ "json5": "^1.0.1" } }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "glob": "^7.1.3" } }, "schema-utils": { @@ -21041,11 +22960,50 @@ } } }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } } } }, @@ -21063,6 +23021,17 @@ "prop-types": "^15.6.0", "react-input-autosize": "^3.0.0", "react-transition-group": "^4.3.0" + }, + "dependencies": { + "react-input-autosize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-3.0.0.tgz", + "integrity": "sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg==", + "dev": true, + "requires": { + "prop-types": "^15.5.8" + } + } } }, "react-sizeme": { @@ -21091,9 +23060,9 @@ } }, "react-textarea-autosize": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.1.tgz", - "integrity": "sha512-Vk02C3RWKLjx1wSwcVuPwfTuyGIemBB2MjDi01OnBYxKWSJFA/O7IOzr9FrO8AuRlkupk4X6Kjew2mYyEDXi0A==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.0.tgz", + "integrity": "sha512-3GLWFAan2pbwBeoeNDoqGmSbrShORtgWfaWX0RJDivsUrpShh01saRM5RU/i4Zmf+whpBVEY5cA90Eq8Ub1N3w==", "dev": true, "requires": { "@babel/runtime": "^7.10.2", @@ -21168,30 +23137,31 @@ } }, "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "dependencies": { - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, + "parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", "requires": { - "pify": "^2.0.0" + "@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" } }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" } } }, @@ -21214,6 +23184,18 @@ "locate-path": "^2.0.0" } }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -21248,35 +23230,58 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } } } }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "readdirp": { @@ -21331,25 +23336,29 @@ "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true }, "regenerate-unicode-properties": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, "requires": { "regenerate": "^1.4.0" } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true }, "regenerator-transform": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, "requires": { "@babel/runtime": "^7.8.4" } @@ -21358,7 +23367,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -21390,6 +23398,7 @@ "version": "4.7.1", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, "requires": { "regenerate": "^1.4.0", "regenerate-unicode-properties": "^8.2.0", @@ -21399,34 +23408,17 @@ "unicode-match-property-value-ecmascript": "^1.2.0" } }, - "registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "dev": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "dev": true, - "requires": { - "rc": "^1.0.1" - } - }, "regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true }, "regjsparser": { "version": "0.6.7", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", + "dev": true, "requires": { "jsesc": "~0.5.0" }, @@ -21434,7 +23426,8 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true } } }, @@ -21466,6 +23459,23 @@ "htmlparser2": "^3.10.1", "lodash": "^4.17.20", "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "repeat-element": { @@ -21477,8 +23487,7 @@ "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "request": { "version": "2.88.2", @@ -21525,16 +23534,6 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -21561,18 +23560,6 @@ "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } } }, "require-directory": { @@ -21593,23 +23580,17 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, "resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "requires": { - "is-core-module": "^2.2.0", + "is-core-module": "^2.1.0", "path-parse": "^1.0.6" } }, @@ -21636,8 +23617,7 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "resolve-url-loader": { "version": "3.1.2", @@ -21657,6 +23637,18 @@ "source-map": "0.6.1" }, "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -21706,20 +23698,19 @@ } }, "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "^5.1.0", + "onetime": "^2.0.0", "signal-exit": "^3.0.2" } }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, "retry": { "version": "0.12.0", @@ -21797,14 +23788,6 @@ "@types/estree": "*", "@types/node": "*", "acorn": "^7.1.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } } }, "rollup-plugin-babel": { @@ -21895,13 +23878,10 @@ "dev": true }, "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "dev": true }, "run-queue": { "version": "1.0.3", @@ -21917,26 +23897,16 @@ "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, "requires": { "ret": "~0.1.10" } @@ -22095,12 +24065,6 @@ } } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -22117,6 +24081,14 @@ "dev": true, "requires": { "is-buffer": "^1.1.5" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + } } } } @@ -22193,8 +24165,7 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "saxes": { "version": "5.0.1", @@ -22223,6 +24194,14 @@ "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", "ajv-keywords": "^3.5.2" + }, + "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + } } }, "screenfull": { @@ -22252,6 +24231,12 @@ "node-forge": "^0.10.0" } }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, "semver-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", @@ -22296,11 +24281,30 @@ } } }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true } } }, @@ -22351,12 +24355,6 @@ "string-width": "^2.0.0" } }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, "boxen": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", @@ -22416,17 +24414,6 @@ "vary": "~1.1.2" } }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -22457,62 +24444,12 @@ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, "term-size": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", @@ -22522,15 +24459,6 @@ "execa": "^0.7.0" } }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, "widest-line": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", @@ -22539,12 +24467,6 @@ "requires": { "string-width": "^2.1.1" } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true } } }, @@ -22709,7 +24631,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -22721,10 +24642,17 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } } } }, @@ -22734,12 +24662,6 @@ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", "dev": true }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, "sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", @@ -22766,18 +24688,18 @@ "dev": true }, "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "shell-quote": { @@ -22826,8 +24748,7 @@ "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "simple-swizzle": { "version": "0.2.2", @@ -22853,22 +24774,58 @@ "dev": true }, "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + } + } }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -22884,7 +24841,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -22893,7 +24849,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -22902,7 +24857,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -22910,8 +24864,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -22975,12 +24928,6 @@ "kind-of": "^3.2.0" }, "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -22988,6 +24935,14 @@ "dev": true, "requires": { "is-buffer": "^1.1.5" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + } } } } @@ -23142,12 +25097,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -23248,7 +25197,6 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -23268,10 +25216,9 @@ } }, "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "sourcemap-codec": { "version": "1.4.8", @@ -23323,23 +25270,6 @@ "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } } }, "spdy-transport": { @@ -23354,41 +25284,12 @@ "obuf": "^1.1.2", "readable-stream": "^3.0.6", "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -23423,6 +25324,23 @@ "dev": true, "requires": { "minipass": "^3.1.1" + }, + "dependencies": { + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "stable": { @@ -23440,9 +25358,9 @@ } }, "stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz", + "integrity": "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -23491,7 +25409,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -23501,7 +25418,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -23534,6 +25450,44 @@ "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-each": { @@ -23557,6 +25511,44 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-shift": { @@ -23611,14 +25603,13 @@ "dev": true }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "string.prototype.matchall": { @@ -23679,12 +25670,12 @@ } }, "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "stringify-object": { @@ -23696,14 +25687,23 @@ "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", "is-regexp": "^1.0.0" + }, + "dependencies": { + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + } } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^3.0.0" } }, "strip-bom": { @@ -23731,8 +25731,7 @@ "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, "strip-indent": { "version": "3.0.0", @@ -23744,9 +25743,9 @@ } }, "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, "style-loader": { @@ -23759,6 +25758,12 @@ "schema-utils": "^2.7.0" }, "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -23878,15 +25883,6 @@ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } } } }, @@ -23926,9 +25922,9 @@ }, "dependencies": { "ajv": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.0.tgz", - "integrity": "sha512-svS9uILze/cXbH0z2myCK2Brqprx/+JJYK5pHicT/GQiBfzzhUVAIT6MwqJg8y4xV/zoGsUeuPuwtoiKSGE15g==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.1.tgz", + "integrity": "sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -23943,36 +25939,6 @@ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -23985,17 +25951,6 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -24024,20 +25979,6 @@ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, - "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, "telejson": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/telejson/-/telejson-5.1.0.tgz", @@ -24072,15 +26013,6 @@ "rimraf": "~2.6.2" }, "dependencies": { - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -24092,12 +26024,6 @@ } } }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", - "dev": true - }, "tempy": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", @@ -24109,18 +26035,33 @@ "unique-string": "^1.0.0" }, "dependencies": { - "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } } } }, "term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", + "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", "dev": true }, "terminal-link": { @@ -24131,6 +26072,23 @@ "requires": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } } }, "terser": { @@ -24240,6 +26198,46 @@ "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "thunky": { @@ -24316,24 +26314,23 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + } } } } @@ -24342,7 +26339,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -24354,6 +26350,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { "is-number": "^7.0.0" } @@ -24375,12 +26372,11 @@ "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" }, "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "ip-regex": "^2.1.0", "psl": "^1.1.28", "punycode": "^2.1.1" } @@ -24496,12 +26492,12 @@ "dev": true }, "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "^1.2.1" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -24511,9 +26507,10 @@ "dev": true }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true }, "type-is": { "version": "1.6.18", @@ -24555,12 +26552,14 @@ "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true }, "unicode-match-property-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-property-aliases-ecmascript": "^1.0.4" @@ -24569,18 +26568,19 @@ "unicode-match-property-value-ecmascript": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true }, "unicode-property-aliases-ecmascript": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -24618,15 +26618,6 @@ "imurmurhash": "^0.1.4" } }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", - "dev": true, - "requires": { - "crypto-random-string": "^1.0.0" - } - }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -24649,7 +26640,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -24659,7 +26649,6 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -24670,9 +26659,15 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, "requires": { "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } } } } @@ -24680,14 +26675,7 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" } } }, @@ -24705,12 +26693,33 @@ "requires": { "registry-auth-token": "3.3.2", "registry-url": "3.1.0" + }, + "dependencies": { + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + } } }, "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -24719,8 +26728,7 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, "url": { "version": "0.11.0", @@ -24751,6 +26759,18 @@ "schema-utils": "^3.0.0" }, "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -24783,13 +26803,20 @@ "requires": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" + }, + "dependencies": { + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + } } }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, "use-composed-ref": { "version": "1.1.0", @@ -24815,23 +26842,6 @@ "use-isomorphic-layout-effect": "^1.0.0" } }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -24839,13 +26849,36 @@ "dev": true }, "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } }, "utila": { @@ -25103,7 +27136,11 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, - "optional": true + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } }, "glob-parent": { "version": "3.1.0", @@ -25145,23 +27182,6 @@ "dev": true, "optional": true }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "optional": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -25184,6 +27204,13 @@ } } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, + "optional": true + }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -25206,6 +27233,22 @@ "to-regex": "^3.0.2" } }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -25218,6 +27261,23 @@ "readable-stream": "^2.0.2" } }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "optional": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", @@ -25277,6 +27337,24 @@ "webpack-sources": "^1.4.1" }, "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", @@ -25329,11 +27407,15 @@ "y18n": "^4.0.0" } }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } }, "fill-range": { "version": "4.0.0", @@ -25390,15 +27472,6 @@ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "dev": true }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -25420,15 +27493,6 @@ "to-regex": "^3.0.2" } }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -25476,10 +27540,10 @@ "repeat-string": "^1.6.1" } }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true } } @@ -25502,15 +27566,6 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } } } }, @@ -25555,10 +27610,16 @@ "yargs": "^13.3.2" }, "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "anymatch": { @@ -25582,6 +27643,15 @@ } } }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -25617,6 +27687,12 @@ } } }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -25648,6 +27724,12 @@ "wrap-ansi": "^5.1.0" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -25659,15 +27741,6 @@ } } }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", @@ -25683,6 +27756,12 @@ "rimraf": "^2.6.3" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -25720,7 +27799,11 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, - "optional": true + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } }, "glob-parent": { "version": "3.1.0", @@ -25795,27 +27878,6 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -25836,6 +27898,12 @@ } } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -25867,12 +27935,6 @@ "to-regex": "^3.0.2" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -25894,6 +27956,12 @@ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", @@ -25903,6 +27971,21 @@ "find-up": "^3.0.0" } }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -25929,6 +28012,12 @@ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -25957,6 +28046,12 @@ "strip-ansi": "^5.1.0" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -25968,6 +28063,24 @@ } } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -25998,6 +28111,12 @@ "strip-ansi": "^5.0.0" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -26018,6 +28137,12 @@ "async-limiter": "~1.0.0" } }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, "yargs": { "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", @@ -26058,6 +28183,23 @@ "html-entities": "^1.2.0", "querystring": "^0.2.0", "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "webpack-log": { @@ -26135,6 +28277,23 @@ "dev": true, "requires": { "debug": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } } }, "websocket-driver": { @@ -26185,9 +28344,9 @@ } }, "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -26498,54 +28657,10 @@ "microevent.ts": "~0.1.1" } }, - "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write-file-atomic": { "version": "3.0.3", @@ -26559,18 +28674,26 @@ "typedarray-to-buffer": "^3.1.5" } }, - "ws": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", - "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", - "dev": true - }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + }, "xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", @@ -26583,16 +28706,11 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, "yaml": { "version": "1.10.0", @@ -26600,65 +28718,6 @@ "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", "dev": true }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, "yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", @@ -26667,6 +28726,14 @@ "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } } }, "yocto-queue": { diff --git a/new-lamassu-admin/package.json b/new-lamassu-admin/package.json index 315b0762..0a656213 100644 --- a/new-lamassu-admin/package.json +++ b/new-lamassu-admin/package.json @@ -32,6 +32,7 @@ "react-copy-to-clipboard": "^5.0.2", "react-dom": "^16.10.2", "react-number-format": "^4.4.1", + "react-otp-input": "^2.3.0", "react-router-dom": "5.1.2", "react-use": "15.3.2", "react-virtualized": "^9.21.2", diff --git a/new-lamassu-admin/public/fonts/Rubik/Rubik-Black.otf b/new-lamassu-admin/public/fonts/Rubik/Rubik-Black.otf new file mode 100644 index 0000000000000000000000000000000000000000..9ec62f21dd4a19e8ffbfbcd3f4ea12285435f441 GIT binary patch literal 96336 zcmeYd3Grv(VQ64rW^izJb5q!TdG!kh2H6M(hO0N+U0mJ#R|f_%Fnl&(U|^i$9^fBb zvPE@11H+di3=Cy9?!lo>b41Q=VPMQ=U|`@4@DJ8ED!F(383O|^0|Ns?LUL|mf!yV1 zaSRN?a~K#n=VYWNrf|3R%w=F;xWd4|V3v`Qn#iWb#>~LLbBBR}K_w%%q~i5r#j6Yq zj64hs+~;x=D+-wY1c1ys!@$76mY0~Dsx|LmHUk510s{k^bwPe{$^VNCMhpzH77Ppw z3JeSZ3`~C*7#J8C7#NrsnxiXz+Q;+Td}Ux}egQJ%%C{wPF#7MBe`i^)FmGgFU|?oo z0*Nv(Fe))HFnuNtGrwhE0b!;z6N4=CVFp=n7)@i)1BU|} zgDw*St1$U7h+)O67<3t%83dR_7`T~48F-j@8MwjhMGP8D#NsjrPUchw0d&k%#=yc< z!@!Gy{TM**fn(+l27Z>c4E!uR8Tgq68TgrH8Tc9F8N?Xl7$m{v!vY3#aJ~;`FlT~d zW?u$nV9xxN!JI_}QU-wX7PC5oAd3WpIZGRZGD|FjIXF+7srFlTmT zFlX*z5Cq$Mkii^8gUp5HBW896HKzXzYD^Cq96)w~{riwX4IDn785qE2BdEN4#-IY0 zLkbJ9y`ZuL>Q9hgnLv8O8O%ZcVS2`(1j@(Y{0K^KEeyJhPY{^t0D~lQeq#R0z|R!M zAj>qJK^Kl^G3YXZ@C*h?rXNsokXax#u)OQcz|U09zy-q0#SF6G^wGm0$+VF{mpPe1 zm$?S2FM&aq=`;gB^GpU^=JgDc%xf5Q!D+XGL5-<`K^2mp{$B;M{H{LCvEbeZ}Y zG?ls7^7 zgsBaj?=_gh8RVIm7<8HR8N`|9Fz7S7Gw3sJWRPT9$e_oa{$M)Cpvk1mz{zxgL7C|& zgE-TD1}UaZ4B|{%7(|!~8DyAFFsLxCW)NkpV~}RlWME?~WDsY}We{TQXAox0We{b| zVi05WWDsI3V31(UV&ErM9n&5L1*Sa=YD{|=6q)ug2s7F)a8m!Ys_d#;nS~#+<_-&Md^h#_Yl%#LUaU#vIBZ#2m^X%520S#0YYW z6N3n&7lR~Y3xgS>6N5gZK7$~$AA=^N7lSdQ3xgrkQU(o13kEHwUIq!KP6jb1b_N+n z4h9)UR|a7wX9iKGs|<>atPB#2tPGNjxBmZPyu~2SxPif#aRY+{<8lUB#^nrRaQWX1 zyo|pYR2h#jSTY`AP-EN&#wu`ms5wk~7?v{aVOY%co-VGL$Wb_@bcHVphs<_yw|It=`b>I~A1dJF zwG8Hr(F~G|(G2E{>I^bW<_t27iy3Sfb}=x(FjEPG3{w?@8q;wGNoErUNhYrU-yZiH$*uNrOR~X%&M8%U=cy#y1QKAiWF>|4bPe z{>w5j{40jwzsDFD{wYCmDFefQHU@@&<_rw~A{iL|y(`6u*G2;8D)WME)k4stik-@j}Ai?Cb)_YA;N5Q6D70}E3Xa|;720|QeR zQv?G8gExd`jAJlj1obKyxFAXy7#O(N9Uy%Rut=zPxF5p-28Q3>5IdMRG8!u|Fl+}& zGI22N0ryCF7#J927{lQ9YCwA@Aaht5G@#;446F>gP&PAz7=sa%&BDOV-~nZ`GT1N# zL)mN$+zkCtHV1 z4P|pOs4%^Tvbh<|nE9b>9tI0$S16m8QGvM@%I0G*VS%|vfPstUB2-+Efs5s~bACZ( zQD%BZiGq=Vp{YVhMyf(kX;NmkLO@Y|R%&vIf@5h(Mt)H-SkNgaF*(~v&%nUQ8Wd;N zU_o85D43}LW`?B}6=&w>DL@nk1S=RAK$sc%CCT}DWeSFR26`42*13tZ5Cypm!hsSL0=X%Is|Dnc?cixu4R^GXzg^V3So6N^$6GK&>*GLuvDic?b* zO7l`uixf&SQWb(deH8o)Qu82+eIN>S6kz@{)HBpm02>C?3o<6LEHN`DF)1fip**uB zLm^SY%`s3RvBXLN>Z0Q0qRfJlV!h(b9KHOabbWs}AKWqw&J6hs1q_u8MGTn?=?obR zB@7A-MhpfFh76_*3Jf6(84Rfm3JgIEr3^_7nGD$s3Jd`ZMGW~2Sq!NR$zauv45bVu z3>ggh3`GpZC@P&8au^aBk{PlYf*4X6(iuv@{2~S;20aD?1_K5o25W{;25*LN20sRC zB%Qhp2%TXJsbF(68S)wOz-~k64PXdnP=K0*5CyrUgdrKMzKlVE!4Pbl9)ksg1%ow1 zE<++iHbW{yK0^sZ8iO7~4nrnG64*ti40;S^3?>Zb4CV}`I9%fa4hN8nK;fjupuph9 zkjYTYkPHr|A_i3XM20+u6bv<>FfL&zV6bA)XV7OT2SYuEbcTF}e1>#}9EMZ|J+SL@ z8T1*_z`iJ9C&HP{xqRkO@vRN#Jl%U?^wE1iJ$y3$oXdA&>#YE@7}@P(TYK zP^^GbbpZn?{PY-#!Di`!(`h<`K7&7l8-ov7dJwq*kxm&vV^d(vBmyn5Wk97M0|S!? z0~_NH1_lOBhVM*upc;pP0Y*c3xJaftCRZkJCU>T0rX@@pn0%PRn8KOtnEIHUnKGC> znEV)jF#crx#rT`?5943Pe~kZ`7?>EDoS1x>rZP=pn!@DCw4Q;HftP`gL4-kqL5V?` zL4!e?!HmIz!HU6w!I8n8A($bQA&eo4A%P(UTnv;llrdB@g)rGOg);4B@@IO&P|wiK z(8Dl^VH(2%hJ_5v7*;ZDVc5>Fi{SvnL533yR~W7_TxYn=@R;E_!zYH%3_lotGW=r- zV%p9W%ruLEfq|8QlR=O{lEIC^n<0atfuV(=iJ_UHgQ1EX*9t zJj@!*rY!s{qAXG@`Yfg_RxI%>$t>9{r7Uw z!WM-c3VRjB6qOY96hjo_l$ey*l=zi|lth)Jl;o7Ol{}OZlu}hs{bu@Y_S@#S-EYU= zF2BA1{|Bc~UT|T%fH8$}65}5x39##rG2LKhU}j_HVpd}|Wno|uU=d@HW-(wfW3gsQ zV##7DVwu3QfMpfSI+krL2Ut$CoM*Yi@`&Xfs}!pW>ju`Htov9GvL0u>!1_t9LGF`+ zu!4kwjDiB#^_F1QmnhUKG${09aec62G}QHiD6UUYJ@uRMx7Kfq-*&$pemnnm`~RQm zH&Zd#2O#1zi1=3r8i59}K=}WX|1&@|@%XRRU&}xH|C;_a{QUu@>ro7d^+@hf=_9j; zA0F;{xa;BVhYKDaet7TUjfZz1UV3=x;i-qq9!`GP`{40|`wtd8nDJl&1H*%g2kj5) z9uz$Yd|=GLaOVlg3?vL19cN(J!ElYSi0KOh1G5IR9!QqifZ2%IhS`PL1I+VaPGc@$ zu3%okyoz}f^DpK<%>P(eSmanVShQFSSgcs=SR7bFSfW@mSn60>KssQUrHZAFrGur5 zfq|uqr4J@b9Lm}w)E1JeU0ZAK2JJSGb!QzlC$F9tRS zCI%J;E^sNx%^=7i&mhSl!ywCG1T8~E!4(jw90_FbW}3j@&yWc&O)?nD8A2EyGPE!> zFf=iAFf=o?GjuZaGt6a}4lXg*Gpq)en3EZfGn{2O$#9zC62lp$i3}GQ-Y~oXm75H| z7_Kt>VPI!yWngA#WZ+}0TJ*v(+eu$RGxVGn~H!#)OkhW!jq42Kw87>+VHGaO+! z%;3s!jKPoLJcB30DF$DLbD&a~A)Mg`LnOm3h6sk64ABgC7~&Z2GsH67V~An6%aFwI zlp&Gf2}2&kM}};McMNF^FBx(fJ}_i4yk*E?c+XJ8@Rgy0;WtAiLk+`!hB`(@hFV4j zhDQuM3|$NX3>O*V86GesGdyE@$aEiCHa};2$@G-zAk!hHBTOflPBI;1I>5A_={VD2 zrlX94j6#f-jJ%A7j0TLxj3$hxjCzdvjAo3IjN**Sj9QGGj9iS|j696|i~@|pj3SJp zjAD!uj8cr!j53U}jB_0~l8`u4D{kT*DZ|xRx=PaUEj_<9fzW#tn>N zj2jul88%Dz<7>t@jBgp=F}`Q~!1$5z6XR#b zFN|LqzcGGiV1|@b|IdNOBOq*Kl97RhiGh)kkq4=72;yu0GGh2;%=pWM>4z|j0}u0` z7r&3ouw41&$|__0n_tHAli(g%28Nx2LQGOj42%ry415ft3^EK#3>pkZ47Lo;44w@B z4519s45t};Aic*F34;SVDdBOjv( zqd221qZXqfqYa}IqaR}kV+>;wV=iMQV?ARtV<+PT#<`4(7*{fGVBE&Ihw(V$1;%TP z4;h~`zGeK*_>YN&iJM7?NrFj^Nt4N#$&$$)TmpwO#V{o^)iZT5^)bz4n$NV5 zX$8}Irmf%>$YrLROi!6UGJR+I&CJHk!z{rp$E?V#&TPVL&FseP!yLpM!JNXJ!(7hX z%-q4;!#s(3Ci8seHO!ltcQNm0KFWN7`5NnZGjsW?^IDWZ`2GWszY~X3=2L zXE9^3WpQEgW(i`6WJzF2XUStJWvO9lX6a&?$TEXvKFczewJck}t(%i97g(;d++%sl z@`mLz%P&?&Rt{EvRxwstRuxulRwGtRRtHvhRzKEI))>}g)-2XS)(X~o);88&)+wyB zSr@UcWZl5Jopm4UQPwl8msxMIK4g8t`kwV0>t8k&Hf}Z{Hc2)GHgz^VHd8hmHfJ_3 zwm`NBws^KQwp_LnwraK}wobMQY}481u`Oj=!?u}i7u!L$6Kv<%uCd)^d&2gb?GxKi zb_RBKc0P7db{TeMb}e>8b_;fUb~kok_7L`H_9XU9_5${D_B!@f_8#`h?6cSxvaeuY z&%TX)FZ&Vp)9jbnZ?ZpNf6o4n{VV$)4rUH64nYnH4tWkW4qXlt4r>l44o{8%j&P1R zj#Q2uj$)1~jz*3Sj((159CJCAaIEIo#Icj(0LO8Ta~xMW?r=Qjc*XIN;|IroPBu121E^#h7E>$iaE@Lh$E=Mj8E`P2tu2`-Vu57L% zu1c;3u6C|IuBlvexK?xR;yT53i|aMlFK#YwX>M(9OKvajaPBnj67ELse(rhPtGRb^ zAK^aBeUFCRaj5}ziY0iO|{8J{hm3!gV%5MLx;0$&DSAzv+D2j2v~>3s9} zmhr9U+s3z-?*!jPzT14y_&)Rf<>%s;;@9Li;5X-Y;CJWu;}7MJ<4@<$<1gi};cw>e z;-APrgMT6a3jX!{+xQRhpX0y7|APOU0FwZpfRuomfUbb0fU7{TK)gVf=a`?K zpO>2L=$e>ZT9WDvA(In}^7EWi@=FqvlT-6boRc$)l1p>ba#AZ?z)~*BMfr&(u3)w+ z*fe)A=?d543Nh9dVu?G#0Qcnl+}uQnxgJT0MecAdo?adZWu6fIo)G<>2t{CfJWDcj zQc``uj`ab%!W+q0FN85ZDfuNnNK$@a#eT>lU_)H<(*40E`)8Eqr6(4Z=H?`pmiR+# z_b<*#EY1L{3xbeH`h&nG1}CScWai`~27~2;5e^7OQW^qQ8j_S)6biPhG%wS@$j~tq z*~-wO%)Inai04Bg)`x;U8xA%(9AR>JN@i+NYH?<9czRJ{S!yIgCK4j(SP(5Vz`Zz;09r4V~dp&o}DVQ>F22+NP5DLn3g76?Jji6?_LImBw zlo7-}BO@@+03v4uahVasWkwJij390?f;hqm;s_&%%ZwoQ89>Z5fXEp@++qMV1>zPX zs36o#h|3HhW*R_jFo2o~H4Nf1BZ$ikAf}i>1kE6ZSweW`Pzqw7C6s~~Z3$HgG1?OB zTvMq393lD~AsQSZq2vhB;0UqS2_onOG0YhfW=;?#P7pJlAxc~zlrzMgE)b(#AV#}D zw7WuiU`Lp^K(xC;RYL4@g{p+gK?L0(f^HC%ZV*%4AojU|Rhk-t%`}Ck0%M4rF(fvP zAwg~o(Ps)3gm}dgLK#DhHihUjg$hDq#Ta6{DI~^>A$~W8#I!Nkb`w*u?Iy+$zZ*k& z5Dg{}Gfg1Ynm{Zvf!Y9xX=8{tO(B#C)SVDH6Np775I>ke>@$Hl$pqp+6Nr5#5SN)i ztTl!3Od;A$A!eFD9B2wL%oJjZDZ~^rr~@I6FomjwIM)V>lXj4csHHG8{Q;1tkA^E`+;#^ZmwlIab%oLIlOd*-X6yj=Ah;vO{z|m;x z0`{1x3&bLbA50-R$J7PvPE%K~J561|$<5RS9F3-s9A^sgpQ$UvFo-uzUBQuR3h}Ke zB;%Qa!^O=BTv)j|8G-C`a{?D~ZcauZi`<-yK;Cq70+&l}PT;KO=41@A-OUM{kKCNV z8PClLoIBi{!1>S337n7IoWR-8%?X@=+?>GK$;}CzbKIQ3ImgWjoFCkrz*)x437j9? zoWS|W%?X@y+?>Ek-^~e}5!{@>*}}~UoCDmPz*)x4$;7FoJYO#*H7`FmGcU0uzbHR1 z6`5O=T7)8sw$3XbS$(fMu2AG?ZUzM7do(gi9 zp`lr7aY<%wVo7QWD0GYsED|A!4Z<@AH?NcPbCbZWZ4d(@0j>p%Ax%MJ190*;hBP*f zA?;CPa9L|$Y-A2@*CTX-a)p60qzP*bX_y)tSb!Y{G1>{thFc8gL1di4Y`9CnJcx`r z659xgZHB~lgtLvDAkH^JmNo%P!yOCefekl8a-0#uB2!3%)D)a(3{1g!-@p{odN73) z2&PV;g2ccS(q=Vr^sC5VA3r0Htv3@Ql>Or1dWn}I2$S!)V$pQ*DExaR~4yW~nF zCfIF$p*}v)l{zFX3W6;9VT=Y1vVx|v&DzA;!8(O?6YB}qGpzsF%-E9H%Gj#dYS|XEt!FP|uVrs$ zU(8{_Vat)gQN^*IV=KpFPG(M7&Iz0=IS+Au<6`3C;=4)|a8J-!&|I)taI)ZZ!4rZP1g{JJ6jBy4 z5ULj1A+%rUh|qnZ4?Wq86fdqJg4uqN$>jL}!XF72PPhQ}m$ddoczv zb}>FNH8Eo`J26KwAF)8OaIti;Jh2&K>&4EC-4=T!&M7V+E+#H7t|G1_ZYpjgo*JqvV#uAni zb`ow9p%Qr#MG}<~?Gh6tW=brOSSqnr;*i8uiRTg@C4NgXO0r6FN(xI#Ny)m?OHPuUAvsrandDl@Es}dB&r9Btd@1=$^1l?nl#G;$ zl%ABCl%15Dl($r{RHRhAREkuFRDo2zRG-vbsl`$&q}EF9mO3hRO6s!I4XJxlPo!Q- zeU$nq%`Gh`Eg>x@tt_oCZ7uB}?IGHf1hub=mLDYO>tAva{s5*%i6CXVp)y;TBVnY6gVEJyE5CdY4axc z$>05+c=vZAYjfYUie=Iu(K++y_R2s1DahK#{#}f#q@ks}Q$F+e+NAFStW!E#<`+w= zvK6EC{A-!o-9*q{FuWUcI-Q@%`^&y>qYhl^X8%TJa& zLsmtWJKvJ)`)2mxF>)U$U`#R*m ztN-R@ZJIWPrlwN)oC&ilq?6eq*jnpb>w4t5ud>aX zJZbtA`5#R`IBk&TYl@J(B%<>5o9xp5C7Rz7($C0c-{J6|Eie>c3;v zzsIsp?5LmjM7E=+y{A+Dd+DD**58o{vc_D$?YY^EWw}LvN3vDdH&?gHoBob8_#VkR ztEG8LmGtjaw%Ypo`p%vXkgl3PeymM(RqZ9xNs6++O;otfuzj~Xxc$4y1^Mq`KO$KB zCiP93BsC3`ANgiYpFS%@mixO5m#~?stgv1vmvGp37FpqG7rtwF$^Q8$dg zQ*)uOI7AJ#$}aGo>d{o&Dzt~-CNDYE&AJ-t-i6fp+)|;{O?TG@A1~M z-;LR(Pn|ezlKgl1@0qN>6IV_0`=C9a8QtT;H|1f7XhA z=Q(or>C~1f_3|1wWOJK~va_3)tc39mk9dCPk>^gSSnn_Wo2l?Ob8O?3=Be`c*%o%J zS|!ab|D9JwmOF~;dqou&_w>f8^>WvthrX?;UOt33CWKrZedSqfa=xm09-N3nem`fkNKW%7h6 z)1|%(smT8EQ~)iyX2^XPWYhf}%i7uA+1w#jKdEVk9QV&k(eF~H&OZnH_c!+q*`nt1 z?Cj?GOP~U5b*)W}`lsB#OUZMKeivu^o+A5OoUN|0u}=QCxVbEM5Elox3KyT~p&gqK z9g5o=5)zjj60#%tko*~zs=66-=F9-$x~i(Wx+;0@hitxFfwIMH-=(>@MZY_LJ9Fu% zeE)>L{)tj^dg`XtNNcjywzM_Y%4a90H~eOl{_SIP>$`ZZeEY`k$NlR#zVpny@cg@z z^!LQm-oG^_$@gYY)@)y!Qj_dQfa_In9e6Z?wNf?1K$8le`y`Q(M~H~i*1 zYWe=<;?;|1$_ejpD4n;n_?-0h2M0e)l`^@SE$m!*7E+ z`HqZkjlMLF-|n-%bN*KUzF1oLena{9`=aRubI+VvHgEl=B^6$tMO7*Cd~9`1O?C3z z^-~+C%W+pUw>1^zC+|LAc1QZV@59ggK#5l#p1_4?8FK|h z)RrX3EzXLZ;VAvv-(Dl4Zi1}*cOEWbv(j^}U#V^Zfan<-Ut5 zaD6vWk&R~a4=qYdlwY?PTwgAjF@2@n9X3Z%gwLhie)?C+ja-xrz4{?&js9vpvXI{eOX{GG|s)zRHKgNysmM^S%S?(eJ$ zT;Ii2WDVGI>*lSJ|IYMXh}}{4x6pU<)v~|MZP<-vZ~Ycy`)%jeQfi`kv z*ujmQ-!jm|C}S?m{hP(4vAMHua--y?$jJ>eyQWN%+`g9ew--D2v&Qe?zwOI@%=;cL zwEnxQtZ>DTHZRfd5mj8B@_n8CUA=NP-&wb9Uvi@Vy5x60S>YYuO=RcK@9CW@zdVCg zxT1ODw3;Q-!aIJ8eD4z_vU&4e%>LBxm?d(C)5>PdlbSPg+S=uF>su$uaYxGj=KGz^ zTKzq3i|lt^+3ykHFuTCTEqdiU`>yW+-vfTL?{cbXYN?TTXRn#jF|$K%SHs*SXDR2( zq?iV|+K#%88Yy@7nkg-_wybajxE*))dp_&x-}!8O-?+XnWM4n;2*@>{mg4sn z?B9(vFR1y36sKm$ea}84`&T7Fww5cUVfg~?9kRj;zHbwAR19->unZ%$q6uy^nqWz|pP@fIL_rNvVXohgZizx#p3OZi%~HR$*e3T(nk)rr zlK#F2ZKzJ}nlxGJyB1q>S4*=Lv~4Q--RJf7@9IBUnUD<{aO{0JiOZL0^_fMkF*nGLZAA=O$#%ztPooy}h z+)}Bs+^AWdxt1OUHp4B>ij?|Q?lcvfEuZZIk&d8}* z)>kOs&i31ht+t`Qrbj-k@3P_d5NSTq?;+oHzl(f-@%_bb-S5J`LzKCG3$xcuZ2HbODpJ2y3V%!fW@wbF>8fw2k@_v1Ap7_USNG3y=7nP4^VpV7pF5#X{@!<~ zN57?5+xn(gE|vaXTE*4d-QO`m{&(j0JKsaUA7kyC(A_g3h3j`RTVZ`=OS`=NZ$8)W ze5{k&>*p3q|ITfYZR_dmZI}NZ`1|DVwBI*bJKDP2XK?X7{QgNaMwWXL*LPl7ZUwII z94fNhin3R@xPKq}9rWG#$LjKH-<^eyesBBT_`T+Px$M&)mqow3u{p~AcC(lLE%|q% z=wmkF4{x}HUnp_${q_12utv%d*!`ZJN?0H=&F5V$*?K8!7AcjvMOa((2MZ zjis!^@|+vxI@p@J8k_2+e#?GW;hMzuUBBIK`Ahn-; zLDTf|DRNblSW{-#Y~LpJJ@&WL!`}wIa(v%8xP$|KEBp?fFDrcEyTb3_?;KowQ<`RQ zE6RRnl;!@;A^W?9l^fn|;{Lt$``b6izDFy3>n;~s_+9GMcM;(^-~GS86@7X3z;$`y zHMbpC$4-)4CM!J0@>2Xuxi>6TwbSOw3!j-cbLyPAGaD=9gy&S$G*rp){dQNB<^H|y z`=?LeIljwiyc7B!{asx6!jA8sM6y^VBZ`_dLR^qba;+`@?o_imtpbh^%|9i{#c%dJ1-=_<2_k>CFSW^^)r^$$q5%MY;2lZD*ZbF6jj0-ejE0E z*EIfaDb1%S`zK9>i~EQ9kMp9xuiML>Vrxw8NXd};&24@{_BXQ%*Y{ZpT=n0lvhL_x zH)XZlNwz&piX!EI@BXeR`+YzAcX!3JzkTJnS*K2#I&+@XcVQLTKT{NCe=DkReV@(t zTi%|vv9+f|aLTdQlNezUTd&u*ME zQLbwT%ci76$p^DXW|u`r#mzn>_kADxtorHS#kp$ae;;Q5t@mE*d!!t<=t3@T zvG0BgTn`@SaDCTg7v3_nVMdjl$@gF1g}8pFuvOQ!G&alsUjK)UwY{ySsY*)t#&2a6 zuJ8NJ*o1c|aS31fE%^P2=$G#*tiM&*`5HyP*FOHv`knP$#_`Z)@>^EV-Em0jtK-Mt zxxe!rlodl3#BIryi_A+4@|60`_TV?$_d2;B{w&EQi&w5(w0QI8#l^X~#l^|;zn8Nl z=Pul^VdcWjn^%^mrRA0;%k!~+4^%w#+gI+lqrL2RYqsxlvfN!Qq!8IG{~8;H8iv|x5!&4u+~*V>@qjd+BF}s7pkqqD-;q@PpqE#(3=5)z- zF6&;^yM$v-&!ic1q~}bktLl;OE$YtcEa0f>YN@M|<`$j6#l630ch9o?zDUVGIx1Y> zO%%AgerU3O*K4-<&iLC)`gbu~O?^YP{BJe(-&|*$&bP=NYh|6?xnTNSsjl0s(_3dW zOpq&^!dgF}bM9;@?##BiHC6Ium8|6@yK)Xl^Rd0;;)Yi5@;{|axPG^@*QVCz#+1+B zCHFnfgzI+(`|pUZ$41{>r1xx@I)AnNZ}$Y*@5)@?y)Vde|GBrC>$?^AjD~4-a=&fa z%A4vM+U2c(*IIwCWu4aEG^1Slx9w-y4p6h4Pl4;Z>37{6uJ4R0vcGk|8-UUZpQ7w< zgWvimWPdZNaDCVRZQ9N?tEX=IcNVUu=K3~y?(fyi-#^ueZl22eU1P&{`R|>>Gv&UYX4^ZhEYdSGC%s0#pnbE?5&CK$d zeRAC2cd~sC{x0_DdmwluXd`GO$i3ya!t3Au(!aOp$bK*W9xnR*)N%G58;XPbj7Uf;+N6!$52{T%gYScUuK6Znp1vcI)exV|rE z`N)8m?_WgZ2t2XRuU$W%lt``-4@jc@^!*|Z_lHVnN^S=4b@0rt7 zlqNs<66^OJCbEBm*($0UN;>3|xmmwQa{XpNYHV>|I>WwfMqNosU44N(-;|z-{S*2* zrc7NrXO%Q}Q{#7&?*-pYxL3%U{?=tJ{jR)PmV4gn)pIM-<+$1ETbdfVzi(mt9`c>- z{&&;wroUOQ{|=Ss{?D+(fuXxx=)2%|Y3><4jZ^BRxt~0`^_^MjyV7sYyT84DJNy>a z{H@&~mn!=`fNk!q{&|z+XHT5GZj1D~p0bJn?i{Y~+A6Z#EfXiV&yxOL_}zqy8`kpw zF2uzxdUD^A%`4=&%YMu$fA!st`*$W=O;deM2dJ>o1eZ12+E`b0ES$YWs_O#0tZC_M zo76c)lDqMH=Bw;gDm%V+wSs}<=o$s*}tdA{<#G09f_OE ze&_tt($4k0n(MnUyQAzM#@VubH)XxP2X6uQ?s~ZRzRSt}-pyX~T@=*f`mM?R-R{D7 zJMJGnm0Z79{>T6oDKR>-+;v@3n`TIJe}60b;?%y|6XpBXb}jAPz;UN7V4tS6WE4RC%Czpf!yBU}8g;ZJL7vH^p zh>E5ZE!w(u>7tDrmzE?Z7L}xca^&UjmfOB}g1q)!gzLLDs9ua^TR45jqzUrhCBD0` z3con@!*9XgGTh%QzkBcJ;{MLfRU^+`_TBlr^LM*)?%(2| zL8B#N?p)mOxORMZX8g|ly^`DTmfLrBIqvVgPrmd1X8z9m-S9i_gYUdTTfXyO{x0}k z_`A@f?*hX68-4_E$I0@&YWyDiV`4eCs5=+;cgbhxzjJ)&Fu3qrQl4AXii=y!ii`WZ z&#CX>+|{5kJSyuZ%U!|_9vb^@2kzs^|5W*|$i-d%!&Ee_ap8JUSIzmi-FIgp?p5DA zpMLM;-Zf>*oI|T-O`b7j+SI905=va(-PvZ%nm!ApQk$!TdwRnxIqvT<3S8WkY&iwf z=9kKIKRd<64Q-`Fu+=v-*7wMB*Zj6E`xymFRE*q=-?e0!xqsY)4D-ly%YPSBk>v)r zlDL07|8B>~t-|HU#SM=4t+L$R-)(;zm8~lK{`tFmcR6?4cLvL{?_J*+8^1GrSN_h} zRxb3PK}v21_jdsYkZ%<{oRCZ*^C8q`{Xx#Z(-#w`=0kb=<9bs?(at51uuNJ zk>~E~llpGX#l7LXsw}sZ&OZC^ymH*%(?oBaI(6fQ&nY`QA0IorQ$9E3`PimiV-1u2 z&B0dJ)Y#A|UvJOK&Hi1|@#SwpzmSrYbh-C0bGW#_&tLR?zA%IE0q(|!A!Xl1@9%yB z>L(mv=RV8D$SoQm%l+GZ@^>+V?-A16-}`>MeedIDQ{v+OF382mt(US@L)twtJzoAd z1A9?l{X99o?2fw1OliK~;orl#ugaeJZuec2i~G;>??znQ-yLLy8MybU$Z~&Y|IPm0 zU5NX;;qC8++~2jhzUP%Q9{Qfg#hu4>oSU_%vOB+7N|{}Fff5(rca|Kk?-DAqzgf7y z7jOx`;r`8~!o}^^{oUca%XbIv1!X^)zbA5cf7iV9U6Wf;_V=a0?`~Y&jiTQjzcbwY zZa780XMXphuKC>E-wS?}lnWjD-pBn-XxI1n-+bRLeoyBTX5juUxuER(sqbmmzS}YG z_};>qiwN zU$A`-{LXdiyT1GqcJ700zMug~kN0Q3$#V-c2*2R|F3diwp8I#fcRud#;cT`nd(2hFB4#rM~^$Z&rx){3{lo?bQyBT{JHZt}x_A;n4%mVGVVo+n)#5jp@ zBEx2eEsRqbwlYp*oXViipusqqaXRA+##s!Sj58VMFlaH(X4uBKfMGks4#xQmI~nIO z&ShN4pv}0HL5Fb(gD&GD#>I@w8J98iFz7MpGp=G>!MKufHN!3j1BTs}A-; zxR!ApLoefchW!kE42BGI8H_;Z^Du5=+{j?UxP{>W<7URKjN2GY8Fw&lXWYeL#&D2v zC&M9z!wg3lcQfu|+{?I!aX*7Og9YOO#)FK97!Na8GFUMjWjw-gjPWRgHRCacj9(e27gV1~kI9h9fXR%>l*x$6n8}>Ugvo-*lF5q6n#rEYj>(3} zmdSz1k;$3Kg~^G@mC23CgUOxAlgXFKo5_dCi^-44pDBPTkST;Im?@Mgh$);Yj46UC zk|~NQmMMlQo+*wgnkj)PktvBOjVXmGl_{Aiohg$kgDHzCpQ(^3n<bsgtRlsg0?Jsh4RI z(*&k|rpZhbnfjQfFimBe1>Rvln`tJ~G^ROBbD0(~Eo55Ew18+{rY%fcnYJ-)2k+$D!L)~IH`89GeN2a#4lo^L z+Rt>D=?K$NrejPenNBbrXFA1nj_EAZX{Iww=b0`rU1GY(beZV}(^aPHOxKvMFx_Ih z$@BocgYz!a9j4n%51Ae@J!X2!^o;2V({rX5OfQ*UF}-7Y!}ONvHPd^h4@@7KJ~4e} z`o{E~=?l|Wrk_kdn0_(+VfxMVmqCz0h(VY^gh7-+j6s}1fkW3XYc zW8h@qVzy*9VK!&BU^ZnoW430tVzyy+V0L7-XSQRuW$0wcXW(OYWp-h9Vs>W8VyIxq zX2@YEW5{GEXK-ZTU?^pFWAC92gvCJ{d(adqo@yvii>C73-nao)XiVW-w#SCc-s~DCt%w$-|5X-QDp@5-~Ifpr$ z!JavfIhQ$~xq!KlxtO_xxrn)nxsV^mXn8* zk5i7*gwu;NmGc1SE6$%>++5mRc3i1kl< zerO zm(p{kugaXtGRlU^&dRRJ;mVoH)yndqC0=E=%2Aa!s`09aRnMt$ zsqv^usu`%Is2x$er1nakTU|ljPd!4tT)kI)x%yG{uj=15eZ(OskaSua5Eq26PC zAN?l%`v$BAE(YlaI}P3#${Ge6wi)g=JYl40lx4KbnAw=$*xtC`c)9U@Ma&p zY_RxYsb*0?=A`OZqjO5V!e%F)W%D#5DE>acZ$b(D31^-}92)?aNjZ5(W>ZD!lN zvemKGvt45+WM^X+V;5()&|bv8%>J%}w!?OZosQg&E{+QwZ#x+{)i_;oR&tX9*?-A=!>aoG&swazQ zxM!qix@Vndujg#fgPu3Mn7stO)V)Hz(!5H&`n~3Pef8G&4)D(MuJNAW{mzHW$J}R{ z&jO$AJ~wDFdqYoz-V757^9)M}D-P=kTN}13>{!^xu;1Yp z;UVGK;q~FY;WNTlgzpbO6@DfBP58SA)(FK2{RqPd`-rfJ#E6233z4jmOCldciAH5a z9gWV7-Wn4VGcjgi%*L2gF%M(@#u~<^#_ox|5f>VFHST>pOT1*fbi8@IQ@n3{Tzr1~ ztoYUOd*aW=--v%4|22Uv!7#xoAvhr=Avd8cp)sK+VQ#{@gfj`R5;+sq6WtP15}Okz zCeBM-m$*0aX5!x@=_K={z@)UKlBC9@iAf8R)+X&udX)4u=|$4(WX}|)l;)Iosp_c* z)3nq2(|yxB((hy#XP9QVX2fS?XS8O_$yl4ok{O-3KTA3*J*z8gcGm7}o$TD~&Dl?L zTyv)6+{u;Ab;#q)lgu;Dv(JmnE6i)oTb{QgUp`+e|6PH4!KcE6!u>_YMU_RSPheqX32`^N!E5@gr+Yi3-(55NVrAXWwzaQ(Ih3x57yDf^xK0T<(s72k!Je}+`Z z&Y!w$ZLj<)0;~QI>je86C)LmGknE`Gtgig7E&E6KN1rHcIp7hl<7bYaVf?=8;_-{j zKlpxDB!c|36YQrm-vwp6f3|;5Uz%)U63t*n?z@F3CBQZu=ixk3dej0twe;+V9(>ady0#3!}l4?KR6mizuSGcxcc3z zPd-f6K=ya=IVUB?QyUbwgcM`eY5&*R9zmsOIA3&VU;Y{Ef(5b z-&63|bc$>9cQ23yW#7GoUwq%6CoBBn3U2jJy1$2iKlMGF@zD3a{|u8I82&T-KES|y zS8TKFclPe@;kUl)U;iG?c8n1u*%l+P> zDEqr3^@OaN3fIQp-QNqjZXM3y`k*2keEkgDj+Mp1^1n6NgL8`F<@jJW?)`3uX6g3> z`dq*B{x*qjmi^A!{XP8lcl~P+yOCT5bAc3&xdTPn-|aAW^n5Smx(#*5wKHrxR%6a3 z%;sV|^u2}ouGo*cT3mdyxgf4;VgBBtE&JQ(Z<8oge8+cZp+nzWe#?C?=MrWR{`UP* zkgV{J-xL1U!c@R@F4X7x?T^q27Z=y&ib4?v8|e8xgG>0^cUf2l75?@62C^zIkgD+S zUcz6#&&vZ@>4Pi_3c?oV@2kwXen%jSYk__BUA2Gvsg38khXi7OzVj|9``-S&;OKY0 z-+bTQK?7Z48#I2;{vB4fYATn|q3_ea`+c7-Y;*T8sO$pG zAE$g5JM=vhJSYA;QBhWS&L3`emy*(8H7>c|rtHEoN?d%u*MH^uK8^XQwrum?CQ%2j z-|OqR&U|+kn)F@P==(II@3P+$xxV`Z$qK(v{aXu`2dl5p=K26tzm-cU{kxsb_i5JO z?SvVGKh*tf0?o3ZtrZvkpw1=y;`>4|;V0wCHE zcMed2lnIptTm4hy3l>aUu}OaF3a&+<xAu z{+{@w8DzqwrEnf3DNbU(r7hd{w@LIZMB@9=??JzVzQ+h1`aVf`!w=06kqrON3%Bs=ch~P3U^|a~cU>y`{lxdv-`QlV zpiVjUeG>CiF^HkxdDy<|pJ0V7i~7!RO7^#E5bJkekTr_3zc;eyH(ZjPJBjsoRDx_T z*Aq|})_*toUeA12%v+Z4$ycuL5bpOC+OogH{x*rCiXPSH`dthag@+_W2grc$o?sV0 z`Ca-wej7M*f#rl5gnxX0{kv3jHXCTc$?fm<@;{|jWU(zbR+JU4_$#Ht1zDRc{NuaH z?-tfh_RQkq1i9qhvV2cK`3#iiU zey}%+YRW#_%>|kjVg9~STlVGO9#Ku%?-H`m0#xODIhV@!8Nv+0Z+@@`$qIk^+s=Zd z1C&(bVOlnSw*!^Aztz5HaQ#;OK12A;cPDtQ^2r&j3~twXGp@s^B2hn^L?gJqcZx-D zLDYViklp-U>$|k|-$hSxeGiZoe(^)LQB?TDWZ9k_JqNq?atObe!X^CS zy95_V0jMYs0JYWjXv@C&+aoIc1EKEA6fWT(Aax)w3d(-hk_G$C3pJ!X{mK^So?>N%Eq3;mK;l2%vcSx`QeTt25IoH7jW#75K`+jHs z?)MIqglBxOBxSs_>X3?~}DL6B zzxTW1lkcih!excB!n@pMk*(=fd!+Z>v${NPm#lErDp^#6)j*YVIM+^4jSO}978IAS zDU=ny;w~$^1=&cL%YQS0>+3}e%6?RS&u09d_I(ob_eQZ|F1}R@%DzwgF8C27ngtSV z75gqG`@Q;U4%a0WS;LRttw0M_RAkr5sv0WFx~OnH{axM81vO~zcRQ$AOZ2%i{x*pg zbMYBIcJSL}NQ+p?K+XZ6c}5BMp> z+SA|N(<}8|jH>{=&r9bIht3ZU*zPaC2HDQ;uAX-J?*V^>SZn%cRxXp~`=0oOYw^!L z%-_w#3}wG3ZiH|iY0Lfwbx4tfO0~gFR*1;=6majg8Wys@pZ#qTg-C%6`@vzx^*aqL z)GmAM3D@^3P{VGjn62!wjZn@^ZQ1s}O`=F5I@(-cAR=42guY9Ew{!U3XaC(!_{(=A zm^H#Le%nEmz>L{%#+3*b`R>Zaxb7z_^GUI2uJ5kk?gEJWy@TuHfM;Cl@~T^ zFg)q`ok>nOtU>e7n+LMOW(}bILk*w}L=7OLr!`=h&HUrJ2A6QydnZ}2jbGl#{xVOF-EAhcqbaew+OHNO04}Y&@Gb%yDemutwdq5stBGW9oM$+3zvsLOZ@U z3o{7&{V;75{m${^^mpq?@;xiN=XI^*_-@#0c;z>TbZ}f{Ubg)AnD2^Q!g_yIz9-5G z`z>NmU%jjNg0%27i|_8DX$=e4cglCJ?4H@Xl4Eu6%(-i&H%uu_@0af_?=I{t=SXjF zDovB-YXI#mt^s-brmO5DuJ2QfxDL9?=563QRQCP+_rl-y-|dA~e(yYeNx1s^X;8)V zJ-hGxca6Snk{e}_H^vB;W7!%bygP_%(r>Znw%-M-z#}Bpt3Y;effDie5Lem5TxY(! zf{c&(?kb%1z5mDaI9cJGW3IBWfcU`+35oADT*7+a`DK5{e2^9P`<^Z8j#o1&(hgrvcLcS zez}Hg+IJ<{jbD_$o58d=fA44%y|8Ebrj_!-%DLYYWq-_FnZqTl`rS@8mrYoCB`BU% zb8}C~3M+rN-ltoJGc-f5MeElFCfBN;Nq?3yM?}NKBx-c|6TC(cZKiKvUcBv zgkSt%sgPYTd-hh)4#@eZ9`x zkQL54$tAojgG)GVCD(TWS>d8tT*7JJEoHaM-Uihkx}e&F_j{+XyTkXJpxVQ|0aSaq zJAmUtZpPnzU_-nePI3t^cgWxpc6V6GC0y+AT|jmg7uc8wpix(lmG0k#K|%aI{qJFj z9*`E04v+?9^)V19rvC{2xn5L>t+2kLu1!AVw|uqicLnIOum#`cLCdt@V$@uvRJw7I4sUEuM1O-**;#58(Pv#c3gblBe+1z zu$V84*>UmxzVqEkcE|Tx=G&lxwfWC;sEViGorM~{OW1#}wfims8sjlV&Qvdq{yYLH zgzHWNM;0SQ`|mqvxr7qF+gX0Ewft`PJ&~&%oF`uVR)@($?fhmYn*kA;^E>Ff^Lmg6 z7$7@qgc*dl;_}J&Ct~m&H^RSuzXW?rc-Qxo-$9~}+1_xea>;=_`RcnC*q@!CoOBgp z&+j|GL%y?o09lmCh0AzwsLDB9!bsynhLAAok^NrB#rQq+dk6EL-$4htzSnVq7S4eMHiLp~ z%HO32xtbSD=HhDx_vw-f7k z3-FdmzTbBifYw=py?I%zL>49hNh7t)FMc*@a+UpU5(P=QEhzgj>3a-Z@%NQKCRu^B zfW|kXKbuWBnbMAp3pug3nw+JHFT5{$6$KdzJ9K z%VOU>6u5-XeP7PLYS!E(OJ-GN%l%%i!u8!n0hCEr&zyrMwuW7J-ghI5GirW*>9IL- z1xLe|*>rezM5dMGatN8ipvw^ zQeMll3!jF1;r4g%8eWit8H8v5(4NC3JUv)ecs8hodHna|Kaai}aaC{$Pk+TFyd31T z<4Rn7S7pCza(%zrD5@p<-CFj0Bgpgj|9lkHlD!J5Oodi`@BA$cD$Rw#?tSz9DsuM! z^ydu=L?b^a0e_Ez>ik~81=48zM)tSK_fFwA-xa_a|5G4X9%Ru1GuZ=hj_{A?q841= zr-)f_`GN&O>tD4%4l@E}+3)6H!P%gOQ^9u=#vczaFn@pC*dz-RIrH5PBG>_P{IIQYG1thAvuRj7%^Vv{^t$IyJs4~TcAyTn}D}KZ~txr+5)}md#A7!C_pYA znYLiNeChT>ji;pjWkEZheZ%UD+d5KF5zq6XMO)I znprz{HN1VjzIWQf4OrXPrChLuz2H^7m&Gz=`M&$feh&tP?r-it&qbjE*+yKyl_A{U zlHVg`L2H5GT57?GzEu{qSM+-Y7ihO=&i5#g5zkV&Pz39ZxDKXr`GH53n7`YBV&VHm z(5TW@P~)BTyG!re(_f{8%dqS*-L+y??h5J2Y~M}Trcawbt4sb!hwj7QmeRj1jm=Dz zp2oeXl7Ck@p}tD0vA(TAE~|EBo^&(YZ!73t)ZXZ$_TRPOLsH0&dIL_+A*oz`pdl&f zZr3f)-L7k}xa3M4m+%%`yInPZw^+&Yt?K@6^PTIv&ZqCTj61&9d>8s&#C%!odz$PI z7xrU|7j4?KxFj#Hpe(IRu7je&u%|_V2N>JH89CeUFue?vg(t``wo7R-BC@n2v;Pm*@K}1hwetd-d-zLLjSz zU;MEA@eOolitr7{sVTxQAm^rp{`n>fas+76_g-x7`|Sx%T8p{9hk&wo%=fxRQRsms zHr`yqb9`ilW1t6?ECwym1}U@qJ_(fcgyYJcWfyaS8a120cmC!Fm2AAv<4!rtE&}xs7|T|HcJh1= zk^PtwdSjI0yB=y0BofbMWR8p638MF~$LG zs2m?Sut8f(Ku%>4w*H|uhfCNzSXS8jyDXP*_-`9TAe(!02~YQt6%L1LE&FaRJLSg@ z=I`}l-%Z%&Pnt1(qWt%eA1UDTV0xw2%YF~}lfqg*aZ=rUX}<4y-_2!b|GdfkJwi;6 z>$@ZunEe|R>A%hYJQqcXHG*O*2`2Qt`i(3zC~+vs{@x1{1nK=DXeRsH7cA1v1>MKO zIOE4(=IZJU(gGfwV zQ1<=pcW21vqOY>wFMVeN9cIBcoekUB8Na=!v&VA%*!G=S_Ph7@%J263xxQceZht`* zlt%t=LN$HA2in{I3UTBHRNEo2Hn1h$zb~n9eRpO9o!ju!sf+7(C`b+1$`fpkvQFrF zze|Di+Jnj@aEB9zmEW1TzN?}72%G8OnYex*_~CZxJIiC|%R&pkv+w`TFMQ)W-w#L8 zRm-L?m?>Y&-ZH6WvfLB4$rC3{lK-y8em#Djo_2a7yBfPQdm1@h`*$Y2 zlfKJR)jn}~r+nAc?!`S*IhOQHm@-Ft&V;6-9{HZe?&7XSj{MH{)+%Y_FOZ*o#7(;^0@^C1vLdZ z@_h5S!oPdKriz|{IiM+yL!iO!>DsctUH>+TLWDtU6BdJp_CNgC^YhMkW7*%V?7|Oz zceB;h*VoAZl?vwik-;wf;d{3N*Z1uzvV7mey1y5EpYgpwXx;a|-%{UOK7Kcq6@GE@ zw*qK+0xP@llkaPOvvzWQKc*rpd?W5h?tSwqDE2n_c8YG zyt2YKz90DhM|9r7sn_30t@`+T20I_l)inFexPIsSg|DW$_T3J&tmU`b8(HCR-yMF= zR+1I|_51GM*^tFFKPsPa{RsKq!u;#|cYdx=S?=9aYzV|WzSS^Ow(EWw$`^xp-g}+~u zTlHPyPb6rfo7hz;Xp_dEMJiy6;LA)JWq(9|H~SOW!S&~h4d|E{zU9O$a9e~q8Mha* z>4|Z|Pe10LHa`O#WT7IUaQyD@-Bwok#}C$6+3%;59Av*gJM=yLd(HQ7#`WK)U;o~9 z{rhz09}3yuxnz&Ce~L@d{B5?6OZdf)*x#(}T;Kmel!F$e-T2;j{X1w@_vcf{n9NTp_7hxuKXkwQ z$b#ieK}%?U?nW5-17ze0F5xdf{lJFte)o}$|K1l5%9t0vZ-FReWfy({+M79j`YiCy zey9U3e0K-wIr!aCmieyO3(&@QKhc|9-wnQNaV`2DF7(~-dmfkYj_*EVi2cU$!au%4 zwj9fOu?g?^9;_n!`w8@n3f4bG-_0PV2>-ar^+WNyqwF#8;-VL_KWz@n{)zn#GXF>a zcP*~Y?*&58behK{yyuh{G;zv<6Q>FnvW<6;Y~1rb_zRcZPw(%3qQZA>a{Wl_{_c0= zd%$ zKhf{Z?85ubuq|F#nVwTym@N;U^(J|${KjKhp;g~!2ygkp)F}Gh;=9Vp@2Yd;g-fRQ zG)%3R{vE+q-P#U1R%lIKT}4ZVbVTmL9r9DZ>$1<9K694*cOKA*CpB`vb*HlJUNLX~ zy7>)FljMZA)K8h%K1cd{6x;M^Q>S;ye^;*hEq?a5gY@r+-{She-J9jR%DaEd_f&BF z_L=-$$mDyhG~eCFvO+)Hzt0d}11`N{LA!)~Cd>C;>t5b@jpMs}^KbFzpmX>ve#`s) z)~J#f-csK+t#LZYk~tImr%#a=UNdFV{Auf?_pd06m2dp5%Z_qH#&_LDwz%BVh>VI! zGwS4obEY-4OsEEV53;>ic+GG5+20l1zuQXlA+I+3z5craSJ`(v-S5+Mz~g?s;F9>o zZ{xqSMIE?i$$ocVQ1-p~d&S}Ju8iLep&9JE&v$Ow@1E>S*H2izYkqx^+;8V#uI~}- z-z}|g{dSBFudU9Od-zQDM?C0Y7Yp!Gy8Yk78^HNLrRrRIPZHJWP#lWcF<&Ur=0M%-B)NmbJQnddm{&?{RE%Ce54KChzt=HRG$#Hr>gR&1~N%eV@%b zX;M%B1gU8a)9U5^8L-tiHPpBDfDifX{5_wwna!lxFCkOO?RTm~UHgRcxzax}f2fP< zedlET9>m7iDEnYR*^i9xHQnVx{~7p=jsG)UICEBb17vl*7wxx~p*Q_}vDI+3#Vp(`U(lZ+n`< zbzVi*@bmYnm0W!148MCAK7IE+YN;l*{q`So8$krum-#y^s0VzwZU2 zzq!~gf}da{Vpjx*>#uk zcezZC-(10<*&pEx-zApcxc*s+@4FPZ-SRyRl;X=kb})kMD3VrXOZbN(7vJ|&kTtohzk_15540Ya`Ij1K z54eS*EV{;Et{)lSBk#)ceYb(M#y~cGfY}6U(n11v zqu+-;aYE&SO;X?6peGL9H~JnuWlDF?6uB@JuIUO~XV_;>m@#4cB#z(i9b9}57nJ>2 z07_1br(spZW>9Gxfs{|$*=KH?zH-<6@))__alu^QGuXdJ^cX++?IInO)L5P^|J_|h z7Nu_bQCY_YYH$8v|88jgy~X;wA!sAWnONB$`~OCOo86JJ!Y@K)<%Pd|ci@uad-z-7 z`wWe#;1D_m>eZC|lmht-GiZdjpdO)Q$}YSkPEq!EQZScr#dlVA;gTJ9x%iHNZU62G zYVH2{!50hKmr@DdmjXIU;JYJexF7;lUH&orJ6lvkwoG<5*A{R;qvf|8NYl6P-(o@Q z^_Tpug!F1aE%?vh`8I!_4qlHJ_f4JDntEZ)AUqfmg5w zLR5e()s$_Ng?2+72^L27#QqTG3=t#z&Pp}%=pJKH;2+oZmC z8aT*4{B8j1T>Mr6JE~9k)pzTkv(-V1dYjc`g+FcoJ6m*(EU3pWbO@C09zf5g&;gz2 z$H=8BD<}LQ?)&oZ-IZK?KNKNHfq(`d4}I^O`Q6Ux`;6aQ-|Z%Sp9UJ+{LAqD70CI* zzZ(9u|D7$0(q=D^MOj2g%+j%@#_vksBfcv$uKHf`o%wqw^N;V}mxz8BZ?r!D+dw)Y zrLHnxe(IM!bG{d@oz**KX2+bO@6r;Tb84p4bo_qf_M0iZ_V$X(O80*;bJ%o!T~UYo~nI-0n?1b2&EkPF%1>dR>26 zO0RrRWp_$fB?n(i_jlQS-&OW~mu1}Xy@dI)*!Pue-~FzgdVQc^b;=_7r3>e;-X`_h z;rMSqx!+S~%YKji{y=o!MfOEATFcAp+lu8~e}}{Qb!{c`e7~)~hjD?X!Y_+Gm;G)1 z4m?c@;(vDmjmd##JRst~oxgAV-YgsQJxNx0#ShP)T%uEDg-=+p3t#wc3@M|&J8`iK zpZKoMCA{K$wTdj?fo{+lK;NB(mVB@Mt@OR%$oJac)*$Uq_J1#wz4twKEjVItqvuXv%L%`zRh0c*%`W^ziA(s#_j%tpicViOan~uS6-R#CvGY|?XD!VH z&>EDJkTocFpfxB~;I%Abpz%xL+K{Z12($?<~w#w%Ewhnm@u1j2eVUM|lR{mHe9P)j4qv&_1R~Me{syytsK>iSy@S3Gu z!XeMOrY``GRtL-e`1oUvr|k6af?N;3+k@uPfAfELko~O%3ZG}+zkHXG6~1*=7Ia9K zyzn#F>Cke*SI^3Vj)s;Oeg-}rT2A=o_lcgKvJhimeYg7_Ec?Ch#}Cma@LBN~=g9x) z`km=1I}7A3&>Z_u=?(L_Ks-=!3=;T05fte^8GgI{ zX87*LI-|K^Ql0c~d$xwArUv;xCF~7Tnx@Hp4`7=%1$2vm4*MQ!*1E}4TBk|xXPYr; z()3C4dvCM;)`1*f|2=?hI!M`%6833LQ|jgTrbGNu`yMnOUoZPz{#I81 zu52xfJnK6hlGZ`$FN=Mz=6a9hn<=wp`O3H&xSYR-aea3N4b#Sf)&)s|PVH*8m;EmJ z`%*jC_f#&%ssEXh9T=E@GX7{6{cg_X%*FRT6WiU0qE4={l0u4mtGfnxCzmRP)k z9*Zx&?>2!M1{!|<9`xPhd(3we(45q&@71Ti*Pa3$9QfsTkf~7d}80Yex$Ltaq(>gW%0M=-SM#^TI5mp{(HhxuJ3W*HAOGWp8oDBTMSy%rSrY= z%l8D~9pBx*7s(3W_zpgBOwJlKQY4@v`}?B3?02T$mq4RLAdSK|F3Wyjgkt1@@3l|4 zemoYl1<87H zD~^IE9KhDyxh(sAYxj4}rQe-@i+$Jpt__WW_umtQ_kFJi4H#*>XBXc0TSJBG`zE&c zTvI_pR$RjSK*zfNSOs=at8B$%E}>1|yTA*l?>35l_c?q0-YoekJIRrzsEkkX==TkazERu*>jdJo!VA2UrsorqkmH8 z6zT7_Y*QysoYpCSug2rnZ+Ge6&Wg6bRh#6y8oHf(8aRGyPJQF}-CLRuWc$YdOgaq= z|NnC|FnsS44*7n#QB*hx>4uWHD3yRl`KHb(&0urq^iP^FNnUu>lxfrYmrAdhR#GhA zrp#X7)X*Sr!QL>XVY=MsHnz-$>a2o>i4&XUKm{)GE5ryb;OdcmvY_ny)$i`0g`o~Y z=f8tiqY2-61zO?O3|isV9L)8->$@JPQDY~o3mR!SBP;v{yrAt4Y(d-iO^x48ev6iY z&c~bo-J}r|aX&!IO{V>l`+i&$b~TG|-fw+Xzu(*i@}b|A+041VyMNc0VG?Kj_| zS3cjZr8BvHcN&R87EwSJTi{x1!Pmc_?7KGj;4{YK-xJ=0b^%=h70x@@eoGp-|K{*r z8nY)yUjMfxWE4lLVS=pOcMrB{lO{~Bsh2*5)$-fIkz1RxsW-MAX zWBM}rGi-cE!0Xu1!=`{s_}%yKzk@{gvVGV6&UF2|vi$cBQ1FC(2M3QIXuV$;IC%0P z!Smfr_8ZrCP*@6|`(4eRRa=z@9{Ay97k;P2#n<%RQ}*GP?^@-Ix4wgNE%OiAAFQI* z4?in#eYcZU{>~5DTjZfA`3OdGF?{_+D5L;w; znN^s)$#3!Rc3gGS8fM7-$oRfM)cm^`>vwB5zDBOH?_pe1e!K-w|7t;}f8TuXWIeKI z_S{v{v!+g;E&rXHeRloyYB_&4y}}fWEcwvivR2>gS&Unm30C%inHdo&UZ6eKd$dO7r+BJZri^bvpLH06+&Z^`Mdj}@6JLy zzGr^t`(7nn^F#mpHc{V*`qE_iC*R#c)gt3;+3)IH2iO-Zow|N2=u}VPKV^_uE3=nf z1&{T$?7}sW0|n*yey~7J$otM93l8<~s-W_E&aZ^;&Z4et{?C%Qgljywdb)bs`#U6i zn^+gK3C{sH6Zyh^Gkst2TdnMS)OX=!-`#)feb*EE9`U_aIONBP@0z0EhL#+pp*5kU zeNq*u1Z!?+Zt9a44w)Ri+WxyxA&2l3%kK)ZPuYb-9xvT>;FJ{KHiT<-e6RctZk^8g zDgE79)PT(o>=@|DrEH-4o8*2wvw^huqB}RYVQ6$pkKK-h(O+;i^q+!n4+L3C{tI zAA#nj!4Am>RrkU>el~&1k++JnpwqC`*@bt2+FRe9WH&BXLpq4 z+xR^Yq!H2y*zrA<3v?>DaK(2gP(w_GOSohcoA8#kT*5mPx%l#aGkw4M_B(uogZ=kf z;S)cud`}ns9nL1ap$2@Ka+<90g?L%v6BB$Rz}6EdBQSUMu|JC(Czd(cp1@L<`A1!dnAKnLZPGcNhwvghoo@4d`Fc|idi4mwJjy|%ugqE&7ScuXmV zJ-feZ&Kjxj@+z{w{S;+?%d`JheB$(7deOq3zWH+5;Blqx?9)NzRzC;$y!G(!eu!1n z$g8z6R?&icI}g9xgI2Z~I()Bm{B9`BApG@5Kd2S^64r|Sis*~Hfwf}4Li!>%WsRzuHPm0Z<{t}nOp+9@QxBlKKyM8N?#TC*o8|refQ(a<2np- zzQA|G%ik-17k)PsHf{KR^~XI?VN(b2bvyFH#ttx#m^vVQV%z}pifIGHFT$Y>znT8L zcpxim3fifq3)=J*3f}ZJ6?xMa$9KDP-z$HYf42ke9g_$59K#uYTZ6WEnKPKm3hOg~ zwnj00XOR`2&Ts*A;Z(Y8l`P1a%fEO2HUb}Z${<|X@cj%ZluH_5uB&W7xUQ4|=DJFl z>#7)f|GW_OmlfW{fV{(_iUIc)kNn2(3a7sduKn)%TlKrD(DzT@J3-60PySdY`rFq+ zIif@Uo$U8Ow%HSUr%#s`zAE=zm!Wj{5cmWlYxiFWWNW1 zmW2H;ATxwNeUEVPl)VZX8C&(e^S8+x+26+CrMi$9 z`xFFTbK3~&-hoENARRg8?`B|g% zcRSJF>eIP!4Uwh&?i6+An$|G2UXHKlEV!WfZS_X>x8e6*;Wyv;KxPYnn)BzmD6Et9 z+xmN;>~HJuwZa9^N_@7gaKq@@c z#e7dN{%)7|y;k^3!}rxco~z3W|6~ANPxvS3&vVi5o7seaHN5Bg?EzUr{*yt8OZZm< za^Izt3w6a=+xM35_d%_Sr{8OtFYo30eqHQ4FKFR;8RORPq2GPJ$1{g;@r8r>Wd+|| z7{9My&&Bs!c1GEXvL6cHeT8=XXFTX1BV2GyR(Qj2P4?Pp9W#36gbTh4%kt@e59Rt^ z^}Ue!$3)Nx=JEEj-y`c}`Q~(gzwmoENVl`luJ6U)rM?#nS6t@${Zni!sD7FCU7qXr zEOy}vB`&_-Hx`sJ?)qNKd{ykYEZ^_E@1a~DLFNg9uClmmFMF;|mT%$rP%e-$^52V@ zuZnGz{lR*M9eg%3-`PG5@Y8`@?3DEZ=W7&{ELY@4k%RcQ4`MQ~V+J-S@kE zIpgf_$>9F{@*n3#!@skD+O4{ZvcDIpaDDe;!*}LCwrd0UIzZuE_}!Ut*Z0Wp+TSyn zuZsQXWt%;H=1lqT``Et+svZ9AA@_U2cTh9=yR+!`!W-=0NgVBmcXT z-KQZls!Yz}2N&z)&SubuiMW0 zJ!sL_JKt5LzMoW)<@5W`*xbPIpJ96g1LKPCF5ktzXEA?I{2?y7QkE|i67scNU%p2P zzxbZ@Evr0%Wr1($l`+1Dmk0)X{^)Rnx>aa|8@YK z1m4im-PzkJ|Go3CFl+sUsrB=v`AWM%Q^;b|W%+jewk!K_^}8?QuJ5_uy*A1IUh&)I zI~$h~DAn%+rJtK(-(kC$4lDv63=cYdobP*~UmKhBGOm*Z-vk^kMz?qDBa zBKKWf_Pg+c+fTk*#dGn!@BVK2y&9An)xL***Z5w{JVzF!`G?y#q3=Pmzhl3FCV=k# zcqMv@%}7@G$9J9Y4P01F`kp2G!|l7Ttni)hT2SRb?qgLfbqTb>Fkp_nkO_#hp|mxH)-qcc&^P{-yzyS7QaKY z7)>>*wcoCD3BOb168^TCYte77Z?DUQwtf#y_&%ZNd%WE%Ug1+Z-?PBxgI&z%dl#6ds_je|RZy?hqf4lHKUUWzR>|ozRlSEZlZbg~gZ;|ibtdrUrKvynVH^{biclNc*e`ok@#45bQ z!mBX&H@}nuI8DoamuJ(Jog@F9nSDX$rbWx;glF9S&BNN$(b3Z`?UN!a91+8Hip`hn z6nihb@Qj@vtZn_%K=(d5S8?_B^tVrt2bZy@zwH4PvTWZ@uIIY>y;<}W+f^<|Y5TqT z+urZKLf5_tR~(ZS-hn7WXg+KgO1Z%j;^*awNz4yDbP|3Hs-wTCb`~Vfs!asiBwU-rsajp(D<9GQe z7pUAl{cSs>;9dP~-8|W(@4XP;<$Q1cCN%%sN>JzV!FQj%T*3!_D|Lb86uvinI{@k` z8GoDky;%4HYLP7bLBkBJ3|urH{I(fXHuHQtzXTp~irTa|$yEU--`Z zQ%Ka1OZY*|Um?-svV7+nzejw(|2>p(`*&Zi@4pss=|185-Va*yx=QRjXpK`KTT?6O z+PL4Xzx}^^a(!oc$ofYkLH0oR_oVNqzeftK`^oit<@Z^_3r>ptxB@u>?sq!dqzSCT z7ru+$k^Rl!_&fEtwtPeLcW2q7-}7V_{ZtSx`2OL0g6v}XKKAdNH|NUU{~j;<{mb{3 z-?gBmzvBo00@+R9Yh@RGFOU`9@cqq2+28+IQ)O>(ZE5@-{$qN%(ERUJT;D%^uaW(3 z@LT_u))e^`w(mmUtq;l;f>uW_|8buAyVO3}6W_DB*8db?{{DTT?CJ$&;N=?&zEA!= z8D#8*??zu_e;a&Pb$Qbu*VWhC-6#E9{I@gfN7>&C+um}uxpDpewxH}k!_or`;JaHG zK{vNBe^(d7cB5XtEciOK-|M=;7p5_OkNz&syhALTYZ(_rVpH3D_3zA}!8X@6QQ-{Y zZaEfSf$N@Q;R3Xqj=!tO{+_U)Z0A?T@8REtnZIX=CCPrb=lZ>=?W5`^F5!spo^7IE z4<0!uFI;ife~WKcbsOla#EAYitl#C?e7R0TvhD8-w%V@7`mS0I;T=`K^;m1Wrqs`r ze#SPbZ`xexxl^iZE9;wT09pfT~wOy_tv)WF6p8BCUv_|&sC<8m=F9JILEilS>ANb|_fPd)dtg~@ z9Vn}PT)?%b`+L%lrgFybQ@-~xKNS113z~hzex!q1&+wd=``hZfC)eXMtiMZt+ntd8 zt&<=N(hAOgYhc;$ICA!z49&-XmpdEo5#=6izd68RqX z@0_>h%I*PWzsKTdv>E;Q0Ih8=3|G|BpGqPzJt2NjTxV`foe%?Uup| zzN6i536JF8>weoIXUN}nqDWctw=*>Qe>)>b|8D_!Ci-oczy;1lznvk`{@Xc?>-W~* z&fjCWemjHG`8jCxKm2Vc3QFd`ozYUjZ)Z>n_-+4PmFu^CJ=Y*jn1AY@aQ$xh$;13R zL(Ec^@4F179Q)6(0F-sU|NAa3e4|-b_(i^~@Qu0&vU0w^KZ#n({tyPO)9~ej2EPiM z@SU?ec5FN%bt!O*frVGBOS@eC#FpuD57?$o?4LDRei;`;H{W-?>hByjW#6m6GyG@R z0J7qT*mrs1oMu_!l6+a=9E26Z>wc`M7PXN5t|I%rwE4aIcMcQKs$+&eaI|W?Ybys| zP5DFpyS%W^fgRsJf$pdDI0h~pz&jGZu zS2*MV$a&J;-*ptf{%6bv`RDt!@4~`!nq`I8k_Pgg6F5ztq&7hI9d|Bab3?LhY%NQV*3U62VF}-oWtnju2HC)2m z8K4)TZ&wI{+=RaEKns`fc7=M`?{VJ^WZR%_nEUhaU+(Yn-yODa3HLF8-67n|U?B_Q z2yhAeF+d&EGvUWdws|cdiDx)B3xC zEU5Mpn)`FX?<-rlg!eFX$O_jmtb(MYT@F9yfc(3&p@vI%7c4M$IY7{uqSIPu_D-BSVWPz13ya+*v`%cC**R^Zw5+B)$goazdx~j=i}o0{lVe;VaB=NXEASf0Nr2P##;Y9lZ)?rc=z`d#x37d zE`kyB`9rebS3xk}@2lP4D}LmZGw%Cd!F==k0@3eI3S2++cm(1V!H;I1Fl|9YY;J}(H`#o3o{`WZ90Ja$qSucN&la2YVE9?DTSJwP{G}ke< zI#X8X@6lYlKx#q0`R@9CuIP-1tfxUTe7~P}f3INN`n`hrf*8myWM}qvf6x5h@_j03 z(dYNn?~TG6zL$NUDEd8%ZO()#^JmKUP3Z6MpTM#A#Is}Hq)tbE=l@;(yGZl5pjwBV z@P&$LpvyG<*cMKjK4X%+@P;{4rp(_gJ%46>dGv1~pFBNz(EZsRQcY8urpitIJyG<# zw*uF9V-?xo-iornjT2-$e}{Yz{~i8)>i3rKnL^(aK-T{-`Y}rsqCkZUrU9h+cNSY! zTT^+hd`DY*dwUy4q@O{6f|U2(-~8XJzZbpzF8HBOPPkxR!}MCY-+pYRE%kLR^1>Uc znwrX!rORul&)@xB=+ufA@;!asy?s(snx-_$@%@(gq4WKa(25_4pbOZZ{m>EJ#`S%& z*fuV{KjILX?@0(5zTdaLfBK%sc;b5n^W*QVTrq!aMPJGukiDw;J%Vw~Pj%+wnxa2G zDsX*QQjz`hQBn4{QiALsso$mF^|^kR7IA@@#$3Nki)DYi{xKec#iWZ~itG{eD=1>$|#&>~HQLyT603hXYOF99ES5 z$C?0B`rYn(I`h8Y#^+`o8lq^~wH@{>}M4RQAaC zbmsfNIq^FSqV&7Z_jKknzd6ry{Z9PN`OBJdBgk38zd2iB0^cLQr!$}W%?WZ=$aj6N z5Rjunz8iCe6ytE{9bE ze`G>rjiFIy42iPe9#Cn1u=Mwv5b57HA<_|eWxun0pYT0`asN+s=3Cze?QDP>&GhQ4L`I+ zzpKg4?5&@AhwJ+iF*uvg9IR&fk5$Zje`q62Xki7J#rOL&NLpyt_gSF40ySlJZ~f#u zTztQOfaR7$uKd`?xCG?IMOQ#x1oIDlpU-^b$_`n+-#@>>sNh zg8cDP_IJ$>`R^`_$G`7qzWYO7^!sEsU#{;G&<^M16xrVrE?j(nQlY3s{rl;+-wz6X zPyQYc-iuwQF8WPT!W*6)1HB&ck zmfGC7p?a;{u3b~7cF$>?Ch2gkVQN)(W20nD46E>s*_mlmlcj}sB&Rl3XUWIxYMfft z-OwoM;LzC6T{X2)a#sv%Rc2FKvQ+Yv)HzvlF)@ve-BnW?B)>2IDjJ!*d9S?ijlG*U z@7=pOIZ{q|M`Utxq#WPzIb{pWeg>B>Di``b_q(%j#P=QQqThMJdu~(~eZ2RbU#d{H zVfvJ|dD7ow*rrXLI$d5kqvNvOtKW(%IfQ3iQIY-4t0?Qr{#&Nl#Oybl)Njf6p5Kki z#>M&C_KID{kI5@f&IHhvGk^WE;&_i)A~Kf9TK z_I;lw`a6NGw6UeMNj|%-xIR-lK5zbsF8SwOvifYtdza7KF1>bfefA9b(kWA07D|6l zsN(u=_S@+GZ;#(0zvXOyN3_fPcgr4U`yKgR$>w{=caQHz_rIHk$@2Xc{ayM!{s%Mk z@B{wumCSQ~mx^v;`yTT79_WCjz28|uM;o8lXQ&5u;CG}hAJFnq) z)9-~}K7MEJlM9pm9mH1F+}cnpFTACuqO>_dI;VKrGI`;Wl?!IxUMa^1y0aow@#~K7 zmY@Trg}$?ayTG6`rG*)Uw|rL=`<|r0C0ug+UJjS=w*4xy7CSDoefRv%bLP9wcPr2t z)1LCeJANMqO{TF6Z*ktmbvf>P372q5xC+;0HsLM)DqO<5zE}KE|G@RbyZgKIy6@WS zzB@DS|6aTXhL~@GCj`G|gC@z$zAMV!hRp{4F#%1XO%eNH!uCDrY}xaXVz!Wkb@J`p%&uYsdE8=LZvPN7w<`pznp>%|TvtVgBB@W`k_g z_x$hXjQfAAW4`r0U-U=CJ+40$in6~M6J+cEGw3xid{5yzIF0MK)Z*_pi@w_}`feli z-S)eiFoSTx_lO@l{j$bSzuVpZZpXO)M?CYb?=R-d{_bO0$i=4)72f?Lp7}fbf+nut ztTTU_Fdq1k$b5CCXm5Xa-vs#|D&H5e&YeDO$^xma>57E1j#W3QjmG+mAlV(j7{iOfGzW{OUqGG)5_ zcQf{-33W{9@9vf6)9L6{@6g=sebIc2iM&19$Z5EeuN1}T={-M^op!-Mmg8- zK9(!8!ZXUb_*B39faLf72op}Y{5^OF7pOY5WBmT|yB+fnmII>SITX0Qx2wqhG47WA zzC^v9>-)kz-wnP?d^cd+@ZJ2!obTq$-{lG4@RoZt22Cww;$%}!mqdGp4lt9R}8?Cy^CjFJB# zAQlsSw!3@x*0} zW#6)B;bys23gDa_!S|EPxtv{Ge9ybTJ25W)>CL=P?5C&#*ADi% z9sM1X<$mY=SjalFwSHcK^lwA9g8GWuR{7s~e-^TKGMIHmT$ke zu=4Hu?OyiN;Cl_@k?)z`&Aw+c-v@0&Q0Mw7`rYiWs0!D2b*`U}RAm3GQk4Ds2y|o$ z-}2uv-)nw&e6L~L^5X&X`QI_3KS0iOQ<43h%l19}y9w)@8MCL)lUmL`uX=jb47uMR zq3^j0T;JUw=KR)UFPPOZt6uK=n%}vs9qhl?{LW*osjq1$kov8cAp2eFyC4^6_XXp$ zpIyw~lf}L(u+5)5ZRP~|@A*H?S-&eQaD7#g{XLtlys56CUH-T2pNrPtYhepGlvW?%v9l!Jb=D5cJIqevH z)Uo{4$P1pUoH*d;8AA^ij8lX3m($;msv{CkuKh&tF}3;XR-`vctbC%l>DUJize(&kIG5?>D|H9pDm9 zV^}ULyrkhr+MhT#t{=xhN?1A%F#P{r0a5b(#`XhT!fqf{3l4x(5qSgs4;C@vuB!jT z@|{7ns%6HUF8R)7-K%<+aLnnMG-HnRoJn<6J@UOp-8r2F993N{bydt|H2GduW*+^&_rd*7&;uQlb7s3Rb8a z!o>H1N_DPFOUWSx-Q-#2%cQq`PZZVtuJ!V}*2~{otbE@Se=B}xmHn-lEc;!e@w@eJ!|(dP zrOJLB{H`ms_Iuv%yq`sXwZA7_{T?FBAUxyy=|<7>M<;DKA}?&RteCZZ!o=2@(%%!< zrcRzbWkTnK_I`Qc;NRTe1z5Lizxj2W)YRt5ji3`28d}=gI^~Oliwe7?9B#7S-?RO| zHL2(JPk!tCws$hpN}LnBHBL_0!ZbSG&q_*o#&6j#j^7>RgpHT|C=;!k-8grq)WW&5 z<}I96Q&v`4lUFAvJfq{9^;wrkaY5LTSFEKX!fBV*Fn4-TBsc zXXfwSkcR$G=39T6Rk%QH{-1R!vVYXrelr>y|7QHn_}KV6qx>KK1lgM33g10`G<> z3+77AnlgRX{HZOiljVdjv`m@UGE4fq72EV_lV^3wpX|_k@!MSbx4E&wZ?^o2#Z$}W z<1$KOf~8b<`+ZkUm-|#Pv8+<6rm4QBv~lv}X1PhtEfedce_OHDH#FDu$ouxa(D`mI zEqvnK4w=8PiR?o4jc~)boRDDxJMV}nscg4n6 zSH5fC|E_)M732E%Kjv)Wy2A2Z@ZjYmee$zdo;%Nv{8Dx`DTmqJe9+TAmi zV|j1?(pA#)rnHq$m2d8!ST|exHRxjZ8C~*6Izli17L-=>_SbC#9pV+()5xJa;k5r( zX|QeIBi|i6!yl&&}7^%l%eMk^Ozmh3h-x_e{~l8`x)0sjseXs;`#koATqsYsT*k zZ$G{L_?G#**bg_+@1?TeHTHiu<=PMJ2gjwzhP!a>|E=*opX+<9*!NP|TkO-SSQ{oy zXqqX#oNeZWDbps&Pn*MPygizVk4D&;EW#^gF}jd*2zpGZ^3d&G4JS*aAd8w)oB<|DByB zE@#z_9jib%CoV20Cr+O4_wV2SWsLj32Qc6Iog(@@jqBGs71`fXin9OKCCL8%zMzcp z;P(LLJ3sP8ze{~LlvS0L14;fqpu+Vhp9NJYK^A->>9g;C-(AWXzgvC}VE!H=_C1a3 z`|0m4vfnj9trV%(vfrJ#exGjV(pXUTUFf^t!|#6IIm#Kodx2D^f>giz?jrl}JBtF> zcL^2Q-z-nS+7xAtzB_Z7{$^2>{Vk!w^_@kdooiL&cZ1&s-vhUQ*T4H+OK1z|#HEby z?;1tFC)|I2X?Ek(TKV4rY?W=DwRQ5sJ8J8zI_jje%a&}EpZWa``|KIB=E@&t|L&so zo$q(jZ};Eqs=u8Z<+>WXQ+paYgfo5zO#Q6&Jy=?}BIJjJXdnBrCG%G-Th{0%*TK&B zldb#h%I_xM-M^b$DHl5Yz5f08`n}&fFMjV7-g8e3bVXDl`*+6QrK~M|)2f$Ae>b|z z_1hD4H6inU^Imyyy4C-&;g~^eJ#{SCReGrzjhr09qF; zFT47O1M_as!HIm|6P>@a$~q^@ewUa16aPk*`Hu%^eJ=HJCg$8>@ua=CsyN|Xh$1ZDrk{?Ha?5MJ=x?;O{U=ijv$ z|5*RvWd5T9TDHvh-G__u_loaj%)cjrPY~U}CG?y3l5oLq&01N|Er#Fu7=O?HF2rom z&-K0fJ0Ihp**_$i|1^BB7XALXkn8tjMOpU**`H0{?HK>mf-aExlLoulh3{w6cQ3}@ zHQ&9Mf2Zcjg1B~!e`3G?Wd1$dj0?&w{Qi^qPog$V_Qj7`%zthmuJ3`WYWU&B{HH)0 zrU}IT{Y;;W?`JJ21T;WbwEiv+lI8nZ@jaIdbngyGMo{)oA=KkZ-}ShJ6M|)h7krlm z8=}SdC-;Xn^PjK+E=UM${@%#^doK9aB0M4R$M(nb?=g(s-^-X6f=<8Y`yKmTUUu*I z_snO(QTRIv94C80QS!YAIZA%>gB1R7VE&$9#KrfAbpw~schgJ41>YrWW#MvX!EyXs z38eImEb|p`8u|l@GgrpF-(5ihpyS0sb{_ctp80#XnJi!4cX`?UKV~zZM@lrm-N4bj z_Xj6Piw|g)2pW}}zY8&c&*{!I}i{yXeDXY6;*`0t#{zjF#3{dVY;6*l{> zB4)@XZ1i0fL=}NG2(S8`*Ch(l2sZAw`S%G+!7HZh_(m6 z_r}Wd@ik8UF=y&`yQyry3s$nrEinJj!`aQl{XLxPdms1r@ZapWXYufS@B3~4U5|(N zr@ZJMVa6yX21W)}22KWE20;c<21y241}%mxh8YZ-8NM?7V))0H!nm4oJ>wR}-%O%R zl1$1>&P-lR=}b9Hg-q>CJxr6CW-u*aTFmr>S)DnHxqx{G3nz;>OFBzG%OsY0EW23t zvm9YL$;!hjz-q>7#k!jH5bFunPi*{b!ff$u-E94A)7g%)-C(=J_JZvnyAZn=yC3^T z_JVYZe3SW>@~!0C z%y*9OGT#k;X8s`lMEj?h;-iyis_I@Lu6-!ncL*3BMDO6mb&?5s4K^6e$#`5UCew6X_F~CbCduv&eRl zBO(_>o{I{Iii#?Vs)@RahKa_Cri+$|wunv?oi4gfbeHIU(IcW~MIVU17yT;wM~qiY zSWH#SP|RG+PRvCtP%KF-TdY{DLaautQLJ68OKgJJ46#jOJH+;i9TPh(c2VrQ*d4LQ zVz0#Bi+vIMASPhF3~M9Sz@Nd0*Pf3TP2Q2T#&dfaZlo@#4CyS55#pB&8%3B-JFfB`qYK zB>g2rC8H%1BvU1GB#R`=BqvRgR zGrDI;pJkgmapKeoofA6x-+Z720&VtO+@jxQ z*%nNl3_8I={W~vfUte$k1gYsQlj}iKyfrPIRWHp5f^;?gvyrHh4L*DOqir4oP)@dCLGs>l5f?mH<{NRGW^*+nC z%YRqn9?>&n!BdHo;yl5l8gJtbJ6cSIL!0JG|v-<;Jy>3$)9NTZPM?i~D?l(wi zLTgKRm-P2c+24xnB@>!v)X80Nb8};@t7~g2k@~IpU4@H#BA5JkMfOE)Q|e~Oxm~z$ zffaNr(;}(witN)Hr`C71bhow2{m%WJ&f474+Eg#)$zDIPX>yC)caTuq#7W&f(%ipI z*~%O1>)Yi`e&<_%&u5+1-uyj;tFfW3Q~tY%tlan5Kbforb#+aJ(uwx6$JoA$A3Xfs z_`Ll0pdYEMz5QK%eNx=)phZ;NqTemp=1-kIeS-Y=bw8Cs>u$bl%Ko-yD{rc=Z<9Cs zU19mX0>kvsKQY$7Ls&c8dpbI#>ZgLnuZbLA`p&>Yx7Qx>6OyILl9f`g@0%N*7;ot+o}&g72wr(Bi1>;H9%W`oxf{v zfwx$5e|KbCG&|M@N<~%MyMP zJ-6uh+ic*&DL=E%Xq;Ln_xm=aKvFiB<(@HRCMc~aaB+WkR^Z~c;`$!Eh5h00VAiJo z>6Oc*zb964P3Y?F?3e$||Gk3s)aD&$pGtk#{>}FMcZl5YJ)q;Tf9QyQy~4g`MqXh- zO>vGqH=8LJH|k9AfexGRioesPf9w9{vHY#kA`h7Y=4PKE%T3W17yKJszAOAr#Ms5c z4Ze?Wd2daId>6Z773*)w64Nj(Degnx2Pu1hwPe8t7iYr_dT0+T5J8ZQt97?4YKV$?Y$lH-#vaG`W^ZE0c&SR zS6fGmEa<+@sdFaw%YWzpUckEecMeWj2_CH-5-*6Ft)_{89bo^p=g)>Cc-d>4{Fx_$PtRq~$f$+Z=E#Z8mv zG|6#)_j!H&yZTi5-j&^JJ6CdW|6a(RURjZyT{&;P-1mhlvfSTSvLUU~#k)qAn_XF! z`@4;-@VN>u;d!sPgx7(t83NtEl-K=T4*6P6?jM>aTz_=gLDkIln%1;%eYH-1+q5$9JT&gMK?I z*#A~+8dJyW_T_e*W>>tDQ4`u7YL z$U#E=-IKef$USH4YU*xomx3HI#3%ZUZQ1lWGbYH--o*Mnt4sE`65E>Ftlt^CWK-GZ zY+~)5(A`_jrOQ@SS6$mGUzN=IJGEQ(yF6Q#HLGH`>^ioZRMyV6?=D>5c{_fKeFRlI zk-sI4f4hFqkaYuHHSRb0yRgysIBD+h#VnPLQ)kYYI&JRUX$^I?4ULuZ+@i{|--W+N z$@a+oW|&&|T@tkaS7qsUiSGvG4wDb0<%m z*e`$K%~>thmI;#@=SqJMVVf~++Km3L2_60Nzb(Jld{_UT#oF7~+doNadc(9j(1|hS z&2_Eq@_|NyPgp0mH_s@S{_Xu;gsZK$4OHW({LcPu_Pd(3qrI!OLkfH{5T85O?>5#{ zS#Hotm5099e_!!End|#9_OrhkSQ{oyt(`A@k!}9enbRi8pZ(6j`g@rQ*LTmmT)&Oj z3hK*S+U0+%{%-lL`n`p9QhWXU?-pF56F_T1WZ9=TPHF0qYwKZkof5Y4melR^t7$Xj zHq2Om_OaCM11m01mFr`h(ld3+bgA#M>|wGkY`^t8emk1}j*&{JiBGAPt7?JHwTH8p zf#=%iw6Jcfo)w=U^*i>vlj(PZPC32`*#*;WHcGNa=SR8{~LJ??lcZO54iB+s`B7QR-{H+W=J6_|rbBlauQg?i!R7uk%*$p#Ue>3g) z&KmMvPuk&!rRb#Y$vucIpex)!+=i*u-3^VBzj=Q1{O0}63tid<;x;yPSA!O+@%{!w zD3=fIY*c$L?#>oj?(e>AOQ+17)-TW9HMM(g&s2`}eNz{1kX}2ZGP@6SIZ9?%BM0~F z?!B_yKOQA>ap%Yi??pcJ1JAXt_qxA3y!~$d?7IW#{*+g2-#tHE{H}F2{%FJk`PH*` z?>H^>UBUF??_jy#55TQPPtj-h*;h<2Dl4lm&XYI)Jy-PY3-*<>i;7F@3bN$+uE`<} zKKd@o)hPNsw&&w_hH2l``ww=1Xg|{UUF|pPm*2rXzk|DevnnWzyV!;En*dqU>)| z6)tXUmFe1pj=}9x2!L-B&a!ZT2Dg?^+MpFU%~8{GP>?(N)e7(os|GF3tVD zmiegIk9syo*{tu%Y~RCva~}KcEB9MXQT8{V3fFf$@HIUACo@X3y@GU-rF@bzxt_%nIq>I&2jUwWWRX%YN6f zR`*V-UMkJ~pW#CT1M?5J@3%$22eqo5{v9suqbU2ETZQW=+nz<`A-(bwejBm=R=1b^ z{!4+2Tl9*o@B%_@hJ^1HvS-%KII>0RJLhlV=f6FFx4Ql2HExuHUp6s!;)H3F^>+7ie{T`}&dbI9BT_~7H|TKhhHCl0QYu{Bpc6;s#Ma7k zf4>1b#W<4Td(eAX``>RxKeNr7JZbtAd2Z3~l5F2qzcao5ZXy4}T1EEvukUeO-xYt) zXUnOp$dv;{n?Zu?o`rLFY?gZFcIae@ZIiv4ERDr?gbBJx#u9w%ZP$D2K-`Gk^Oxb&o)p~A&& zB+K`mUH0O4JH|cV`@U;@?_=gRsY*<3mg`~vp2j|_e%d$L-?!O+v%UV!`aMYQI}_V? zhwqx-IlueKfA44K{vORXXTsvG(wi3M<|O5nWoI=^UsNeSp}k>Rne^{Cw(pssA$Fd= zugc#ur1`!xpJ7MbpCbJ|4P4=K*Ku9su9sGW-n^{yyR8~D$n#T51w?_?lX0ua{?=2J zpJR3JL{M9N zVrh2o_a?5ou5ym-uEw%VX+A}+*IeA-3s=Fnt;%u#c2<<-1|_Hq-?ij_q^QXL4p5Z+ z6UPotO@WHCzj@iYzcYMS{>~`00+c9)AAAqyhFnd?{hd?R`n$k)A<*C_^F{XcQ?rXw zifYQ_`INZ6!^cKgxxe!-xi=fMO)urUBzM{O&rfB!Rb>C10Ubif{#&5+w}gA0Ty;kS z=#&>D_L>>>v$!{M9pe5T4jTIKRN&&?0l9L4of~nRnj5>Z>;>>yypSD$bH88zE&pAf zyGHtZ5*PRPPom%XK#nq3-~wkcb46Lu9Z_zw-%Vt>MZXIuaD8V}k^L>8DEpgDg^L?p zBsO%Fb3}G3B4xR=`qp}X=ac6CZpl^7&8Eo3Jz4gsEH_(SLqi?+X<5E7+24L_AcLD^>+8AQ zf3FiwE}Xx;MgF_SQP$e7x>~8=&itZy@U?zMvfK;4Gstp-M$}xs>xgpy`S?JVd(*u1 z!}HQ8$Fx!J#~ad9ik{+X%51xjPSin83l6}~HQ`*VH2#LW(BHbxzL%Lv&f&io2A zglP+kW@7~|P-jMioAJAlEHiiacfaq<-+j3|yE}Wh&$G{}=Vre?krmpQ*5R5_(lj+*NR7viduKI==DR=go>2IcXI!}^IedOySlZtsZxsj zyTtA965MRH4Gp#Ozq#0Jr!~x!<9>7Odo<(1?^36}i!gup=l&`8-B~mRd_Fp;#1w_Z zxt$`Yl=-QmBFinzApC{deW{~i3@`Nx`a z?(b5dOci$!6kK-izT0tkPH&tp&E5CC2~?_irZA?`g8!po1@Exk2TL(1!0bo`1g!4iM(M zV%*42%o~3?&SV3}p;;42+DNjGPRNj696I42+BdjFJqDjIxZf42+Bl zj0y~lj7p5k42+CwjA{&wjJk}v42+Bhj0OyhjK+*642+C6j5Z96j1G)W42+B(jNS~4 zjJ}K^42+CnjEM}4jLD2C42+EFj2R4!jM%wjJ1p)dm9-W85kKm7&{mk z8T%Rg85kL-Gfrn&T_fr;rB(=7%@ zrdLcK85o(qFnwWQWctDMgMpFhC(|zm&@?dv0~f;-#v=^OE^a;{3?dn+Nkt4QIf*5C z3@!{TpxFBVpMjZyfq|WYkAaJU(K9?qfkBLc0W8YMz`?)|W;21@z#zuJ?Ccn#z@X&o z@1ww=7v%4&z+eTIXJ%k#;9?MfvRN3o83dthRt6phAt;-TftNv;K_ol1D375EOtyf@ zJ}@~AOfCSEtH9)z+{B`6hJ9f21em-8CU1brM_}>|nEaNTotw?b046!WqyU(d0Fw$} zQiFj3>{CVtCKMKk2g0CGK$pWV#>~LNzzQ}4#sW>pgG`6h9HJ0h9rh81||j$1{Q_{<~WvfERVoEE>*%&n#?HDr{%NXY{?qfW|_>M_{Nsh^dDTt|rX%^E8rfp0| zm@YBhVS2^%g@J>~{{KTJzyA-Jg8#o|3jP0<9ZZe?-!b+5f63JU{{_>;|1X)A|Nj8? z!F`Zxn1cVmXA1rQktzKDd#33BubE>1zh{d7|B8W?$^QR4Ccpnjn4@BinF|Nb9kV)*}%iShp%Ccpoz3>=I< z{=a4X30853@$dgHjQ{@MU}E_Hi7Dv+W2UhG9~qdLg8x5e3jP0#Dg6IqxcY~TfBrvY z{QLhaB+lW(xZMj4AB@XRwMlj6eT_RNQ9#`~Nf4#E(!DKY&gA$Q1hjGgJ8g z4`6pbVf^|30^^_mPoXY&#>DXd4HM)47fezA?=Z#vf6u_o6#f4;Q|$kHO!5D3gY9?* z)dLEP*Gvrm-$T{kV~YF#5p3!s#-IPsGyeJigz@kHPmKTmKY@nUbEv8Bz^1-uiv9nQ zDgOUEaGH6?_zN6<*T6hb*u7!=|NkPG_m=V3|Idv7|KDI>V*LI83*-O)&%t5-p7Hm8 zkg5kr;!KQx{=a7Y_x}q6Q_Lz*>Q9`Ic!z-lTo!%>m6OEb{~!Oq`+xoaN8(g7F#Lb^ z|1&YF|1bN0@c%=QssF$K-}Ha||2rTyvH1TI!Ycp2g{b*I>;JR=Z~s5||N8&y|KI+9 z{QvR)UWg1P`G48}uM7#W2s=7#PWreiB*7Aj#Y=%iq(TPj5UTeiM51v6YC4s zcWe^utJtrw|KkwgP~tG*aN~&J$l|Es=;K(xv5DgdryXYuXBFoR&TX7mxcIm{xSF{3 zaDC%8;CA8;;ZEbO;I89t;qKy|z&(w74);3l8{GGJczA?(WO$T#GH7`yTkX6pM~FxKY{<70FQv2fQf*cK#V}1K!d;} zff)kx1eOS_64)THP2hsSHGw+i=p)YZ-&YL zzcH+3&}LZ2pvbVEL4si;13$xN1_g#6|9>(0{lCCe2dZHi)-s4OtOJKFHv==#JSK+H z|38`h{yzrC2iydv?F=Sprf?&h$z;!9&J@gG%oNIC$P~_C#1ze-$`s3>!W7S-#1yeAC5mP9GK2tb@0aG-C8dEHTDpNdzI@5LraWtDyU5{>(0aGx87E>sLI#W1< z22(VH98)ZVEK@v#JkxdtepFvDY+=wqGaD4kG7Re&gc#N{a58LW5CrQ$6=7po!@$n4 zmO+kT9fJYGdImj)jSR93n;Fy?aLY(AB>ex#kof;2L(>0`49WjLGUWgN%24qCHACV5 z*9=AfUo#Z{f6Y+x|20F||Nji-|Nk>o{Qu8T`Tsvd)&KvD?EjB5a{NEfWcU9vxJ~5! z{~43d|7T3a|MxSM{@>5E_5W`)f1rjDb$E!~Fk;7#99N#jxoADTc-WPcba{e~Mx0|5F5AzUBXCuU@c*|ANB+NMIQsuB!?FKw8IJ#d%W&fVA%>Ix4>6qje~97q|3eIC{vTpE`~MKb zx&Mb4&i_BeaN++UhKv6XFNViFPZZHza$~vAZ+CU|9YCJ;NFXPKLD%dJO9rOc>TP zXfkYMP-583pvAE5|7V7W|6edX0*Cioh9Cc*GXD7gf$``6&y2tRe_;Ic|0d(#|L+<9 z{l5oob$?;<1owNkGS&Tm!LGXzVc5)|%JAs_U4~Ep zPc#1b|Aq1A|7T2$|3QBI#HEdpEB?n;9Iy{uISYg2Gga zVI6}2!+Hh_hRx8n2daoBLpK92LmvYN!!ib5hUE;r3@aFT8CEh_GOS{-WLV9>$gqaN zl3^_aLe~ZcONNaMmJFL1EWu`OVbEdN&cMsCgMpV}7XvTDZU$b4Jq)}Idl`5c_A&4> z>}TL*xXQrGaFfA^;Vy$5!$SsMMg|5cCVPf7CRYYkCT|8~CLac4reKB?rcj1trf`N- zreX#jrcwqTrmYOdOxqbez~PN>!Da@2CVK`6CT|7~CLab4reFp!rcee^rf>#vrmYP8 z47v>646+Q%7-SiiGsrTmV31{4$sozFib0ZLHG?F>8U{%;|44#MmrdXjhM!>z0}sP? z23dw346+Qn7-SiCGsrURVUT6m%OK0Jk3p7UKZ7j8RR&pxhYYfe>|hXK*u@~iu$w`IVGn}{!(IjvhJ6eo4Eq^G7_KsiFg#=sVPt1e zW#nKmVzOh-|}3<^v>3<^xa4600_3@S|F3~EeU88n!-GjL)x+kiopp__q=VHvpg=3-dE zz{Ri<)Bn42(?S42(=$|33tmVYqZdO0J(^H9r|x znCuyZn1UGunL-)(nZg-_KqCJ?G6nw!^^o5&h5!EuR{5I&Rw7=6@M}{B&-!a+$zs2PD|0z@O|5r?*|6enO|9{1__5XVYd4?tiMTTYuafTKK3x*B` zF@`<{E`|vV(hM^hco}9f$T7@j5Mh|hV9cU44n*X8MZR4V_40w zp5ZLRMuwRTn;BLyY+-O@ILx5KaGF7s;S2*e!&wF$hI0&p43`+V7;Z9{F}z~nV0goz z#PFLzl;IBp7lSxMGlMSJMv!f*8EhD~Foc6kx)}3GTAZ2 zGTAdkF}X4%GI=sMF!?e_K>8RAMNFX#g-qcL#Y}Y!B1~Hu8kn{-gn?_UFW?g1fPtGK z|NmQt(*I`}CjY+=?VTKC3jTkSDfItMaPI`vp4#yL1GuJQVaWgg6x3p2vj2aBY3u)Y zV6&cqdx+R;6HqEb&BY)QSh_M}*vuddPFIA~Ffru+f6q_~sx2Av|9@a$1ot#S9i@!8#2Y3>ZMOkg5!(3d78B7^O!6GUQ1`H|;#tbqHrr?nQu{~JYmA-023;R}XOpcx(T7~d8KHU?IP#QzT&^8Y_#C}rSb`1JoX!w&{l zaGHC`Q2PHF5{sKbpFxblfI*DGh{1%xn1PSMl!1+5ErTkyvj6gBXJc1H=Ds|KI=r`hWNTxBnmgU-AFf{}=y%fX24}fB66E z|Ihyy|DXMT|HuDt`Tqf|>iPex|BwAY{Qv6z5C7l%fAN3k|11B$ zfySY!hyTCEZ`S`e3=IEYVpsG3J4pQh*Z-gXKmPyW|7)OkAh$9w{D1fV_5bVtpZu5fAs%1De3wD zH&8nL{|lVIK;Lcmpa1_FS7`>*O)35VEvS}3Hs${V1_n@yKoJ9%<;Wrk_Wxff;qwtR zGYgXa|MmY5NF0E9C}krk9f3qK@&8BYKK_3foHE}b(%k>=|KI-qhAWN#fB*j;C|y9z z{=e$~?fjV|6dSs zOjtE`6(G03WI#0yB0Yh4Fd5?L|9Af1#-{TBCvffrOa1@-{~hTjgSC=OP$6`X>bd`~ zki&|B0aR*}=A{28{~t%!0Wt-VyFjwAoB?8E$Dq>w|Ihyyu**V3QQZm=LnpDNK#i*+d+4BF*|CgZl21LjI)BivIKl}gr|5yJX{(tuW1XT3%|HuE|{eK1F;UoVa2IXQ* z75@+YKMxcA|KR^QP$>!F|Nn?u*8l(f{}#B-1j*CS{@?w7`~S`Vm;c}Uf8+l{NImfX z^8YvgufSXfF^4qr|941fMNk)$Hly39|pI= z-u!?5|JMIE|8M+%3o48L-~ay{5N2e&!zfy!uXrVuNJnNEq-Nr5^^1|x_%pbG z)nX<7FaQ7H|D6Az^zjU7R_dtlDmQ0}XsQ~301_p=< zM2Z8oa6oOK|G!Z~6`=y8mlpW{b%d$^xBh?se;v3idH4U%e^AMB^8efahrngYyZgB++{B)>NQ{}Gfkk!>WN{r|%MXa7I^ zfBXOT{}2Cfl4j2TtN&m8e+|a3QOgd(_WwWk|Ka}+|KI&T`Tz6(`~Tnm|N8&S|F{3Y zgGzKly8mDQ{|q$#{{PPZH~(*f>LNlq5c2=`Li&WD(NK^mc(&pSs73bw`~O#f!_fBXNv|BwFP{r~v?!~Y*a z;qdM1{}2A(_ILIU$N%qw#-qUIJ^TOU z|4VR*e;wrF|1Us&Pf%S7k|hm;=49~e_@ALmp|Gx$C{@($$^Z&mDp@SA{5 z_Wv_b-HVVxZcQRY$z}b&0~=8X&0BzamkbR5uYpq4|L6Zd{Qm;-1LyQ? zR7Qi?{~!E+`hWlb!=Uv3|0n~)|A+sd|G)76^8bq<{R~W6TA)z?(>~Kx46F>GJ{C6v z$N!7}&p~X0m;fRn7?dW#b3vfKA9y|ul-8khYfPGNz-Bd=&SGE(u^@dD28RE)A>{xl zhG8KM_R$Scn+s$f)O3)k-x!!Qw}Eu)PBYB_@7QJd|Kk74|F8c)1&y2jfBpYC1C!<~ zkP6cV(*q3b;L`s3|DXTg{@?t6;s0L@V*j7~fARn9|NH;fF>wFi2r(NUiP^q^<#kLM zbaNo-3X1<)wj^Z(EOfBOIB|Lgy+KqVzY9RmYoP7s`? zk^F~H0m><$o*6;}#`^yi(w2d=j={agJO8i!fBOIV|Bs*^CCE0oTFBVlVel;A&HvA# zCEol0??534QT6}k|5yL7{lD}7*8iLTZ-QnJA>s@Sppgqm4uZ6;5i>sj@BRP$|JDB| z|DS-$6wrJWOwa%A|8M@k|NrLy*Z=SQ|M36T|MUMZK}J{q-(z4>djSellYgdl41x@t zpqvB>A(&nejX6^UZWnw4wGcq^ApHNu|EC}t9sj=!Dsv#B;B@hXfq{V)o~s`+@ch5^ z{|AHM|GWP`g8T(m1Kt@23k^_82FH{lymbmT?*FI%pt|D`m;)yMe`VkS&yJw&ZUmLl zU21eCq zp#6LdoD4DyS_~EpJ`4#ARSZ)Y)-jv_@8!Mu|0a{)|Cj$?GB7b-{r~&_ZzexbUSMEm zyaeJgUj6^${|_d=|9Ai21@9m}`~NJH-~VU-pE1>e_9`;4FxfG1GjKE6|KIz6FO%Q@ zSN~suR=NLw0hZwett0%u=l>oizyELlzh$Zekqj)12mb&1|BK1)|BL@GK>L=#JC~3D zKhD6yxF6&e#si?abH+;`moS3bj4v3N8TW%y8{;L=JTK!_5Xr!#ssQqv@jH_w22loa za47r$xfhCm{r?3r2P94n3^f(p1_QYtZHc0&c+5cz%AN+q1RLlLpOzLfjZ|9}1e6;^)0?1jsLS_)7O%%4y$14s|J zh4<9L1_hy(b^~= zKY+syqz~p^CaF`PbRf4%=NaU*2?hpm7%@qM`r{08lXUJeFoN3npfONL*#{~E7#O7| zNN-|bW8h)f#h}f=#2UiD#2UrG#G1gs#G1yy#G1pv#99Q!6%0(Qbqq|bEes5-Dh!OQ z9t_N^XBe1RyBL^QConLvPGewVox{Myx`=^^bp;f!V_;(40%h-FU|`i^U}W`UU|=<1 zU|=<4U|_XjU|@BE@(F)&mSotj8GQS)Eut zSpC@JV30M6H3ZI1fUsH9SaVp5*yC6$*yF(LIwW=rgbmWe+65xn<5(xK$FWX>ut6m2 z91sb?DC|WLF%ZeRj&%iy24U7M5H{;B)?=(^SP!sPuwG)l!5+tY4g4Z=pY3#1aKU!d+pcMp3U zn+`}H1S8n2Q1`GIfn?Y$*z8c<01}1S1!hClBgYGf&E^7AWTAHBiRe{J6IjEI8xZMD}iOf`I!wVJlQoM z;%w*G*P99syCq!1zBLbQIwK zFc1ko8xV3v8u)}C2FCyYLE`^6fXx?3{x1WQg&^|ZMKIX{CVzm)|5;#? z8BB_R$bX-i_AoI1F9wr_AoAZtFqsJ^--F2ivS2a`ME?5?Ca;6_UI(*RFsd*xGFUOn zF)%WiG0q3o3Lx_TE)dBe3L+V+K(1w44ss`B6-XDuCdN1hM#e-Cn{gNO3&Vtjlt{$Few05Bf!YQz{uzg7MTqeaRiIFfkliM?tspB1hdbANQOmV zH432pag2^&_HQt03?>tpUNSH;CV<&)V742W-2)~Kz~osF32uTg3Kxm^kli`})!?*f z9e`RLpjH8>6#;4$fLaI4tT(W>4m#L7*gHVA5NimC1!YGO!A?L@lZM33L1Gs{*%j;^ ztaV827AU)my@PcE5_=jFdkzlvB8WJMWL*Iw**jR*v2J1A#d-k51GA4IvCojmzJ#Ry z1`_)ogblXi35bMXR%G@oh!}`u{Qx4_JHRz36GShV&4I+`BZ4i0q(%yft$@T z53rT6wXuQNJxFXFBG{9V)XYF)&x5j;uy?Sng4zXQZ-BBvc5Q>I*~8w!b_gmCVxK@_ zpF?89)LdcjV7mns2eBU@v7g~!L)C+1+1`Li_71jBY(Lokf!Qn|Haiy*TYw0*7?K(p zB(@R~TLX!$2Vt|Duy?Rqf!Q5kwgVE|4F}r?Djvk%!5#rkKOlA-5<3M4I}0jaz}~@L z1~mu7u0gP2VZsg)Z-R&qoz?+ni{Kw}djUu5fblZ8_O1exnqabuxrKp|v5I*Sm;}|9 z$aQG|SPgQ0egYx_C6_QTGUkHW$gK=NQ2hyQWh{rtLdhizj0}IFY>>SbV0HyF$ebn+ z8?*k0v{M*%Kx9EG8PcKb76wL!9pL)B7$m}I39f-HL9G&owIDYz#eqmhHn40FShff( zavCB6B|*N%-=aAKR;dIgcY?`caJaRB&1?gkc^@hcGA$D<9tsv;2Nn+nli)TEq#eY# z4I%<21Hoh|NEg$5P}_&G6r`8w8i-^(2ayGnDqwOqm@Eamp%ffF7?_yt7?_w{7?_y77?_v? z7?_yD7?_x2pg4(vi8%wx&SPL;y2rr4^n`(d=@kP5(+36yrf*O_hz-Ha%nc08%xz$C zMrI}k7UoF|%*;Jt^-Rnq3{1>b3>HkEn0_$*V`gCuVCG^LU>0MRVGUqbV%A{R1G7w+ zt(YB{-B<&deVBuoBfw&D%qgIYhgk!d%b07Jo0vOT1DN}mr!da~%PwGE#=Hj1+Qhtr zc^{Z{g!vTn1u*Lx^Bv|#VAc!fcg$ayf3XIzFtD((@PNcvgjgh4vv#o@ zU^xb6ong7ea)ad_YXHj=mRBqvSiZ6RVP#_FVC4hL!o?7>*jR{A!^R>uBw0mRrC1eM z)lfnb9)7GktVXOBtahvc%=p6(5o*}NDu>kt7DB9E&=4XyT$tf;PF&fKT+03*pq?RS z*$?dv+JSSh27?3xBcmO-FCh*h8FfJ749mg24jqsP1GtaM2-;7<$j|^5*8qt#%7Rt4 zf<*1dI5BMLfVFz912XnIMt>Z$Tmqi@+ky49^)D8K#0n82P{=pmi6F3~Rw6ykHT~ z9tcK;8DJ5xfB)YBi8H!_Ok;Efi@SnFGQc8D49^%C88bj44D&%E4D&&180LdTUV}w) z!6HvUB8+Ar5k?n~2%{NT!~-l61QrPbi^zaQlo&oSFfz)3MI^u?mJGib7#Sr%A`EgM zl2IKjt`63#4i+&4i7-?%yk=lzGz5!)R*N$-#(>qtfJG*Q)ocZeD1k&6)IcQT1dur6 zU$FRYkjVdcAd=}Jh-3uqKV@W`3zn?_i7RO*T?`BiARkX-U|^WTzyMBzD;O9UKp3>o z8npW!w0HUd0|Ub`1_p*R3=9mQRnDMunL+#LK^U}h1vI+?VuM!JgI4MPVGw0l!mx^A z1H%S}Z47%D_Ane`IKgm^;R?eoh6fDK7~U{^V)(@HgW(?|3nLc;<3Q#6|4g8M{r@s% z76!)uiXisCQ(*E3i2R?$%)`L=pP8A7f$_fxXk_5uXHYHvzZg`D|9b#p|9b@{*MrIT zAo9N~n9KsTA^yDwwITlf2DK^}WEp=j{$l*i_=oW?<3Gm#ObkqnO!iC;Onyv3OuIU#xS4p2jdThC5*oq z|1m5Dg$~0iCOam3hBZviOwJ7JnB17$7}hg+G5IiTVDe+~W7y0T#1zD^g(-w7gkdXF z7*iO-Hl`@1D2DA!F-$QGJDB2_;uv-^r7>kN>|)AdDr4BoRL4}uaEfU?(*}mqOq-du zFq~!D&a|E3Jkvg=eGC^En83FrfJze`1|0@<1~UeG1`P&xhB^i#2GFe-^$dF%7#Q|5 zvN6~*Ffyou+{Wa<K}I1)2}VgqSUK`X{fq|~FEL(byvlfk@fnjnlOHH784obtV_;x>#Q2^;p7A5& zX9iuyuZ-Uq3>X+0gfVP{giZZP|HT=6|BDMF=>8X1 z@cl1t;QL?P8A12Ic!2MJ@dn@j;s?I}B?x@~OE3cy_;e?B1_tomIiP!41Q@u%cjxed z@6Hhb-<=}}zB@+>e0L6LC7m{dEcnzadGOsiYT&zb)ETT8>=-n_cjxGW@6Is<-<@O2 z0J=NJ1$=jo8~E-Vcktag{@}ZF0vSMe=Y)Z7CqWD0(+pfpXPIs=aD#815eJ8}1n8C- z@SQabpc;hfG}A4nS4^*&-Y~soddKvh=>yY8rZ1oyX~6f^++tv2U_mhzbc+oa__i8R z1||k(OgRQ71|BARCVK{UP@ZC7X7XV2U|b`)gDB&F#{Ue=OpHv744h#5xWM*tf$d`imoUO$TY15@vN7c{57T<4^$h$>8<;jQ@G)&>+RPxxw1sI4 zgAlmn5dhy(!^FS{v6+F9@fY~k7jW|c>=RIUGeJXz3G7NHh+44wn8EI20lSF_Y&WR1 zl4Rg!;9+29;AP-t;Ah|im--?M;tWg-5)6tA%nV8lN(=%F$_(lZEDWIXPLRQj!JL7c z!Ggh(ftA6E!JdJQ!JQ$Hft?|UA&7yQA($bUL5LxQA%sDgA(SDMft?|YA(DZEA&McM zfs-MDA(?@TA%!6ibaEa;K7$B2eep1qGL$liGL$h?G4L`}Gt@EgF))Geast&oAopp4 zUB(1<2NT!@j12A!K@3b_JD9+xGlNZM0h`Xskk63MAPzR24Q#p=*mQQV=|&9o3|$N+ z4BZUf4CV|y3=L5$%aBO`+ixCZ28WM^b&kZ0roo!kko4b{PESPqAuVP#NsGq{3NvMiGwlO2NuI2TDWIWRdem@zpqIWahbQ@Axa?N~E; zGI=s6f>V$XlP{AmgCjV#8!`nm1v6+fg))UQ=rV;fg)`_gMKeV+=rF}H#WLtI#WTe- z7=Tk8BuDT;b3`6f9)lA!UlcGEFgSrzqBS^o2!L~kAUJmjfOCf+IE7lH z&fq*^3(g}_;5?$lw3TTqgDN76&%xS;F#uTSOz`6bQ=RZ!*+(93>*x*7&GH`<1F`VG| z=3+R(aEXDN;WEQz23CeE3|AQ#!ST%xj&B}teDi|iTLc{6q7082o-pu%TRdV6&lsLD z@PXr=9~}4M;J6n6$GrqN?ghbdFT}{i$i%?L$jr#hz|P3R$il$M$jZpdz|P3V$i~3Q zz{KFoz{tSGAPUYa`ry2x&j8A;df>dG56&z4;Jji6&MTl>(()J#zZ30fk!r=C%2KZJ5TLvx$P+J^S%CmuY2MI7RfN2p1PSAb>22qd{ z^gIU89#h!fQ_#5#{0t1BeI8I15Q>EX1Q|eUo*7s{bK79d#=y?N0mh&mNT6HJK)1|k zfKwDRxQ<`}rz>%Ax)KMcD;aRQ5(lR%ad5hl0H-Tfa2d=8PFGCebj1lySM1<)#RyJU zY~XYy2u@KV;1neUPElgu6eR>sQ6k_J#SczV!r)ZI15Q7Z;PfL4PCt_1^dkaJKa${- zBLq%4lHimB%4yFS1i-093Y=Pa!KsA{oLV@*sf8PyTBO0Lg&*7+0oB5c;If4oT(+=) zOBGP@2?{SR21amrFoFHb4E7TX*d$g4M#diuT;SLN?fe1Vf5-y9VGg9185)+LI*S#i*v;%DtkVqj)8XEX=57EBqX7^R^1A2Kn5?muJ#>lb9yW7GqU zh%g#5FfpbvW-u^=dkCzI1&k#O%#5Xsr3@^LWsKzv%-|L-D`O>N6$3M4HDfin|4_%k z&)CG+#=s12?J_fVGIlbsFm^F^F)%asF!nI8GWId{Gq5pEWSq#r&Nzv25(6{i6vinG z?BLwV3(lQF;Cv|w&X+vk9LWRDk+R?%DFe=tlHeT42hNeg;2bFm&XMBa+DHUk8;OBy zBMERG_kB@2WF zBH6)vbU`H+h{uIgN`d&?3=H7YV?d=8h!4Y{(1YB+2)ZE=CJMSe5p)798+a`yC~txC zk2q2)W(TKYc5o_YLQ2K#;8e^34plaAD&_!(Ei*V3bAVGZ8#onnfWw&$9L_A@RLlWR z#T?);X9lNY4sggr(l0AG{c?cAAC&tKFqnhx#{~6&7u+IM8J1&@-jg5gLa34!jK)Tj{&TYiNT8T zAmc#>HpWAYhZxuy4>KNS;AK3*c!Yt2@fhPV1_8$7jK>)`7*8;sU|?Z9$#{}MnDG?j zDF$A~(~PGXm>AD6o?+l;Jj-~FfrIe^;{^r|#*2&>8CV!EFR|bB@Z;am< zIKXM13tVP!gVQ`GxU}E|r*=_rYG(zfZANg8=L6?;J|BvVhHH2Aj(QHkXNkk#RqR z1vp=T;+UC%gMpWUg@J>Ci-DDanSqmm8$1HX3l?Djlb|)mAW;bB2JL2pCKF^6Q1x?x zb@DKP@)$@TXrK&~LKwmE0?IiY;B>8ID^PBfx{72c7S{Y2@z2J1-d)-5{m}P z-LVGXyJLO8xe|0sENDa<4L)HU)hinq~eppbOmV<$hL4-kyL4iS&L7%}CEY1ZECw>M|25AOG@I4Kn^T9!O zb1|@hbC(!{41*GbDuXtIA^2Ri|KQLC-9anPAj_c4pvIuXUTFh+pM1TdKa zCJVr11(<9|PApDk>;RK}U~&qWoCPKqfXQXa$+-oLYry0tFu4Ov?gNuYz~rfvoXm8_ z3t;jZn7jifAA!jiVDepBQDQRV7ZAxL1SSo@q#u~f0h3)hndym4E5PJBFu4Ux?gEns zz~r%<{Nx;_Ghp%(n7ol+l#<7E4@^D-lkdRfH!%4RL^87#mnIc6^MOebFewEl6~Lq# znA9mQEhuI-0+SYC(hf|zfJrYf37UHVmEWK;npm2VK@vO@f}ez#hMyDzn}d%8rPBq*OTg4>^vwY5wP;tUcDptcEd zG$XiNB1D3E2cQ}WG~R@bEz4lT;KJa;5W*0{kj9V)9zEQ|u#4dk!zqSK47V5_F}z~< z#PExeiIIy@h*64BiBX5qgwcl4h0zDxmSSWx0JoYM*;>G*3L_&2M4ZtK>^CMxAI1cz zNEVa^om0TTz{r>eRw2$R@R5~e<;6-)=1ZZN%LW?`0K)?v0| z4q#4TE?}->?g8szWX^%oWl*{aN>6~&3!pS;*9QXwBl9sR{|=P?0-;&>ptKg0Hi7tp z#Q{p^fyJ3v4zXN;irj(tf(5*noPm*z55i{ytwUyDU}UplU}TG70QJB?Gcr1${V0sj z7?_y8f>|%&tPgP3M=*NPE3 z1dR-=WMpGtV%WvN$TWw6ok4^_jzNRLh{1-zjUfP3UNCTjNB2Q{+H@E|qv;?PXe?a< zEZfPz#4rua+Q7iX0CE8f!)2HllM8IVg@KVNh=GwQ23*@RFhJbx02T$+3m_3jCJ(Ty z85vlZ_AoFroM7@`U}CajP-TM5U&n%HupzV4bQ|Oc$6gGF@W2%yfn6D$_Nl>r6M8Zh~g^n0_%ZG08D#GlK4fiU*Sqm`vcNqncbt zve}FbUl@28=@h_{20O*;=pxU1p_ma0uv7tXogCWiI<6)ftg8(iI0he zftg8}iJys;ftg8#Nq~usftg8_Nsx)1ftg8-3ADn4nMs{Vn2D2tnMs35go%rRnMspL zl!=>xg(-k3i7A08j)8?KkSUodktv>mk#QCS69X562sl3M7?_wqH_Wjx>;toy7+V;4 znRu9ZnfRFanFN>wnS_{xnM9aGnM|0Hn35To7^@frL7@V|OiWD7Oe{>SOl(Z-OdL#{ zOk7OdObJYhOrRNK7RIBDCmAm@UIEQuGyY&=WMBZTGXSlJWMBlPBnC#X&5R6I;L*ZZ z2GE{JMkYVd_y>~-NEZ_ilPCiN*j_I1yd4u0HvHK(p5j zj11Zg?hN$|DbGyie;#0IKglaJm(HtLlFvH83CJV zuVVtOqnN-nk!cdsWRPi0>zVd59bh`hbcpFN(-EelOvjjxGo4^M$#jb8G}9R-(9K#* n;5i>A24-k@fz}#ufkO@CQ$eu3^$aH%e=z>USkD1k!%+tS(_@x> literal 0 HcmV?d00001 diff --git a/new-lamassu-admin/public/fonts/Rubik/Rubik-Bold.otf b/new-lamassu-admin/public/fonts/Rubik/Rubik-Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..4d7fc6370121dc67905f2e24de12cd608cf9dc1a GIT binary patch literal 101792 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

pBn(!mPU>Y}Ny;XIL+>9%HRzy}^2qJ%#lNNEU)w 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 { - const classes = useStyles({ size }) - return ( -

- ) -}) +const ActionButton = memo( + ({ size = 'lg', children, className, buttonClassName, ...props }) => { + const classes = useStyles({ size }) + return ( +
+ +
+ ) + } +) export default ActionButton diff --git a/new-lamassu-admin/src/components/inputs/base/CodeInput.js b/new-lamassu-admin/src/components/inputs/base/CodeInput.js new file mode 100644 index 00000000..88847a74 --- /dev/null +++ b/new-lamassu-admin/src/components/inputs/base/CodeInput.js @@ -0,0 +1,40 @@ +import { makeStyles } from '@material-ui/core' +import classnames from 'classnames' +import React from 'react' +import OtpInput from 'react-otp-input' + +import styles from './CodeInput.styles' + +const useStyles = makeStyles(styles) + +const CodeInput = ({ + name, + value, + onChange, + numInputs, + error, + inputStyle, + containerStyle, + ...props +}) => { + const classes = useStyles() + + return ( + } + containerStyle={classnames(containerStyle, classes.container)} + inputStyle={classnames(inputStyle, classes.input)} + focusStyle={classes.focus} + errorStyle={classes.error} + hasErrored={error} + isInputNum={true} + {...props} + /> + ) +} + +export default CodeInput diff --git a/new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js b/new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js new file mode 100644 index 00000000..f1bee93f --- /dev/null +++ b/new-lamassu-admin/src/components/inputs/base/CodeInput.styles.js @@ -0,0 +1,33 @@ +import { + fontPrimary, + primaryColor, + zircon, + errorColor +} from 'src/styling/variables' + +const styles = { + input: { + width: '3.5rem !important', + height: '5rem', + fontFamily: fontPrimary, + fontSize: 35, + color: primaryColor, + border: '2px solid', + borderColor: zircon, + borderRadius: '4px' + }, + focus: { + color: primaryColor, + border: '2px solid', + borderColor: primaryColor, + borderRadius: '4px' + }, + error: { + borderColor: errorColor + }, + container: { + justifyContent: 'space-evenly' + } +} + +export default styles diff --git a/new-lamassu-admin/src/components/inputs/base/index.js b/new-lamassu-admin/src/components/inputs/base/index.js index b3a8b392..5ac32b8f 100644 --- a/new-lamassu-admin/src/components/inputs/base/index.js +++ b/new-lamassu-admin/src/components/inputs/base/index.js @@ -1,5 +1,6 @@ import Autocomplete from './Autocomplete' import Checkbox from './Checkbox' +import CodeInput from './CodeInput' import NumberInput from './NumberInput' import RadioGroup from './RadioGroup' import SecretInput from './SecretInput' @@ -8,6 +9,7 @@ import TextInput from './TextInput' export { Checkbox, + CodeInput, TextInput, NumberInput, Switch, diff --git a/new-lamassu-admin/src/components/inputs/index.js b/new-lamassu-admin/src/components/inputs/index.js index 59c95f8f..00a8b1cb 100644 --- a/new-lamassu-admin/src/components/inputs/index.js +++ b/new-lamassu-admin/src/components/inputs/index.js @@ -1,5 +1,6 @@ import Autocomplete from './base/Autocomplete' import Checkbox from './base/Checkbox' +import CodeInput from './base/CodeInput' import RadioGroup from './base/RadioGroup' import Select from './base/Select' import Switch from './base/Switch' @@ -10,6 +11,7 @@ export { Autocomplete, TextInput, Checkbox, + CodeInput, Switch, Select, RadioGroup, diff --git a/new-lamassu-admin/src/components/layout/Header.js b/new-lamassu-admin/src/components/layout/Header.js index e6546156..a476258f 100644 --- a/new-lamassu-admin/src/components/layout/Header.js +++ b/new-lamassu-admin/src/components/layout/Header.js @@ -59,7 +59,7 @@ const Subheader = ({ item, classes }) => { const notNil = R.compose(R.not, R.isNil) -const Header = memo(({ tree }) => { +const Header = memo(({ tree, user }) => { const [open, setOpen] = useState(false) const [anchorEl, setAnchorEl] = useState(null) const [notifButtonCoords, setNotifButtonCoords] = useState({ x: 0, y: 0 }) @@ -119,24 +119,35 @@ const Header = memo(({ tree }) => {
diff --git a/new-lamassu-admin/src/lamassu/App.js b/new-lamassu-admin/src/lamassu/App.js index ff4c872d..e4a6d3b1 100644 --- a/new-lamassu-admin/src/lamassu/App.js +++ b/new-lamassu-admin/src/lamassu/App.js @@ -1,15 +1,15 @@ import CssBaseline from '@material-ui/core/CssBaseline' import Grid from '@material-ui/core/Grid' -import Slide from '@material-ui/core/Slide' import { StylesProvider, jssPreset, MuiThemeProvider, makeStyles } from '@material-ui/core/styles' +import { axios } from '@use-hooks/axios' import { create } from 'jss' import extendJss from 'jss-plugin-extend' -import React, { useContext, useState } from 'react' +import React, { createContext, useContext, useEffect, useState } from 'react' import { useLocation, useHistory, @@ -17,15 +17,14 @@ import { } from 'react-router-dom' import AppContext from 'src/AppContext' +import Header from 'src/components/layout/Header' import Sidebar from 'src/components/layout/Sidebar' import TitleSection from 'src/components/layout/TitleSection' -import ApolloProvider from 'src/utils/apollo' - -import Header from '../components/layout/Header' -import { tree, hasSidebar, Routes, getParent } from '../routing/routes' -import global from '../styling/global' -import theme from '../styling/theme' -import { backgroundColor, mainWidth } from '../styling/variables' +import ApolloProvider from 'src/pazuz/apollo/Provider' +import { tree, hasSidebar, Routes, getParent } from 'src/pazuz/routing/routes' +import global from 'src/styling/global' +import theme from 'src/styling/theme' +import { backgroundColor, mainWidth } from 'src/styling/variables' if (process.env.NODE_ENV !== 'production') { const whyDidYouRender = require('@welldone-software/why-did-you-render') @@ -74,7 +73,7 @@ const Main = () => { const classes = useStyles() const location = useLocation() const history = useHistory() - const { wizardTested } = useContext(AppContext) + const { wizardTested, userData } = useContext(AppContext) const route = location.pathname @@ -93,20 +92,12 @@ const Main = () => { return (
- {!is404 && wizardTested &&
} + {!is404 && wizardTested && userData && ( +
+ )}
{sidebar && !is404 && wizardTested && ( - - -
- } - /> + )} @@ -129,19 +120,47 @@ const Main = () => { const App = () => { const [wizardTested, setWizardTested] = useState(false) + const [userData, setUserData] = useState(null) + const [loading, setLoading] = useState(true) + + const url = + process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' + + useEffect(() => { + getUserData() + }, []) + + const getUserData = () => { + axios({ + method: 'GET', + url: `${url}/user-data`, + withCredentials: true + }) + .then(res => { + setLoading(false) + if (res.status === 200) setUserData(res.data.user) + }) + .catch(err => { + setLoading(false) + if (err.status === 403) setUserData(null) + }) + } return ( - - - - - - -
- - - - + + {!loading && ( + + + + + +
+ + + + + )} ) } diff --git a/new-lamassu-admin/src/pages/Authentication/Input2FAState.js b/new-lamassu-admin/src/pages/Authentication/Input2FAState.js new file mode 100644 index 00000000..3e70d77c --- /dev/null +++ b/new-lamassu-admin/src/pages/Authentication/Input2FAState.js @@ -0,0 +1,115 @@ +import { makeStyles } from '@material-ui/core/styles' +import axios from 'axios' +import React, { useContext, useState } from 'react' +import { useHistory } from 'react-router-dom' + +import { AppContext } from 'src/App' +import { Button } from 'src/components/buttons' +import { CodeInput } from 'src/components/inputs/base' +import { H2, P } from 'src/components/typography' + +import styles from './Login.styles' + +const url = + process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' + +const useStyles = makeStyles(styles) + +const Input2FAState = ({ + twoFAField, + onTwoFAChange, + clientField, + passwordField, + rememberMeField +}) => { + const classes = useStyles() + const history = useHistory() + const { setUserData } = useContext(AppContext) + + const [invalidToken, setInvalidToken] = useState(false) + + const handle2FAChange = value => { + onTwoFAChange(value) + setInvalidToken(false) + } + + const handle2FA = () => { + axios({ + method: 'POST', + url: `${url}/api/login/2fa`, + data: { + username: clientField, + password: passwordField, + rememberMe: rememberMeField, + twoFACode: twoFAField + }, + withCredentials: true, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) return + if (res) { + const status = res.status + if (status === 200) { + getUserData() + history.push('/') + } + } + }) + .catch(err => { + if (err.response && err.response.data) { + if (err.response.status === 403) { + onTwoFAChange('') + setInvalidToken(true) + } + } + }) + } + + const getUserData = () => { + axios({ + method: 'GET', + url: `${url}/user-data`, + withCredentials: true + }) + .then(res => { + if (res.status === 200) setUserData(res.data.user) + }) + .catch(err => { + if (err.status === 403) setUserData(null) + }) + } + + return ( + <> +

+ Enter your two-factor authentication code +

+ +
+ {invalidToken && ( +

+ Code is invalid. Please try again. +

+ )} + +
+ + ) +} + +export default Input2FAState diff --git a/new-lamassu-admin/src/pages/Authentication/Login.js b/new-lamassu-admin/src/pages/Authentication/Login.js new file mode 100644 index 00000000..77c8c41e --- /dev/null +++ b/new-lamassu-admin/src/pages/Authentication/Login.js @@ -0,0 +1,30 @@ +import { makeStyles, Grid } from '@material-ui/core' +import React from 'react' + +import styles from './Login.styles' +import LoginCard from './LoginCard' + +const useStyles = makeStyles(styles) + +const Login = () => { + const classes = useStyles() + + return ( + <> + + + + + + + ) +} + +export default Login diff --git a/new-lamassu-admin/src/pages/Authentication/Login.styles.js b/new-lamassu-admin/src/pages/Authentication/Login.styles.js new file mode 100644 index 00000000..ec4c4868 --- /dev/null +++ b/new-lamassu-admin/src/pages/Authentication/Login.styles.js @@ -0,0 +1,121 @@ +import { + fontPrimary, + fontSecondary, + primaryColor, + backgroundColor, + errorColor +} from 'src/styling/variables' + +const styles = { + title: { + color: primaryColor, + fontFamily: fontPrimary, + fontSize: '18px', + fontWeight: 'normal', + paddingTop: 8 + }, + inputLabel: { + fontSize: '16px', + fontWeight: 550 + }, + input: { + marginBottom: 25, + marginTop: -15 + }, + wrapper: { + padding: '2.5em 4em', + width: 575, + display: 'flex', + flexDirection: 'column' + }, + titleWrapper: { + display: 'flex', + flexDirection: 'row', + alignItems: 'center', + marginBottom: 30 + }, + rememberMeWrapper: { + display: 'flex', + flexDirection: 'row' + }, + icon: { + transform: 'scale(1.5)', + marginRight: 25 + }, + checkbox: { + transform: 'scale(2)', + marginRight: 5, + marginLeft: -5 + }, + footer: { + marginTop: '10vh' + }, + twofaFooter: { + marginTop: '6vh' + }, + loginButton: { + display: 'block', + width: '100%' + }, + welcomeBackground: { + background: 'url(/wizard-background.svg) no-repeat center center fixed', + backgroundColor: backgroundColor, + backgroundSize: 'cover', + // filter: 'blur(4px)', + // pointerEvents: 'none', + height: '100vh', + width: '100vw', + position: 'relative', + left: '50%', + right: '50%', + marginLeft: '-50vw', + marginRight: '-50vw' + }, + info: { + fontFamily: fontSecondary, + marginBottom: '5vh' + }, + info2: { + fontFamily: fontSecondary, + fontSize: '14px', + textAlign: 'justify' + }, + infoWrapper: { + marginBottom: '3vh' + }, + errorMessage: { + fontFamily: fontSecondary, + color: errorColor + }, + qrCodeWrapper: { + display: 'flex', + justifyContent: 'center', + marginBottom: '3vh' + }, + secretWrapper: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center' + }, + secretLabel: { + fontSize: '16px', + fontWeight: 550, + marginRight: 15 + }, + secret: { + fontSize: '16px', + fontWeight: 550, + marginRight: 35 + }, + hiddenSecret: { + fontSize: '16px', + fontWeight: 550, + marginRight: 35, + filter: 'blur(8px)' + }, + confirm2FAInput: { + marginTop: 25 + } +} + +export default styles diff --git a/new-lamassu-admin/src/pages/Authentication/LoginCard.js b/new-lamassu-admin/src/pages/Authentication/LoginCard.js new file mode 100644 index 00000000..6f12f15e --- /dev/null +++ b/new-lamassu-admin/src/pages/Authentication/LoginCard.js @@ -0,0 +1,104 @@ +import Paper from '@material-ui/core/Paper' +import { makeStyles } from '@material-ui/core/styles' +import React, { useState } from 'react' + +import { H2 } from 'src/components/typography' +import { ReactComponent as Logo } from 'src/styling/icons/menu/logo.svg' + +import Input2FAState from './Input2FAState' +import styles from './Login.styles' +import LoginState from './LoginState' +import Setup2FAState from './Setup2FAState' + +const useStyles = makeStyles(styles) + +const STATES = { + LOGIN: 'Login', + SETUP_2FA: 'Setup 2FA', + INPUT_2FA: 'Input 2FA' +} + +const LoginCard = () => { + const classes = useStyles() + + const [twoFAField, setTwoFAField] = useState('') + const [clientField, setClientField] = useState('') + const [passwordField, setPasswordField] = useState('') + const [rememberMeField, setRememberMeField] = useState(false) + const [loginState, setLoginState] = useState(STATES.LOGIN) + + const onClientChange = newValue => { + setClientField(newValue) + } + + const onPasswordChange = newValue => { + setPasswordField(newValue) + } + + const onRememberMeChange = newValue => { + setRememberMeField(newValue) + } + + const onTwoFAChange = newValue => { + setTwoFAField(newValue) + } + + const handleLoginState = newState => { + setLoginState(newState) + } + + const renderState = () => { + switch (loginState) { + case STATES.LOGIN: + return ( + + ) + case STATES.INPUT_2FA: + return ( + + ) + case STATES.SETUP_2FA: + return ( + + ) + default: + break + } + } + + return ( +
+ +
+
+ +

Lamassu Admin

+
+ {renderState()} +
+
+
+ ) +} + +export default LoginCard diff --git a/new-lamassu-admin/src/pages/Authentication/LoginState.js b/new-lamassu-admin/src/pages/Authentication/LoginState.js new file mode 100644 index 00000000..775ddeaa --- /dev/null +++ b/new-lamassu-admin/src/pages/Authentication/LoginState.js @@ -0,0 +1,130 @@ +import { makeStyles } from '@material-ui/core/styles' +import axios from 'axios' +import React, { useState } from 'react' + +import { Button } from 'src/components/buttons' +import { Checkbox, TextInput } from 'src/components/inputs/base' +import { Label2, P } from 'src/components/typography' + +import styles from './Login.styles' + +const url = + process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' + +const useStyles = makeStyles(styles) + +const LoginState = ({ + clientField, + onClientChange, + passwordField, + onPasswordChange, + rememberMeField, + onRememberMeChange, + STATES, + handleLoginState +}) => { + const classes = useStyles() + + const [invalidLogin, setInvalidLogin] = useState(false) + + const handleClientChange = event => { + onClientChange(event.target.value) + setInvalidLogin(false) + } + + const handlePasswordChange = event => { + onPasswordChange(event.target.value) + setInvalidLogin(false) + } + + const handleRememberMeChange = () => { + onRememberMeChange(!rememberMeField) + } + + const handleLogin = () => { + axios({ + method: 'POST', + url: `${url}/api/login`, + data: { + username: clientField, + password: passwordField, + rememberMe: rememberMeField + }, + options: { + withCredentials: true + }, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) return + if (res) { + const status = res.status + const message = res.data.message + if (status === 200 && message === 'INPUT2FA') + handleLoginState(STATES.INPUT_2FA) + if (status === 200 && message === 'SETUP2FA') + handleLoginState(STATES.SETUP_2FA) + } + }) + .catch(err => { + if (err.response && err.response.data) { + if (err.response.status === 403) setInvalidLogin(true) + } + }) + } + + return ( + <> + Client + + Password + +
+ + Keep me logged in +
+
+ {invalidLogin && ( +

+ Invalid login/password combination. +

+ )} + +
+ + ) +} + +export default LoginState diff --git a/new-lamassu-admin/src/pages/Authentication/Register.js b/new-lamassu-admin/src/pages/Authentication/Register.js new file mode 100644 index 00000000..2a3391e0 --- /dev/null +++ b/new-lamassu-admin/src/pages/Authentication/Register.js @@ -0,0 +1,180 @@ +import { makeStyles, Grid } from '@material-ui/core' +import Paper from '@material-ui/core/Paper' +import axios from 'axios' +import React, { useState, useEffect } from 'react' +import { useLocation, useHistory } from 'react-router-dom' + +import { Button } from 'src/components/buttons' +import { TextInput } from 'src/components/inputs/base' +import { H2, Label2, P } from 'src/components/typography' +import { ReactComponent as Logo } from 'src/styling/icons/menu/logo.svg' + +import styles from './Login.styles' + +const useQuery = () => new URLSearchParams(useLocation().search) +const useStyles = makeStyles(styles) + +const url = + process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' + +const Register = () => { + const classes = useStyles() + const history = useHistory() + const query = useQuery() + const [passwordField, setPasswordField] = useState('') + const [confirmPasswordField, setConfirmPasswordField] = useState('') + const [invalidPassword, setInvalidPassword] = useState(false) + const [username, setUsername] = useState(null) + const [role, setRole] = useState(null) + const [isLoading, setLoading] = useState(true) + const [wasSuccessful, setSuccess] = useState(false) + + useEffect(() => { + validateQuery() + }, []) + + const validateQuery = () => { + axios({ + url: `${url}/api/register?t=${query.get('t')}`, + method: 'GET', + options: { + withCredentials: true + } + }) + .then((res, err) => { + if (err) return + if (res && res.status === 200) { + setLoading(false) + if (res.data === 'The link has expired') setSuccess(false) + else { + setSuccess(true) + setUsername(res.data.username) + setRole(res.data.role) + } + } + }) + .catch(err => { + console.log(err) + history.push('/') + }) + } + + const handleRegister = () => { + if (!isValidPassword()) return setInvalidPassword(true) + axios({ + url: `${url}/api/register`, + method: 'POST', + data: { + username: username, + password: passwordField, + role: role + }, + withCredentials: true, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) return + if (res && res.status === 200) { + history.push('/wizard', { fromAuthRegister: true }) + } + }) + .catch(err => { + console.log(err) + history.push('/') + }) + } + + const isValidPassword = () => { + return passwordField === confirmPasswordField + } + + const handlePasswordChange = event => { + setInvalidPassword(false) + setPasswordField(event.target.value) + } + + const handleConfirmPasswordChange = event => { + setInvalidPassword(false) + setConfirmPasswordField(event.target.value) + } + + return ( + + +
+ +
+
+ +

Lamassu Admin

+
+ {!isLoading && wasSuccessful && ( + <> + + Insert a password + + + + Confirm password + + +
+ {invalidPassword && ( +

+ Passwords do not match! +

+ )} + +
+ + )} + {!isLoading && !wasSuccessful && ( + <> + + Link has expired + + + )} +
+
+
+
+
+ ) +} + +export default Register diff --git a/new-lamassu-admin/src/pages/Authentication/Reset2FA.js b/new-lamassu-admin/src/pages/Authentication/Reset2FA.js new file mode 100644 index 00000000..cf0d0e9b --- /dev/null +++ b/new-lamassu-admin/src/pages/Authentication/Reset2FA.js @@ -0,0 +1,186 @@ +import { makeStyles, Grid } from '@material-ui/core' +import Paper from '@material-ui/core/Paper' +import axios from 'axios' +import QRCode from 'qrcode.react' +import React, { useState, useEffect } from 'react' +import { useLocation, useHistory } from 'react-router-dom' + +import { ActionButton, Button } from 'src/components/buttons' +import { CodeInput } from 'src/components/inputs/base' +import { H2, Label2, P } from 'src/components/typography' +import { ReactComponent as Logo } from 'src/styling/icons/menu/logo.svg' +import { primaryColor } from 'src/styling/variables' + +import styles from './Login.styles' + +const useQuery = () => new URLSearchParams(useLocation().search) +const useStyles = makeStyles(styles) + +const url = + process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' + +const Reset2FA = () => { + const classes = useStyles() + const history = useHistory() + const query = useQuery() + const [userID, setUserID] = useState(null) + const [isLoading, setLoading] = useState(true) + const [wasSuccessful, setSuccess] = useState(false) + const [secret, setSecret] = useState(null) + const [otpauth, setOtpauth] = useState(null) + + const [isShowing, setShowing] = useState(false) + const [invalidToken, setInvalidToken] = useState(false) + const [twoFAConfirmation, setTwoFAConfirmation] = useState('') + + const handle2FAChange = value => { + setTwoFAConfirmation(value) + setInvalidToken(false) + } + + useEffect(() => { + validateQuery() + }, []) + + const validateQuery = () => { + axios({ + url: `${url}/api/reset2fa?t=${query.get('t')}`, + method: 'GET', + options: { + withCredentials: true + } + }) + .then((res, err) => { + if (err) return + if (res && res.status === 200) { + setLoading(false) + if (res.data === 'The link has expired') setSuccess(false) + else { + setUserID(res.data.userID) + setSecret(res.data.secret) + setOtpauth(res.data.otpauth) + setSuccess(true) + } + } + }) + .catch(err => { + console.log(err) + history.push('/') + }) + } + + const handle2FAReset = () => { + axios({ + url: `${url}/api/update2fa`, + method: 'POST', + data: { + userID: userID, + secret: secret, + code: twoFAConfirmation + }, + withCredentials: true, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) return + if (res && res.status === 200) { + history.push('/') + } + }) + .catch(err => { + console.log(err) + setInvalidToken(true) + }) + } + + return ( + + +
+ +
+
+ +

Lamassu Admin

+
+ {!isLoading && wasSuccessful && ( + <> +
+ + To finish this process, please scan the following QR code + or insert the secret further below on an authentication + app of your choice, preferably Google Authenticator or + Authy. + +
+
+ +
+
+ + Your secret: + + + {secret} + + { + setShowing(!isShowing) + }}> + {isShowing ? 'Hide' : 'Show'} + +
+
+ +
+
+ {invalidToken && ( +

+ Code is invalid. Please try again. +

+ )} + +
+ + )} + {!isLoading && !wasSuccessful && ( + <> + + Link has expired + + + )} +
+
+
+
+
+ ) +} + +export default Reset2FA diff --git a/new-lamassu-admin/src/pages/Authentication/ResetPassword.js b/new-lamassu-admin/src/pages/Authentication/ResetPassword.js new file mode 100644 index 00000000..103aaa7d --- /dev/null +++ b/new-lamassu-admin/src/pages/Authentication/ResetPassword.js @@ -0,0 +1,177 @@ +import { makeStyles, Grid } from '@material-ui/core' +import Paper from '@material-ui/core/Paper' +import axios from 'axios' +import React, { useState, useEffect } from 'react' +import { useLocation, useHistory } from 'react-router-dom' + +import { Button } from 'src/components/buttons' +import { TextInput } from 'src/components/inputs/base' +import { H2, Label2, P } from 'src/components/typography' +import { ReactComponent as Logo } from 'src/styling/icons/menu/logo.svg' + +import styles from './Login.styles' + +const useQuery = () => new URLSearchParams(useLocation().search) +const useStyles = makeStyles(styles) + +const url = + process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' + +const ResetPassword = () => { + const classes = useStyles() + const history = useHistory() + const query = useQuery() + const [newPasswordField, setNewPasswordField] = useState('') + const [confirmPasswordField, setConfirmPasswordField] = useState('') + const [invalidPassword, setInvalidPassword] = useState(false) + const [userID, setUserID] = useState(null) + const [isLoading, setLoading] = useState(true) + const [wasSuccessful, setSuccess] = useState(false) + + useEffect(() => { + validateQuery() + }, []) + + const validateQuery = () => { + axios({ + url: `${url}/api/resetpassword?t=${query.get('t')}`, + method: 'GET', + options: { + withCredentials: true + } + }) + .then((res, err) => { + if (err) return + if (res && res.status === 200) { + setLoading(false) + if (res.data === 'The link has expired') setSuccess(false) + else { + setSuccess(true) + setUserID(res.data.userID) + } + } + }) + .catch(err => { + console.log(err) + history.push('/') + }) + } + + const handlePasswordReset = () => { + if (!isValidPasswordChange()) return setInvalidPassword(true) + axios({ + url: `${url}/api/updatepassword`, + method: 'POST', + data: { + userID: userID, + newPassword: newPasswordField + }, + withCredentials: true, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) return + if (res && res.status === 200) { + history.push('/') + } + }) + .catch(err => { + console.log(err) + history.push('/') + }) + } + + const isValidPasswordChange = () => { + return newPasswordField === confirmPasswordField + } + + const handleNewPasswordChange = event => { + setInvalidPassword(false) + setNewPasswordField(event.target.value) + } + + const handleConfirmPasswordChange = event => { + setInvalidPassword(false) + setConfirmPasswordField(event.target.value) + } + + return ( + + +
+ +
+
+ +

Lamassu Admin

+
+ {!isLoading && wasSuccessful && ( + <> + + Insert new password + + + + Confirm new password + + +
+ {invalidPassword && ( +

+ Passwords do not match! +

+ )} + +
+ + )} + {!isLoading && !wasSuccessful && ( + <> + + Link has expired + + + )} +
+
+
+
+
+ ) +} + +export default ResetPassword diff --git a/new-lamassu-admin/src/pages/Authentication/Setup2FAState.js b/new-lamassu-admin/src/pages/Authentication/Setup2FAState.js new file mode 100644 index 00000000..d8cdf431 --- /dev/null +++ b/new-lamassu-admin/src/pages/Authentication/Setup2FAState.js @@ -0,0 +1,180 @@ +import { makeStyles } from '@material-ui/core/styles' +import axios from 'axios' +import QRCode from 'qrcode.react' +import React, { useState, useEffect } from 'react' + +import { ActionButton, Button } from 'src/components/buttons' +import { CodeInput } from 'src/components/inputs/base' +import { Label2, P } from 'src/components/typography' +import { primaryColor } from 'src/styling/variables' + +import styles from './Login.styles' + +const url = + process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' + +const useStyles = makeStyles(styles) + +const Setup2FAState = ({ + clientField, + passwordField, + STATES, + handleLoginState +}) => { + const classes = useStyles() + + const [secret, setSecret] = useState(null) + const [otpauth, setOtpauth] = useState(null) + const [isShowing, setShowing] = useState(false) + + const [invalidToken, setInvalidToken] = useState(false) + const [twoFAConfirmation, setTwoFAConfirmation] = useState('') + + const handle2FAChange = value => { + setTwoFAConfirmation(value) + setInvalidToken(false) + } + + useEffect(() => { + get2FASecret() + }, []) + + const get2FASecret = () => { + axios({ + method: 'POST', + url: `${url}/api/login/2fa/setup`, + data: { + username: clientField, + password: passwordField + }, + options: { + withCredentials: true + }, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) return + if (res) { + setSecret(res.data.secret) + setOtpauth(res.data.otpauth) + } + }) + .catch(err => { + if (err.response && err.response.data) { + if (err.response.status === 403) { + handleLoginState(STATES.LOGIN) + } + } + }) + } + + const save2FASecret = () => { + axios({ + method: 'POST', + url: `${url}/api/login/2fa/save`, + data: { + username: clientField, + password: passwordField, + secret: secret, + code: twoFAConfirmation + }, + options: { + withCredentials: true + }, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) console.log(err) + if (res) { + const status = res.status + if (status === 200) handleLoginState(STATES.LOGIN) + } + }) + .catch(err => { + if (err.response && err.response.data) { + if (err.response.status === 403) { + setInvalidToken(true) + } + } + }) + } + + return ( + <> + {secret && otpauth ? ( + <> +
+ + We detected that this account does not have its two-factor + authentication enabled. In order to protect the resources in the + system, a two-factor authentication is enforced. + + + To finish this process, please scan the following QR code or + insert the secret further below on an authentication app of your + choice, preferably Google Authenticator or Authy. + +
+
+ +
+
+ Your secret: + + {secret} + + { + setShowing(!isShowing) + }}> + {isShowing ? 'Hide' : 'Show'} + +
+
+ +
+
+ {invalidToken && ( +

+ Code is invalid. Please try again. +

+ )} + +
+ + ) : ( + // TODO: should maybe show a spinner here? +
+ +
+ )} + + ) +} + +export default Setup2FAState diff --git a/new-lamassu-admin/src/pages/MachineLogs.js b/new-lamassu-admin/src/pages/MachineLogs.js index c40b12d2..e26555b8 100644 --- a/new-lamassu-admin/src/pages/MachineLogs.js +++ b/new-lamassu-admin/src/pages/MachineLogs.js @@ -34,7 +34,12 @@ const GET_MACHINES = gql` const NUM_LOG_RESULTS = 500 const GET_MACHINE_LOGS_CSV = gql` - query MachineLogs($deviceId: ID!, $limit: Int, $from: Date, $until: Date) { + query MachineLogs( + $deviceId: ID! + $limit: Int + $from: DateTime + $until: DateTime + ) { machineLogsCsv( deviceId: $deviceId limit: $limit @@ -45,7 +50,12 @@ const GET_MACHINE_LOGS_CSV = gql` ` const GET_MACHINE_LOGS = gql` - query MachineLogs($deviceId: ID!, $limit: Int, $from: Date, $until: Date) { + query MachineLogs( + $deviceId: ID! + $limit: Int + $from: DateTime + $until: DateTime + ) { machineLogs( deviceId: $deviceId limit: $limit diff --git a/new-lamassu-admin/src/pages/ServerLogs.js b/new-lamassu-admin/src/pages/ServerLogs.js index a977f23e..ac0678c9 100644 --- a/new-lamassu-admin/src/pages/ServerLogs.js +++ b/new-lamassu-admin/src/pages/ServerLogs.js @@ -61,13 +61,13 @@ const formatDate = date => { const NUM_LOG_RESULTS = 500 const GET_CSV = gql` - query ServerData($limit: Int, $from: Date, $until: Date) { + query ServerData($limit: Int, $from: DateTime, $until: DateTime) { serverLogsCsv(limit: $limit, from: $from, until: $until) } ` const GET_DATA = gql` - query ServerData($limit: Int, $from: Date, $until: Date) { + query ServerData($limit: Int, $from: DateTime, $until: DateTime) { serverVersion uptime { name diff --git a/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.js b/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.js new file mode 100644 index 00000000..b3354f0c --- /dev/null +++ b/new-lamassu-admin/src/pages/SessionManagement/SessionManagement.js @@ -0,0 +1,105 @@ +import { useQuery, useMutation } from '@apollo/react-hooks' +import gql from 'graphql-tag' +import moment from 'moment' +import * as R from 'ramda' +import React from 'react' +import parser from 'ua-parser-js' + +import { IconButton } from 'src/components/buttons' +import TitleSection from 'src/components/layout/TitleSection' +import DataTable from 'src/components/tables/DataTable' +import { ReactComponent as DeleteIcon } from 'src/styling/icons/action/delete/enabled.svg' + +const GET_SESSIONS = gql` + query sessions { + sessions { + sid + sess + expire + } + } +` + +const DELETE_SESSION = gql` + mutation deleteSession($sid: String!) { + deleteSession(sid: $sid) { + sid + } + } +` + +const isLocalhost = ip => { + return ip === 'localhost' || ip === '::1' || ip === '127.0.0.1' +} + +const SessionManagement = () => { + const { data: tknResponse } = useQuery(GET_SESSIONS) + + const [deleteSession] = useMutation(DELETE_SESSION, { + refetchQueries: () => ['sessions'] + }) + + const elements = [ + { + header: 'Login', + width: 207, + textAlign: 'left', + size: 'sm', + view: s => s.sess.user.username + }, + { + header: 'Last known use', + width: 305, + textAlign: 'center', + size: 'sm', + view: s => { + const ua = parser(s.sess.ua) + return s.sess.ua + ? `${ua.browser.name} ${ua.browser.version} on ${ua.os.name} ${ua.os.version}` + : `No Record` + } + }, + { + header: 'Last known location', + width: 250, + textAlign: 'center', + size: 'sm', + view: s => { + return isLocalhost(s.sess.ipAddress) ? 'This device' : s.sess.ipAddress + } + }, + { + header: 'Expiration date (UTC)', + width: 290, + textAlign: 'right', + size: 'sm', + view: s => + `${moment.utc(s.expire).format('YYYY-MM-DD')} ${moment + .utc(s.expire) + .format('HH:mm:ss')}` + }, + { + header: '', + width: 80, + textAlign: 'center', + size: 'sm', + view: s => ( + { + deleteSession({ variables: { sid: s.sid } }) + }}> + + + ) + } + ] + + return ( + <> + + + + ) +} + +export default SessionManagement diff --git a/new-lamassu-admin/src/pages/TokenManagement/TokenManagement.js b/new-lamassu-admin/src/pages/TokenManagement/TokenManagement.js deleted file mode 100644 index 7d1fc085..00000000 --- a/new-lamassu-admin/src/pages/TokenManagement/TokenManagement.js +++ /dev/null @@ -1,95 +0,0 @@ -import { useQuery, useMutation } from '@apollo/react-hooks' -import gql from 'graphql-tag' -import moment from 'moment' -import * as R from 'ramda' -import React from 'react' - -import { IconButton } from 'src/components/buttons' -import TitleSection from 'src/components/layout/TitleSection' -import DataTable from 'src/components/tables/DataTable' -import { ReactComponent as DeleteIcon } from 'src/styling/icons/action/delete/enabled.svg' - -const GET_USER_TOKENS = gql` - query userTokens { - userTokens { - token - name - created - user_agent - ip_address - } - } -` - -const REVOKE_USER_TOKEN = gql` - mutation revokeToken($token: String!) { - revokeToken(token: $token) { - token - } - } -` - -const Tokens = () => { - const { data: tknResponse } = useQuery(GET_USER_TOKENS) - - const [revokeToken] = useMutation(REVOKE_USER_TOKEN, { - refetchQueries: () => ['userTokens'] - }) - - const elements = [ - { - header: 'Name', - width: 257, - textAlign: 'center', - size: 'sm', - view: t => t.name - }, - { - header: 'Token', - width: 505, - textAlign: 'center', - size: 'sm', - view: t => t.token - }, - { - header: 'Date (UTC)', - width: 145, - textAlign: 'right', - size: 'sm', - view: t => moment.utc(t.created).format('YYYY-MM-DD') - }, - { - header: 'Time (UTC)', - width: 145, - textAlign: 'right', - size: 'sm', - view: t => moment.utc(t.created).format('HH:mm:ss') - }, - { - header: '', - width: 80, - textAlign: 'center', - size: 'sm', - view: t => ( - { - revokeToken({ variables: { token: t.token } }) - }}> - - - ) - } - ] - - return ( - <> - - - - ) -} - -export default Tokens diff --git a/new-lamassu-admin/src/pages/Transactions/Transactions.js b/new-lamassu-admin/src/pages/Transactions/Transactions.js index 3325b6ec..d79531bd 100644 --- a/new-lamassu-admin/src/pages/Transactions/Transactions.js +++ b/new-lamassu-admin/src/pages/Transactions/Transactions.js @@ -24,13 +24,13 @@ const useStyles = makeStyles(mainStyles) const NUM_LOG_RESULTS = 1000 const GET_TRANSACTIONS_CSV = gql` - query transactions($limit: Int, $from: Date, $until: Date) { + query transactions($limit: Int, $from: DateTime, $until: DateTime) { transactionsCsv(limit: $limit, from: $from, until: $until) } ` const GET_TRANSACTIONS = gql` - query transactions($limit: Int, $from: Date, $until: Date) { + query transactions($limit: Int, $from: DateTime, $until: DateTime) { transactions(limit: $limit, from: $from, until: $until) { id txClass diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.js b/new-lamassu-admin/src/pages/UserManagement/UserManagement.js new file mode 100644 index 00000000..33f9811e --- /dev/null +++ b/new-lamassu-admin/src/pages/UserManagement/UserManagement.js @@ -0,0 +1,386 @@ +/* eslint-disable prettier/prettier */ +import { useQuery, useMutation } from '@apollo/react-hooks' +import { makeStyles, Box, Chip } from '@material-ui/core' +import axios from 'axios' +import gql from 'graphql-tag' +// import moment from 'moment' +import * as R from 'ramda' +import React, { useState, useContext } from 'react' +// import parser from 'ua-parser-js' + +import { AppContext } from 'src/App' +import { Link /*, IconButton */ } from 'src/components/buttons' +import { Switch } from 'src/components/inputs' +import TitleSection from 'src/components/layout/TitleSection' +import DataTable from 'src/components/tables/DataTable' +// import { ReactComponent as DeleteIcon } from 'src/styling/icons/action/delete/enabled.svg' + +import styles from './UserManagement.styles' +import ChangeRoleModal from './modals/ChangeRoleModal' +import CreateUserModal from './modals/CreateUserModal' +// import DeleteUserModal from './modals/DeleteUserModal' +import EnableUserModal from './modals/EnableUserModal' +import Input2FAModal from './modals/Input2FAModal' +import Reset2FAModal from './modals/Reset2FAModal' +import ResetPasswordModal from './modals/ResetPasswordModal' + +const useStyles = makeStyles(styles) + +const url = + process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' + +const GET_USERS = gql` + query users { + users { + id + username + role + enabled + last_accessed + last_accessed_from + last_accessed_address + } + } +` + +/* const DELETE_USERS = gql` + mutation deleteUser($id: ID!) { + deleteUser(id: $id) { + id + } + } +` */ + +const CHANGE_USER_ROLE = gql` + mutation changeUserRole($id: ID!, $newRole: String!) { + changeUserRole(id: $id, newRole: $newRole) { + id + } + } +` + +const TOGGLE_USER_ENABLE = gql` + mutation toggleUserEnable($id: ID!) { + toggleUserEnable(id: $id) { + id + } + } +` + +const Users = () => { + const classes = useStyles() + + const { userData } = useContext(AppContext) + + const { data: userResponse } = useQuery(GET_USERS) + + /* const [deleteUser] = useMutation(DELETE_USERS, { + refetchQueries: () => ['users'] + }) */ + + const [changeUserRole] = useMutation(CHANGE_USER_ROLE, { + refetchQueries: () => ['users'] + }) + + const [toggleUserEnable] = useMutation(TOGGLE_USER_ENABLE, { + refetchQueries: () => ['users'] + }) + + const [userInfo, setUserInfo] = useState(null) + + const [showCreateUserModal, setShowCreateUserModal] = useState(false) + const toggleCreateUserModal = () => + setShowCreateUserModal(!showCreateUserModal) + + const [showResetPasswordModal, setShowResetPasswordModal] = useState(false) + const [resetPasswordUrl, setResetPasswordUrl] = useState('') + const toggleResetPasswordModal = () => + setShowResetPasswordModal(!showResetPasswordModal) + + const [showReset2FAModal, setShowReset2FAModal] = useState(false) + const [reset2FAUrl, setReset2FAUrl] = useState('') + const toggleReset2FAModal = () => setShowReset2FAModal(!showReset2FAModal) + + const [showRoleModal, setShowRoleModal] = useState(false) + const toggleRoleModal = () => + setShowRoleModal(!showRoleModal) + + const [showEnableUserModal, setShowEnableUserModal] = useState(false) + const toggleEnableUserModal = () => + setShowEnableUserModal(!showEnableUserModal) + + /* const [showDeleteUserModal, setShowDeleteUserModal] = useState(false) + const toggleDeleteUserModal = () => + setShowDeleteUserModal(!showDeleteUserModal) */ + + const [showInputConfirmModal, setShowInputConfirmModal] = useState(false) + const toggleInputConfirmModal = () => + setShowInputConfirmModal(!showInputConfirmModal) + + const [action, setAction] = useState(null) + + const requestNewPassword = userID => { + axios({ + method: 'POST', + url: `${url}/api/resetpassword`, + data: { + userID: userID + }, + withCredentials: true, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) return + if (res) { + const status = res.status + if (status === 200) { + const token = res.data.token + setResetPasswordUrl( + `https://localhost:3001/resetpassword?t=${token.token}` + ) + toggleResetPasswordModal() + } + } + }) + .catch(err => { + if (err) console.log('error') + }) + } + + const requestNew2FA = userID => { + axios({ + method: 'POST', + url: `${url}/api/reset2fa`, + data: { + userID: userID + }, + withCredentials: true, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) return + if (res) { + const status = res.status + if (status === 200) { + const token = res.data.token + setReset2FAUrl(`https://localhost:3001/reset2fa?t=${token.token}`) + toggleReset2FAModal() + } + } + }) + .catch(err => { + if (err) console.log('error') + }) + } + + const elements = [ + { + header: 'Login', + width: 257, + textAlign: 'left', + size: 'sm', + view: u => { + if (userData.id === u.id) + return ( + <> + {u.username} + + + ) + return u.username + } + }, + { + header: 'Role', + width: 105, + textAlign: 'center', + size: 'sm', + view: u => { + switch (u.role) { + case 'user': + return 'Regular' + case 'superuser': + return 'Superuser' + default: + return u.role + } + } + }, + { + header: '', + width: 80, + textAlign: 'center', + size: 'sm', + view: u => ( + { + setUserInfo(u) + toggleRoleModal() + }} + value={u.role === 'superuser'} + /> + ) + }, + { + header: '', + width: 25, + textAlign: 'center', + size: 'sm', + view: u => {} + }, + { + header: 'Actions', + width: 565, + textAlign: 'left', + size: 'sm', + view: u => { + return ( + <> + { + setUserInfo(u) + if(u.role === 'superuser') { + setAction(() => requestNewPassword.bind(null, u.id)) + toggleInputConfirmModal() + } else { + requestNewPassword(u.id) + } + }} + /> + { + setUserInfo(u) + if(u.role === 'superuser') { + setAction(() => requestNew2FA.bind(null, u.id)) + toggleInputConfirmModal() + } else { + requestNew2FA(u.id) + } + }} + /> + + ) + } + }, + /* { + header: 'Actions', + width: 535, + textAlign: 'left', + size: 'sm', + view: u => { + const ua = parser(u.last_accessed_from) + return u.last_accessed_from + ? `${ua.browser.name} ${ua.browser.version} on ${ua.os.name} ${ua.os.version}` + : `No Record` + } + }, */ + { + header: 'Enabled', + width: 100, + textAlign: 'center', + size: 'sm', + view: u => ( + { + setUserInfo(u) + toggleEnableUserModal() + }} + value={u.enabled} + /> + ) + }/* , + { + header: 'Delete', + width: 100, + textAlign: 'center', + size: 'sm', + view: u => ( + { + setUserInfo(u) + toggleDeleteUserModal() + }}> + + + ) + } */ + ] + + return ( + <> + + + + Add new user + + + + + + + + + {/* */} + + + ) +} + +export default Users diff --git a/new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js b/new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js new file mode 100644 index 00000000..8fbcd2e7 --- /dev/null +++ b/new-lamassu-admin/src/pages/UserManagement/UserManagement.styles.js @@ -0,0 +1,81 @@ +import { + spacer, + fontPrimary, + fontSecondary, + primaryColor, + subheaderColor, + errorColor +} from 'src/styling/variables' + +const styles = { + footer: { + margin: [['auto', 0, spacer * 3, 'auto']] + }, + modalTitle: { + marginTop: -5, + color: primaryColor, + fontFamily: fontPrimary + }, + modalLabel1: { + marginTop: 20 + }, + modalLabel2: { + marginTop: 40 + }, + inputLabel: { + color: primaryColor, + fontFamily: fontPrimary, + fontSize: 24, + marginLeft: 8, + marginTop: 15 + }, + tableWidth: { + width: 1132 + }, + radioGroup: { + flexDirection: 'row', + width: 500 + }, + radioLabel: { + width: 150, + height: 48 + }, + copyToClipboard: { + marginLeft: 'auto', + paddingTop: 6, + paddingLeft: 15, + marginRight: -11 + }, + chip: { + backgroundColor: subheaderColor, + fontFamily: fontPrimary, + marginLeft: 15, + marginTop: -5 + }, + actionChip: { + backgroundColor: subheaderColor, + marginRight: 15, + marginTop: -5 + }, + info: { + fontFamily: fontSecondary, + textAlign: 'justify' + }, + addressWrapper: { + backgroundColor: subheaderColor, + marginTop: 8 + }, + address: { + margin: `${spacer * 1.5}px ${spacer * 3}px` + }, + errorMessage: { + fontFamily: fontSecondary, + color: errorColor + }, + codeContainer: { + marginTop: 15, + marginBottom: 15 + } +} + +export default styles diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.js b/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.js new file mode 100644 index 00000000..94074bfb --- /dev/null +++ b/new-lamassu-admin/src/pages/UserManagement/modals/ChangeRoleModal.js @@ -0,0 +1,64 @@ +import { makeStyles } from '@material-ui/core/styles' +import React from 'react' + +import Modal from 'src/components/Modal' +import { Button } from 'src/components/buttons' +import { H2, Info3 } from 'src/components/typography' + +import styles from '../UserManagement.styles' + +const useStyles = makeStyles(styles) + +const ChangeRoleModal = ({ + showModal, + toggleModal, + user, + confirm, + inputConfirmToggle, + setAction +}) => { + const classes = useStyles() + + const handleClose = () => { + toggleModal() + } + + return ( + <> + {showModal && ( + +

Change {user.username}'s role?

+ + You are about to alter {user.username}'s role. This will change this + user's permission to access certain resources. + + Do you wish to proceed? +
+ +
+
+ )} + + ) +} + +export default ChangeRoleModal diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.js b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.js new file mode 100644 index 00000000..3fb3a4cc --- /dev/null +++ b/new-lamassu-admin/src/pages/UserManagement/modals/CreateUserModal.js @@ -0,0 +1,156 @@ +import { makeStyles } from '@material-ui/core/styles' +import axios from 'axios' +import React, { useState } from 'react' + +import Modal from 'src/components/Modal' +import { Button } from 'src/components/buttons' +import { RadioGroup } from 'src/components/inputs' +import { TextInput } from 'src/components/inputs/base' +import { H1, H2, H3, Info3, Mono } from 'src/components/typography' +import CopyToClipboard from 'src/pages/Transactions/CopyToClipboard' + +import styles from '../UserManagement.styles' + +const url = + process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' + +const useStyles = makeStyles(styles) + +const CreateUserModal = ({ showModal, toggleModal }) => { + const classes = useStyles() + + const [usernameField, setUsernameField] = useState('') + const [roleField, setRoleField] = useState('') + const [createUserURL, setCreateUserURL] = useState(null) + const [invalidUser, setInvalidUser] = useState(false) + + const radioOptions = [ + { + code: 'user', + display: 'Regular user' + }, + { + code: 'superuser', + display: 'Superuser' + } + ] + + const handleUsernameChange = event => { + if (event.target.value === '') { + setInvalidUser(false) + } + setUsernameField(event.target.value) + } + + const handleRoleChange = event => { + setRoleField(event.target.value) + } + + const handleClose = () => { + setUsernameField('') + setRoleField('') + setInvalidUser(false) + setCreateUserURL(null) + toggleModal() + } + + const handleCreateUser = () => { + const username = usernameField.trim() + + if (username === '') { + setInvalidUser(true) + return + } + axios({ + method: 'POST', + url: `${url}/api/createuser`, + data: { + username: username, + role: roleField + }, + withCredentials: true, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) return + if (res) { + const status = res.status + const message = res.data.message + if (status === 200 && message) setInvalidUser(true) + if (status === 200 && !message) { + const token = res.data.token + setCreateUserURL(`https://localhost:3001/register?t=${token.token}`) + } + } + }) + .catch(err => { + if (err) console.log('error') + }) + } + + return ( + <> + {showModal && !createUserURL && ( + +

Create new user

+

User login

+ +

Role

+ +
+ +
+
+ )} + {showModal && createUserURL && ( + +

Creating {usernameField}...

+ + Safely share this link with {usernameField} to finish the + registration process. + +
+ + + + {createUserURL} + + + +
+
+ )} + + ) +} + +export default CreateUserModal diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/DeleteUserModal.js b/new-lamassu-admin/src/pages/UserManagement/modals/DeleteUserModal.js new file mode 100644 index 00000000..b8940581 --- /dev/null +++ b/new-lamassu-admin/src/pages/UserManagement/modals/DeleteUserModal.js @@ -0,0 +1,73 @@ +import { makeStyles } from '@material-ui/core/styles' +import React from 'react' + +import Modal from 'src/components/Modal' +import { Button } from 'src/components/buttons' +import { H2, Info3 } from 'src/components/typography' + +import styles from '../UserManagement.styles' + +const useStyles = makeStyles(styles) + +const DeleteUserModal = ({ + showModal, + toggleModal, + user, + confirm, + inputConfirmToggle, + setAction +}) => { + const classes = useStyles() + + const handleClose = () => { + toggleModal() + } + + return ( + <> + {showModal && ( + +

Delete {user.username}?

+ + You are about to delete {user.username}. This will remove existent + sessions and revoke this user's permissions to access the system. + + + This is a PERMANENT operation. Do you wish to proceed? + +
+ +
+
+ )} + + ) +} + +export default DeleteUserModal diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.js b/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.js new file mode 100644 index 00000000..1f26d020 --- /dev/null +++ b/new-lamassu-admin/src/pages/UserManagement/modals/EnableUserModal.js @@ -0,0 +1,87 @@ +import { makeStyles } from '@material-ui/core/styles' +import React from 'react' + +import Modal from 'src/components/Modal' +import { Button } from 'src/components/buttons' +import { H2, Info3 } from 'src/components/typography' + +import styles from '../UserManagement.styles' + +const useStyles = makeStyles(styles) + +const EnableUserModal = ({ + showModal, + toggleModal, + user, + confirm, + inputConfirmToggle, + setAction +}) => { + const classes = useStyles() + + const handleClose = () => { + toggleModal() + } + + return ( + <> + {showModal && ( + + {!user.enabled && ( + <> +

Enable {user.username}?

+ + You are about to enable {user.username} into the system, + activating previous eligible sessions and grant permissions to + access the system. + + Do you wish to proceed? + + )} + {user.enabled && ( + <> +

Disable {user.username}?

+ + You are about to disable {user.username} from the system, + deactivating previous eligible sessions and removing permissions + to access the system. + + Do you wish to proceed? + + )} +
+ +
+
+ )} + + ) +} + +export default EnableUserModal diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.js b/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.js new file mode 100644 index 00000000..07160924 --- /dev/null +++ b/new-lamassu-admin/src/pages/UserManagement/modals/Input2FAModal.js @@ -0,0 +1,99 @@ +import { makeStyles } from '@material-ui/core/styles' +import axios from 'axios' +import React, { useState } from 'react' + +import Modal from 'src/components/Modal' +import { Button } from 'src/components/buttons' +import { CodeInput } from 'src/components/inputs/base' +import { H2, Info3, P } from 'src/components/typography' + +import styles from '../UserManagement.styles' + +const url = + process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' + +const useStyles = makeStyles(styles) + +const Input2FAModal = ({ showModal, toggleModal, action, vars }) => { + const classes = useStyles() + + const [twoFACode, setTwoFACode] = useState('') + const [invalidCode, setInvalidCode] = useState(false) + + const handleCodeChange = value => { + setTwoFACode(value) + setInvalidCode(false) + } + + const handleClose = () => { + setTwoFACode('') + setInvalidCode(false) + toggleModal() + } + + const handleActionConfirm = () => { + axios({ + method: 'POST', + url: `${url}/api/confirm2fa`, + data: { + code: twoFACode + }, + withCredentials: true, + headers: { + 'Content-Type': 'application/json' + } + }) + .then((res, err) => { + if (err) return + if (res) { + const status = res.status + if (status === 200) { + action() + handleClose() + } + } + }) + .catch(err => { + const errStatus = err.response.status + if (errStatus === 401) setInvalidCode(true) + }) + } + + return ( + <> + {showModal && ( + +

Confirm action

+ + Please confirm this action by placing your two-factor authentication + code below. + + + {invalidCode && ( +

+ Code is invalid. Please try again. +

+ )} +
+ +
+
+ )} + + ) +} + +export default Input2FAModal diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.js b/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.js new file mode 100644 index 00000000..bffaff91 --- /dev/null +++ b/new-lamassu-admin/src/pages/UserManagement/modals/Reset2FAModal.js @@ -0,0 +1,48 @@ +import { makeStyles } from '@material-ui/core/styles' +import React from 'react' + +import Modal from 'src/components/Modal' +import { H2, Info3, Mono } from 'src/components/typography' +import CopyToClipboard from 'src/pages/Transactions/CopyToClipboard' + +import styles from '../UserManagement.styles' + +const useStyles = makeStyles(styles) + +const Reset2FAModal = ({ showModal, toggleModal, reset2FAURL, user }) => { + const classes = useStyles() + + const handleClose = () => { + toggleModal() + } + + return ( + <> + {showModal && ( + +

Reset 2FA for {user.username}

+ + Safely share this link with {user.username} for a two-factor + authentication reset. + +
+ + + + {reset2FAURL} + + + +
+
+ )} + + ) +} + +export default Reset2FAModal diff --git a/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.js b/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.js new file mode 100644 index 00000000..0dbe92ea --- /dev/null +++ b/new-lamassu-admin/src/pages/UserManagement/modals/ResetPasswordModal.js @@ -0,0 +1,54 @@ +import { makeStyles } from '@material-ui/core/styles' +import React from 'react' + +import Modal from 'src/components/Modal' +import { H2, Info3, Mono } from 'src/components/typography' +import CopyToClipboard from 'src/pages/Transactions/CopyToClipboard' + +import styles from '../UserManagement.styles' + +const useStyles = makeStyles(styles) + +const ResetPasswordModal = ({ + showModal, + toggleModal, + resetPasswordURL, + user +}) => { + const classes = useStyles() + + const handleClose = () => { + toggleModal() + } + + return ( + <> + {showModal && ( + +

+ Reset password for {user.username} +

+ + Safely share this link with {user.username} for a password reset. + +
+ + + + {resetPasswordURL} + + + +
+
+ )} + + ) +} + +export default ResetPasswordModal diff --git a/new-lamassu-admin/src/routing/PrivateRoute.js b/new-lamassu-admin/src/routing/PrivateRoute.js index 5415781a..5e6ef5e4 100644 --- a/new-lamassu-admin/src/routing/PrivateRoute.js +++ b/new-lamassu-admin/src/routing/PrivateRoute.js @@ -1,27 +1,14 @@ -import React from 'react' +import React, { useContext } from 'react' import { Route, Redirect } from 'react-router-dom' -const isAuthenticated = () => { - return localStorage.getItem('loggedIn') -} +import { AppContext } from 'src/App' -const PrivateRoute = ({ children, ...rest }) => { - return ( - - isAuthenticated() ? ( - children - ) : ( - - ) - } - /> - ) +import { isLoggedIn } from './utils' + +const PrivateRoute = ({ ...rest }) => { + const { userData } = useContext(AppContext) + + return isLoggedIn(userData) ? : } export default PrivateRoute diff --git a/new-lamassu-admin/src/routing/PublicRoute.js b/new-lamassu-admin/src/routing/PublicRoute.js new file mode 100644 index 00000000..278e1289 --- /dev/null +++ b/new-lamassu-admin/src/routing/PublicRoute.js @@ -0,0 +1,25 @@ +import React, { useContext } from 'react' +import { Route, Redirect } from 'react-router-dom' + +import { AppContext } from 'src/App' + +import { isLoggedIn } from './utils' + +const PublicRoute = ({ component: Component, restricted, ...rest }) => { + const { userData } = useContext(AppContext) + + return ( + + isLoggedIn(userData) && restricted ? ( + + ) : ( + + ) + } + /> + ) +} + +export default PublicRoute diff --git a/new-lamassu-admin/src/routing/routes.js b/new-lamassu-admin/src/routing/routes.js index 6392d488..f56bbd4c 100644 --- a/new-lamassu-admin/src/routing/routes.js +++ b/new-lamassu-admin/src/routing/routes.js @@ -13,7 +13,11 @@ import { } from 'react-router-dom' import AppContext from 'src/AppContext' -import AuthRegister from 'src/pages/AuthRegister' +// import AuthRegister from 'src/pages/AuthRegister' +import Login from 'src/pages/Authentication/Login' +import Register from 'src/pages/Authentication/Register' +import Reset2FA from 'src/pages/Authentication/Reset2FA' +import ResetPassword from 'src/pages/Authentication/ResetPassword' import Blacklist from 'src/pages/Blacklist' import Cashout from 'src/pages/Cashout' import Commissions from 'src/pages/Commissions' @@ -34,13 +38,18 @@ import ReceiptPrinting from 'src/pages/OperatorInfo/ReceiptPrinting' import TermsConditions from 'src/pages/OperatorInfo/TermsConditions' import ServerLogs from 'src/pages/ServerLogs' import Services from 'src/pages/Services/Services' -// import TokenManagement from 'src/pages/TokenManagement/TokenManagement' +import SessionManagement from 'src/pages/SessionManagement/SessionManagement' import Transactions from 'src/pages/Transactions/Transactions' import Triggers from 'src/pages/Triggers' +import UserManagement from 'src/pages/UserManagement/UserManagement' import WalletSettings from 'src/pages/Wallet/Wallet' import Wizard from 'src/pages/Wizard' import { namespaces } from 'src/utils/config' +import PrivateRoute from './PrivateRoute' +import PublicRoute from './PublicRoute' +import { ROLES } from './utils' + const useStyles = makeStyles({ wrapper: { flex: 1, @@ -55,12 +64,14 @@ const tree = [ key: 'transactions', label: 'Transactions', route: '/transactions', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: Transactions }, { key: 'maintenance', label: 'Maintenance', route: '/maintenance', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], get component() { return () => }, @@ -69,30 +80,35 @@ const tree = [ key: 'cash_cassettes', label: 'Cash Cassettes', route: '/maintenance/cash-cassettes', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: CashCassettes }, { key: 'funding', label: 'Funding', route: '/maintenance/funding', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: Funding }, { key: 'logs', label: 'Machine Logs', route: '/maintenance/logs', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: MachineLogs }, { key: 'machine-status', label: 'Machine Status', route: '/maintenance/machine-status', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: MachineStatus }, { key: 'server-logs', label: 'Server', route: '/maintenance/server-logs', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: ServerLogs } ] @@ -101,6 +117,7 @@ const tree = [ key: 'settings', label: 'Settings', route: '/settings', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], get component() { return () => }, @@ -109,36 +126,42 @@ const tree = [ key: namespaces.COMMISSIONS, label: 'Commissions', route: '/settings/commissions', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: Commissions }, { key: namespaces.LOCALE, label: 'Locales', route: '/settings/locale', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: Locales }, { key: namespaces.CASH_OUT, label: 'Cash-out', route: '/settings/cash-out', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: Cashout }, { key: namespaces.NOTIFICATIONS, label: 'Notifications', route: '/settings/notifications', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: Notifications }, { key: 'services', label: '3rd party services', route: '/settings/3rd-party-services', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: Services }, { key: namespaces.WALLETS, label: 'Wallet', route: '/settings/wallet-settings', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: WalletSettings }, { @@ -146,6 +169,7 @@ const tree = [ label: 'Operator Info', route: '/settings/operator-info', title: 'Operator Information', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], get component() { return () => ( }, @@ -197,18 +226,21 @@ const tree = [ key: 'triggers', label: 'Triggers', route: '/compliance/triggers', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: Triggers }, { key: 'customers', label: 'Customers', route: '/compliance/customers', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: Customers }, { key: 'blacklist', label: 'Blacklist', route: '/compliance/blacklist', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: Blacklist }, { @@ -220,9 +252,35 @@ const tree = [ { key: 'customer', route: '/compliance/customer/:id', + allowedRoles: [ROLES.USER, ROLES.SUPERUSER], component: CustomerProfile } ] + }, + { + key: 'system', + label: 'System', + route: '/system', + allowedRoles: [ROLES.SUPERUSER], + get component() { + return () => + }, + children: [ + { + key: 'user-management', + label: 'User Management', + route: '/system/user-management', + allowedRoles: [ROLES.SUPERUSER], + component: UserManagement + }, + { + key: 'session-management', + label: 'Session Management', + route: '/system/session-management', + allowedRoles: [ROLES.SUPERUSER], + component: SessionManagement + } + ] } // { // key: 'system', @@ -276,13 +334,32 @@ const Routes = () => { const history = useHistory() const location = useLocation() + const { wizardTested, userData } = useContext(AppContext) - const { wizardTested } = useContext(AppContext) - - const dontTriggerPages = ['/404', '/register', '/wizard'] + const dontTriggerPages = [ + '/404', + '/register', + '/wizard', + '/login', + '/register', + '/resetpassword', + '/reset2fa' + ] if (!wizardTested && !R.contains(location.pathname)(dontTriggerPages)) { history.push('/wizard') + return null + } + + const getFilteredRoutes = () => { + if (!userData) return [] + + return flattened.filter(value => { + const keys = value.allowedRoles.map(v => { + return v.key + }) + return R.includes(userData.role, keys) + }) } const Transition = location.state ? Slide : Fade @@ -300,10 +377,10 @@ const Routes = () => { return ( - - - - + + + + {
} /> - - - - + + + + + + + {/* */} - {flattened.map(({ route, component: Page, key }) => ( + {getFilteredRoutes().map(({ route, component: Page, key }) => ( { unmountOnExit children={
- + + +
} /> diff --git a/new-lamassu-admin/src/routing/utils.js b/new-lamassu-admin/src/routing/utils.js new file mode 100644 index 00000000..075f2a9c --- /dev/null +++ b/new-lamassu-admin/src/routing/utils.js @@ -0,0 +1,8 @@ +export const isLoggedIn = userData => { + return userData +} + +export const ROLES = { + USER: { key: 'user', value: '0' }, + SUPERUSER: { key: 'superuser', value: '1' } +} diff --git a/new-lamassu-admin/src/utils/apollo.js b/new-lamassu-admin/src/utils/apollo.js index 1dfaa322..564ad78c 100644 --- a/new-lamassu-admin/src/utils/apollo.js +++ b/new-lamassu-admin/src/utils/apollo.js @@ -4,20 +4,23 @@ import { ApolloClient } from 'apollo-client' import { ApolloLink } from 'apollo-link' import { onError } from 'apollo-link-error' import { HttpLink } from 'apollo-link-http' -import React from 'react' +import React, { useContext } from 'react' import { useHistory, useLocation } from 'react-router-dom' +import { AppContext } from 'src/App' + const URI = process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : '' -const getClient = (history, location) => +const getClient = (history, location, setUserData) => new ApolloClient({ link: ApolloLink.from([ onError(({ graphQLErrors, networkError }) => { if (graphQLErrors) graphQLErrors.forEach(({ message, locations, path, extensions }) => { if (extensions?.code === 'UNAUTHENTICATED') { - if (location.pathname !== '/404') history.push('/404') + setUserData(null) + if (location.pathname !== '/login') history.push('/login') } console.log( `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}` @@ -49,7 +52,9 @@ const getClient = (history, location) => const Provider = ({ children }) => { const history = useHistory() const location = useLocation() - const client = getClient(history, location) + const { setUserData } = useContext(AppContext) + const client = getClient(history, location, setUserData) + return {children} } diff --git a/package-lock.json b/package-lock.json index f2b332d4..a41414b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1936,6 +1936,48 @@ "fastq": "^1.6.0" } }, + "@otplib/core": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/core/-/core-12.0.1.tgz", + "integrity": "sha512-4sGntwbA/AC+SbPhbsziRiD+jNDdIzsZ3JUyfZwjtKyc/wufl1pnSIaG4Uqx8ymPagujub0o92kgBnB89cuAMA==" + }, + "@otplib/plugin-crypto": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/plugin-crypto/-/plugin-crypto-12.0.1.tgz", + "integrity": "sha512-qPuhN3QrT7ZZLcLCyKOSNhuijUi9G5guMRVrxq63r9YNOxxQjPm59gVxLM+7xGnHnM6cimY57tuKsjK7y9LM1g==", + "requires": { + "@otplib/core": "^12.0.1" + } + }, + "@otplib/plugin-thirty-two": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/plugin-thirty-two/-/plugin-thirty-two-12.0.1.tgz", + "integrity": "sha512-MtT+uqRso909UkbrrYpJ6XFjj9D+x2Py7KjTO9JDPhL0bJUYVu5kFP4TFZW4NFAywrAtFRxOVY261u0qwb93gA==", + "requires": { + "@otplib/core": "^12.0.1", + "thirty-two": "^1.0.2" + } + }, + "@otplib/preset-default": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/preset-default/-/preset-default-12.0.1.tgz", + "integrity": "sha512-xf1v9oOJRyXfluBhMdpOkr+bsE+Irt+0D5uHtvg6x1eosfmHCsCC6ej/m7FXiWqdo0+ZUI6xSKDhJwc8yfiOPQ==", + "requires": { + "@otplib/core": "^12.0.1", + "@otplib/plugin-crypto": "^12.0.1", + "@otplib/plugin-thirty-two": "^12.0.1" + } + }, + "@otplib/preset-v11": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/preset-v11/-/preset-v11-12.0.1.tgz", + "integrity": "sha512-9hSetMI7ECqbFiKICrNa4w70deTUfArtwXykPUvSHWOdzOlfa9ajglu7mNCntlvxycTiOAXkQGwjQCzzDEMRMg==", + "requires": { + "@otplib/core": "^12.0.1", + "@otplib/plugin-crypto": "^12.0.1", + "@otplib/plugin-thirty-two": "^12.0.1" + } + }, "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -2300,6 +2342,34 @@ "@types/node": "*" } }, + "@types/pg": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-7.14.9.tgz", + "integrity": "sha512-ThTOEwOvYM++zRSGiajRqKyTQboCEJE2VI+30d93WX94sQ7CnrcJ7CICT9oC+QD8Co9JTYJkKEfEXSb5DjUOFA==", + "requires": { + "@types/node": "*", + "pg-types": "^2.2.0" + }, + "dependencies": { + "pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "requires": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + } + }, + "postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" + } + } + }, "@types/prettier": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", @@ -3817,6 +3887,22 @@ "cashaddrjs": "^0.3.3" } }, + "bcrypt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.0.tgz", + "integrity": "sha512-jB0yCBl4W/kVHM2whjfyqnxTmOHkCX4kHEa5nYKSoGeYe8YrjTYTc87/6bwt1g8cmV0QrbhKriETg9jWtcREhg==", + "requires": { + "node-addon-api": "^3.0.0", + "node-pre-gyp": "0.15.0" + }, + "dependencies": { + "node-addon-api": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz", + "integrity": "sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==" + } + } + }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -5642,6 +5728,68 @@ } } }, + "connect-pg-simple": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/connect-pg-simple/-/connect-pg-simple-6.2.1.tgz", + "integrity": "sha512-bwDp/gKyRtyz0V5Vxy3SATSxItWBK/wDhaacncC79+q1B1VB8SQ49AlVaQCM+XxmIO29cWX4cvsFj65mD2qrzA==", + "requires": { + "@types/pg": "^7.14.4", + "pg": "^8.2.1" + }, + "dependencies": { + "buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" + }, + "packet-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + }, + "pg": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.5.1.tgz", + "integrity": "sha512-9wm3yX9lCfjvA98ybCyw2pADUivyNWT/yIP4ZcDVpMN0og70BUWYEGXPCTAQdGTAqnytfRADb7NERrY1qxhIqw==", + "requires": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.4.0", + "pg-pool": "^3.2.2", + "pg-protocol": "^1.4.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + } + }, + "pg-connection-string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.4.0.tgz", + "integrity": "sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==" + }, + "pg-pool": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.2.2.tgz", + "integrity": "sha512-ORJoFxAlmmros8igi608iVEbQNNZlp89diFVx6yV5v+ehmpMY9sK6QgpmgoXbmkNaBAx8cOOZh9g80kJv1ooyA==" + }, + "pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "requires": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + } + }, + "postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" + } + } + }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -7458,6 +7606,33 @@ "defaults": "^1.0.3" } }, + "express-session": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.1.tgz", + "integrity": "sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q==", + "requires": { + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.0", + "uid-safe": "~2.1.5" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + } + } + }, "express-ws": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/express-ws/-/express-ws-3.0.0.tgz", @@ -12674,6 +12849,16 @@ "os-tmpdir": "^1.0.0" } }, + "otplib": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/otplib/-/otplib-12.0.1.tgz", + "integrity": "sha512-xDGvUOQjop7RDgxTQ+o4pOol0/3xSZzawTiPKRrHnQWAy0WjhNs/5HdIDJCrqC4MBynmjXgULc6YfioaxZeFgg==", + "requires": { + "@otplib/core": "^12.0.1", + "@otplib/preset-default": "^12.0.1", + "@otplib/preset-v11": "^12.0.1" + } + }, "p-cancelable": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", @@ -13098,6 +13283,11 @@ "spex": "~2.0.2" } }, + "pg-protocol": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.4.0.tgz", + "integrity": "sha512-El+aXWcwG/8wuFICMQjM5ZSAm6OWiJicFdNYo+VY3QP+8vI4SvLIWVe51PppTzMhikUJR+PsyIFKqfdXPz/yxA==" + }, "pg-types": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-1.13.0.tgz", @@ -13725,6 +13915,11 @@ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, + "random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -16389,6 +16584,11 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "thirty-two": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.2.tgz", + "integrity": "sha1-TKL//AKlEpDSdEueP1V2k8prYno=" + }, "throat": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", @@ -16745,6 +16945,14 @@ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.22.tgz", "integrity": "sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q==" }, + "uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "requires": { + "random-bytes": "~1.0.0" + } + }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", diff --git a/package.json b/package.json index 3116d8b3..d7280a96 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "axios": "^0.16.1", "base-x": "^3.0.2", "bchaddrjs": "^0.3.0", + "bcrypt": "^5.0.0", "bignumber.js": "^4.1.0", "bip39": "^2.3.1", "bitcoind-rpc": "^0.7.0", @@ -20,6 +21,7 @@ "body-parser": "^1.15.1", "coinbase": "^2.0.6", "compression": "^1.7.4", + "connect-pg-simple": "^6.2.1", "console-log-level": "^1.4.0", "cookie-parser": "^1.4.3", "cors": "^2.8.5", @@ -31,6 +33,7 @@ "express": "^4.15.4", "express-limiter": "^1.6.0", "express-rate-limit": "^2.9.0", + "express-session": "^1.17.1", "express-ws": "^3.0.0", "futoin-hkdf": "^1.0.2", "got": "^7.1.0", @@ -59,6 +62,7 @@ "ndjson": "^1.5.0", "nocache": "^2.1.0", "numeral": "^2.0.3", + "otplib": "^12.0.1", "p-each-series": "^1.0.0", "p-retry": "^4.4.0", "pg-native": "^3.0.0",