├── .gitignore ├── README.md └── in-app-subscription-backend-example ├── package.json ├── db.sql ├── index.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # in-app-subscription-example 2 | Example of implementing auto-renewing in-app subscriptions for Android & iOS using React Native 3 | 4 | TODO add client side React Native example too 5 | -------------------------------------------------------------------------------- /in-app-subscription-backend-example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "in-app-subscription-backend-example", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "dependencies": { 7 | "dotenv": "^8.1.0", 8 | "express": "^4.17.3", 9 | "express-async-handler": "^1.1.4", 10 | "google-auth-library": "^5.3.0", 11 | "googleapis": "^43.0.0", 12 | "in-app-purchase": "^1.11.4", 13 | "knex": "^0.19.5", 14 | "moment": "^2.29.4", 15 | "mysql": "^2.17.1" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /in-app-subscription-backend-example/db.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE `subscriptions` ( 2 | `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 3 | `user_id` int(10) unsigned NOT NULL, 4 | `environment` varchar(255) NOT NULL DEFAULT '', 5 | `orig_tx_id` varchar(255) NOT NULL DEFAULT '', 6 | `latest_receipt` text NOT NULL, 7 | `start_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 8 | `end_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 9 | `app` varchar(255) NOT NULL DEFAULT '', 10 | `product_id` varchar(255) NOT NULL DEFAULT '', 11 | `is_cancelled` tinyint(1) NOT NULL, 12 | `validation_response` text NOT NULL, 13 | `fake` tinyint(1) NOT NULL DEFAULT '0', 14 | PRIMARY KEY (`id`), 15 | UNIQUE KEY `orig_transaction_id` (`orig_tx_id`), 16 | KEY `user_id` (`user_id`), 17 | KEY `start_date` (`start_date`), 18 | KEY `end_date` (`end_date`), 19 | CONSTRAINT `subscriptions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) 20 | ) ENGINE=InnoDB AUTO_INCREMENT=350 DEFAULT CHARSET=utf8mb4; 21 | -------------------------------------------------------------------------------- /in-app-subscription-backend-example/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | require('dotenv').config(); 4 | 5 | const http = require('http'); 6 | const express = require('express'); 7 | const iap = require('in-app-purchase'); 8 | const assert = require('assert'); 9 | const Knex = require('knex'); 10 | const moment = require('moment'); 11 | const asyncHandler = require('express-async-handler'); 12 | const { JWT } = require('google-auth-library'); 13 | const { google } = require('googleapis'); 14 | 15 | 16 | google.options({ auth: new JWT( 17 | process.env.GOOGLE_SERVICE_ACCOUNT_EMAIL, 18 | null, 19 | process.env.GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEY, 20 | ['https://www.googleapis.com/auth/androidpublisher'], 21 | ) }); 22 | 23 | const androidGoogleApi = google.androidpublisher({ version: 'v3' }); 24 | 25 | 26 | const knex = Knex({ 27 | client: 'mysql', 28 | connection: { 29 | timezone: 'UTC', 30 | host: process.env.MYSQL_HOST, 31 | port: process.env.MYSQL_PORT, 32 | user: process.env.MYSQL_USERNAME, 33 | password: process.env.MYSQL_PASSWORD, 34 | database: process.env.MYSQL_DB_NAME, 35 | charset: 'utf8mb4', 36 | }, 37 | }); 38 | 39 | async function getActiveSubscriptions() { 40 | return knex('subscriptions') 41 | .where('end_date', '>=', new Date()) 42 | .where('fake', false) 43 | .select(['id', 'latest_receipt', 'user_id', 'app']); 44 | } 45 | 46 | async function updateSubscription({ 47 | app, environment, origTxId, userId, validationResponse, latestReceipt, startDate, endDate, productId, isCancelled, 48 | }) { 49 | const data = { 50 | app, 51 | environment, 52 | user_id: userId, 53 | orig_tx_id: origTxId, 54 | validation_response: JSON.stringify(validationResponse), 55 | latest_receipt: latestReceipt, 56 | start_date: startDate, 57 | end_date: endDate, 58 | product_id: productId, 59 | is_cancelled: isCancelled, 60 | }; 61 | 62 | try { 63 | await knex('subscriptions').insert(data); 64 | } catch (err) { 65 | if (err.code !== 'ER_DUP_ENTRY') throw err; 66 | 67 | await knex('subscriptions').where('orig_tx_id', origTxId).update(data); 68 | } 69 | } 70 | 71 | async function getUserSubscription(userId, appType) { 72 | if (!appType) return undefined; 73 | 74 | const row = await knex('subscriptions') 75 | .where({ user_id: userId, app: appType }) 76 | .select(['start_date', 'end_date', 'product_id', 'is_cancelled']) 77 | .orderBy('start_date', 'desc') 78 | .first(); 79 | 80 | if (!row) return undefined; 81 | 82 | return { 83 | startDate: row.start_date, 84 | endDate: row.end_date, 85 | productId: row.product_id, 86 | isCancelled: !!row.is_cancelled, 87 | type: 'iap', 88 | }; 89 | } 90 | 91 | 92 | async function processPurchase(app, userId, receipt) { 93 | await iap.setup(); 94 | const validationResponse = await iap.validate(receipt); 95 | 96 | // Sanity check 97 | assert((app === 'android' && validationResponse.service === 'google') 98 | || (app === 'ios' && validationResponse.service === 'apple')); 99 | 100 | const purchaseData = iap.getPurchaseData(validationResponse); 101 | const firstPurchaseItem = purchaseData[0]; 102 | 103 | const isCancelled = iap.isCanceled(firstPurchaseItem); 104 | // const isExpired = iap.isExpired(firstPurchaseItem); 105 | const { productId } = firstPurchaseItem; 106 | const origTxId = app === 'ios' ? firstPurchaseItem.originalTransactionId : firstPurchaseItem.transactionId; 107 | const latestReceipt = app === 'ios' ? validationResponse.latest_receipt : JSON.stringify(receipt); 108 | const startDate = app === 'ios' ? new Date(firstPurchaseItem.originalPurchaseDateMs) : new Date(parseInt(firstPurchaseItem.startTimeMillis, 10)); 109 | const endDate = app === 'ios' ? new Date(firstPurchaseItem.expiresDateMs) : new Date(parseInt(firstPurchaseItem.expiryTimeMillis, 10)); 110 | 111 | let environment = ''; 112 | // validationResponse contains sandbox: true/false for Apple and Amazon 113 | // Android we don't know if it was a sandbox account 114 | if (app === 'ios') { 115 | environment = validationResponse.sandbox ? 'sandbox' : 'production'; 116 | } 117 | 118 | await updateSubscription({ 119 | userId, 120 | app, 121 | environment, 122 | productId, 123 | origTxId, 124 | latestReceipt, 125 | validationResponse, 126 | startDate, 127 | endDate, 128 | isCancelled, 129 | }); 130 | 131 | // From https://developer.android.com/google/play/billing/billing_library_overview: 132 | // You must acknowledge all purchases within three days. 133 | // Failure to properly acknowledge purchases results in those purchases being refunded. 134 | if (app === 'android' && validationResponse.acknowledgementState === 0) { 135 | await androidGoogleApi.purchases.subscriptions.acknowledge({ 136 | packageName: androidPackageName, 137 | subscriptionId: productId, 138 | token: receipt.purchaseToken, 139 | }); 140 | } 141 | } 142 | 143 | async function validateAllSubscriptions() { 144 | const subscriptions = await getActiveSubscriptions(); 145 | for (const subscription of subscriptions) { 146 | try { 147 | if (subscription.app === 'ios') { 148 | await processPurchase(subscription.app, subscription.user_id, subscription.latest_receipt); 149 | } else { 150 | await processPurchase(subscription.app, subscription.user_id, JSON.parse(subscription.latest_receipt)); 151 | } 152 | } catch (err) { 153 | console.error('Failed to validate subscription', subscription.id); 154 | } 155 | } 156 | } 157 | 158 | function checkIfHasSubscription(subscription) { 159 | if (!subscription) return false; 160 | if (subscription.isCancelled) return false; 161 | const nowMs = new Date().getTime(); 162 | return moment(subscription.startDate).valueOf() <= nowMs 163 | && moment(subscription.endDate).valueOf() >= nowMs; // TODO grace period? 164 | } 165 | 166 | 167 | const iapTestMode = process.env.IAP_TEST_MODE === 'true'; 168 | const androidPackageName = process.env.ANDROID_PACKAGE_NAME; 169 | 170 | // https://www.appypie.com/faqs/how-can-i-get-shared-secret-key-for-in-app-purchase 171 | iap.config({ 172 | // If you want to exclude old transaction, set this to true. Default is false: 173 | appleExcludeOldTransactions: true, 174 | // this comes from iTunes Connect (You need this to valiate subscriptions): 175 | applePassword: process.env.APPLE_SHARED_SECRET, 176 | 177 | googleServiceAccount: { 178 | clientEmail: process.env.GOOGLE_SERVICE_ACCOUNT_EMAIL, 179 | privateKey: process.env.GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEY, 180 | }, 181 | 182 | /* Configurations all platforms */ 183 | test: iapTestMode, // For Apple and Google Play to force Sandbox validation only 184 | // verbose: true, // Output debug logs to stdout stream 185 | }); 186 | 187 | 188 | const app = express(); 189 | const server = http.Server(app); 190 | 191 | app.use((req, res, next) => { 192 | // TODO Your auth middleware 193 | req.userId = 123; 194 | next(); 195 | }); 196 | 197 | server.listen(8080); 198 | 199 | app.post('/iap/save-receipt', asyncHandler(async (req, res) => { 200 | const { userId } = req; 201 | const { appType, purchase } = req.body; 202 | 203 | assert(['ios', 'android'].includes(appType)); 204 | 205 | const receipt = appType === 'ios' ? purchase.transactionReceipt : { 206 | packageName: androidPackageName, 207 | productId: purchase.productId, 208 | purchaseToken: purchase.purchaseToken, 209 | subscription: true, 210 | }; 211 | 212 | await processPurchase(appType, userId, receipt); 213 | res.end(); 214 | })); 215 | 216 | app.get('/iap/user-subscription/:appType', asyncHandler(async (req, res) => { 217 | const { userId } = req; 218 | const { appType } = req.params; 219 | 220 | const subscription = await getUserSubscription(userId, appType); 221 | res.send({ 222 | subscription, 223 | hasSubscription: checkIfHasSubscription(subscription), 224 | }) 225 | res.end(); 226 | })); 227 | 228 | 229 | setInterval(validateAllSubscriptions, 24 * 60 * 60 * 1000); 230 | -------------------------------------------------------------------------------- /in-app-subscription-backend-example/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | abort-controller@^3.0.0: 6 | version "3.0.0" 7 | resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" 8 | integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== 9 | dependencies: 10 | event-target-shim "^5.0.0" 11 | 12 | accepts@~1.3.8: 13 | version "1.3.8" 14 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" 15 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== 16 | dependencies: 17 | mime-types "~2.1.34" 18 | negotiator "0.6.3" 19 | 20 | agent-base@^4.3.0: 21 | version "4.3.0" 22 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" 23 | integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== 24 | dependencies: 25 | es6-promisify "^5.0.0" 26 | 27 | ajv@^6.5.5: 28 | version "6.12.6" 29 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 30 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 31 | dependencies: 32 | fast-deep-equal "^3.1.1" 33 | fast-json-stable-stringify "^2.0.0" 34 | json-schema-traverse "^0.4.1" 35 | uri-js "^4.2.2" 36 | 37 | arr-diff@^4.0.0: 38 | version "4.0.0" 39 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 40 | integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= 41 | 42 | arr-flatten@^1.1.0: 43 | version "1.1.0" 44 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 45 | integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== 46 | 47 | arr-union@^3.1.0: 48 | version "3.1.0" 49 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 50 | integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= 51 | 52 | array-each@^1.0.1: 53 | version "1.0.1" 54 | resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" 55 | integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= 56 | 57 | array-flatten@1.1.1: 58 | version "1.1.1" 59 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 60 | integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= 61 | 62 | array-slice@^1.0.0: 63 | version "1.1.0" 64 | resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" 65 | integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== 66 | 67 | array-unique@^0.3.2: 68 | version "0.3.2" 69 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 70 | integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= 71 | 72 | arrify@^2.0.0: 73 | version "2.0.1" 74 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" 75 | integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== 76 | 77 | asn1@~0.2.3: 78 | version "0.2.4" 79 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 80 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== 81 | dependencies: 82 | safer-buffer "~2.1.0" 83 | 84 | assert-plus@1.0.0, assert-plus@^1.0.0: 85 | version "1.0.0" 86 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 87 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 88 | 89 | assign-symbols@^1.0.0: 90 | version "1.0.0" 91 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 92 | integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= 93 | 94 | asynckit@^0.4.0: 95 | version "0.4.0" 96 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 97 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 98 | 99 | atob@^2.1.1: 100 | version "2.1.2" 101 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 102 | integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== 103 | 104 | aws-sign2@~0.7.0: 105 | version "0.7.0" 106 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 107 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 108 | 109 | aws4@^1.8.0: 110 | version "1.8.0" 111 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" 112 | integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== 113 | 114 | base64-js@^1.3.0: 115 | version "1.3.1" 116 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" 117 | integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== 118 | 119 | base@^0.11.1: 120 | version "0.11.2" 121 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 122 | integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== 123 | dependencies: 124 | cache-base "^1.0.1" 125 | class-utils "^0.3.5" 126 | component-emitter "^1.2.1" 127 | define-property "^1.0.0" 128 | isobject "^3.0.1" 129 | mixin-deep "^1.2.0" 130 | pascalcase "^0.1.1" 131 | 132 | bcrypt-pbkdf@^1.0.0: 133 | version "1.0.2" 134 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 135 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 136 | dependencies: 137 | tweetnacl "^0.14.3" 138 | 139 | bignumber.js@7.2.1, bignumber.js@^7.0.0: 140 | version "7.2.1" 141 | resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f" 142 | integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ== 143 | 144 | bluebird@^3.7.0: 145 | version "3.7.1" 146 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" 147 | integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== 148 | 149 | body-parser@1.19.2: 150 | version "1.19.2" 151 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" 152 | integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== 153 | dependencies: 154 | bytes "3.1.2" 155 | content-type "~1.0.4" 156 | debug "2.6.9" 157 | depd "~1.1.2" 158 | http-errors "1.8.1" 159 | iconv-lite "0.4.24" 160 | on-finished "~2.3.0" 161 | qs "6.9.7" 162 | raw-body "2.4.3" 163 | type-is "~1.6.18" 164 | 165 | braces@^2.3.1: 166 | version "2.3.2" 167 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 168 | integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== 169 | dependencies: 170 | arr-flatten "^1.1.0" 171 | array-unique "^0.3.2" 172 | extend-shallow "^2.0.1" 173 | fill-range "^4.0.0" 174 | isobject "^3.0.1" 175 | repeat-element "^1.1.2" 176 | snapdragon "^0.8.1" 177 | snapdragon-node "^2.0.1" 178 | split-string "^3.0.2" 179 | to-regex "^3.0.1" 180 | 181 | buffer-equal-constant-time@1.0.1: 182 | version "1.0.1" 183 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 184 | integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= 185 | 186 | bytes@3.1.2: 187 | version "3.1.2" 188 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" 189 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 190 | 191 | cache-base@^1.0.1: 192 | version "1.0.1" 193 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 194 | integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== 195 | dependencies: 196 | collection-visit "^1.0.0" 197 | component-emitter "^1.2.1" 198 | get-value "^2.0.6" 199 | has-value "^1.0.0" 200 | isobject "^3.0.1" 201 | set-value "^2.0.0" 202 | to-object-path "^0.3.0" 203 | union-value "^1.0.0" 204 | unset-value "^1.0.0" 205 | 206 | caseless@~0.12.0: 207 | version "0.12.0" 208 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 209 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 210 | 211 | class-utils@^0.3.5: 212 | version "0.3.6" 213 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 214 | integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== 215 | dependencies: 216 | arr-union "^3.1.0" 217 | define-property "^0.2.5" 218 | isobject "^3.0.0" 219 | static-extend "^0.1.1" 220 | 221 | collection-visit@^1.0.0: 222 | version "1.0.0" 223 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 224 | integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= 225 | dependencies: 226 | map-visit "^1.0.0" 227 | object-visit "^1.0.0" 228 | 229 | colorette@1.1.0: 230 | version "1.1.0" 231 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.1.0.tgz#1f943e5a357fac10b4e0f5aaef3b14cdc1af6ec7" 232 | integrity sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg== 233 | 234 | combined-stream@^1.0.6, combined-stream@~1.0.6: 235 | version "1.0.8" 236 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 237 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 238 | dependencies: 239 | delayed-stream "~1.0.0" 240 | 241 | commander@^3.0.2: 242 | version "3.0.2" 243 | resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" 244 | integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== 245 | 246 | component-emitter@^1.2.1: 247 | version "1.3.0" 248 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" 249 | integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== 250 | 251 | content-disposition@0.5.4: 252 | version "0.5.4" 253 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" 254 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== 255 | dependencies: 256 | safe-buffer "5.2.1" 257 | 258 | content-type@~1.0.4: 259 | version "1.0.4" 260 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 261 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 262 | 263 | cookie-signature@1.0.6: 264 | version "1.0.6" 265 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 266 | integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= 267 | 268 | cookie@0.4.2: 269 | version "0.4.2" 270 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" 271 | integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== 272 | 273 | copy-descriptor@^0.1.0: 274 | version "0.1.1" 275 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 276 | integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= 277 | 278 | core-util-is@1.0.2, core-util-is@~1.0.0: 279 | version "1.0.2" 280 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 281 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 282 | 283 | dashdash@^1.12.0: 284 | version "1.14.1" 285 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 286 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 287 | dependencies: 288 | assert-plus "^1.0.0" 289 | 290 | debug@2.6.9, debug@^2.2.0, debug@^2.3.3: 291 | version "2.6.9" 292 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 293 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 294 | dependencies: 295 | ms "2.0.0" 296 | 297 | debug@4.1.1: 298 | version "4.1.1" 299 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 300 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 301 | dependencies: 302 | ms "^2.1.1" 303 | 304 | debug@^3.1.0: 305 | version "3.2.6" 306 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 307 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 308 | dependencies: 309 | ms "^2.1.1" 310 | 311 | decode-uri-component@^0.2.0: 312 | version "0.2.2" 313 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" 314 | integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== 315 | 316 | define-property@^0.2.5: 317 | version "0.2.5" 318 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 319 | integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= 320 | dependencies: 321 | is-descriptor "^0.1.0" 322 | 323 | define-property@^1.0.0: 324 | version "1.0.0" 325 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 326 | integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= 327 | dependencies: 328 | is-descriptor "^1.0.0" 329 | 330 | define-property@^2.0.2: 331 | version "2.0.2" 332 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 333 | integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== 334 | dependencies: 335 | is-descriptor "^1.0.2" 336 | isobject "^3.0.1" 337 | 338 | delayed-stream@~1.0.0: 339 | version "1.0.0" 340 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 341 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 342 | 343 | depd@~1.1.2: 344 | version "1.1.2" 345 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 346 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 347 | 348 | destroy@~1.0.4: 349 | version "1.0.4" 350 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 351 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 352 | 353 | detect-file@^1.0.0: 354 | version "1.0.0" 355 | resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" 356 | integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= 357 | 358 | dotenv@^8.1.0: 359 | version "8.1.0" 360 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.1.0.tgz#d811e178652bfb8a1e593c6dd704ec7e90d85ea2" 361 | integrity sha512-GUE3gqcDCaMltj2++g6bRQ5rBJWtkWTmqmD0fo1RnnMuUqHNCt2oTPeDnS9n6fKYvlhn7AeBkb38lymBtWBQdA== 362 | 363 | ecc-jsbn@~0.1.1: 364 | version "0.1.2" 365 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 366 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 367 | dependencies: 368 | jsbn "~0.1.0" 369 | safer-buffer "^2.1.0" 370 | 371 | ecdsa-sig-formatter@1.0.11: 372 | version "1.0.11" 373 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" 374 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== 375 | dependencies: 376 | safe-buffer "^5.0.1" 377 | 378 | ee-first@1.1.1: 379 | version "1.1.1" 380 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 381 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 382 | 383 | encodeurl@~1.0.2: 384 | version "1.0.2" 385 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 386 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 387 | 388 | es6-promise@^4.0.3: 389 | version "4.2.8" 390 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" 391 | integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== 392 | 393 | es6-promisify@^5.0.0: 394 | version "5.0.0" 395 | resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" 396 | integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= 397 | dependencies: 398 | es6-promise "^4.0.3" 399 | 400 | escape-html@~1.0.3: 401 | version "1.0.3" 402 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 403 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 404 | 405 | etag@~1.8.1: 406 | version "1.8.1" 407 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 408 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 409 | 410 | event-target-shim@^5.0.0: 411 | version "5.0.1" 412 | resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" 413 | integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== 414 | 415 | expand-brackets@^2.1.4: 416 | version "2.1.4" 417 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 418 | integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= 419 | dependencies: 420 | debug "^2.3.3" 421 | define-property "^0.2.5" 422 | extend-shallow "^2.0.1" 423 | posix-character-classes "^0.1.0" 424 | regex-not "^1.0.0" 425 | snapdragon "^0.8.1" 426 | to-regex "^3.0.1" 427 | 428 | expand-tilde@^2.0.0, expand-tilde@^2.0.2: 429 | version "2.0.2" 430 | resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" 431 | integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= 432 | dependencies: 433 | homedir-polyfill "^1.0.1" 434 | 435 | express-async-handler@^1.1.4: 436 | version "1.1.4" 437 | resolved "https://registry.yarnpkg.com/express-async-handler/-/express-async-handler-1.1.4.tgz#225a84908df63b35ae9df94b6f0f1af061266426" 438 | integrity sha512-HdmbVF4V4w1q/iz++RV7bUxIeepTukWewiJGkoCKQMtvPF11MLTa7It9PRc/reysXXZSEyD4Pthchju+IUbMiQ== 439 | 440 | express@^4.17.3: 441 | version "4.17.3" 442 | resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" 443 | integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== 444 | dependencies: 445 | accepts "~1.3.8" 446 | array-flatten "1.1.1" 447 | body-parser "1.19.2" 448 | content-disposition "0.5.4" 449 | content-type "~1.0.4" 450 | cookie "0.4.2" 451 | cookie-signature "1.0.6" 452 | debug "2.6.9" 453 | depd "~1.1.2" 454 | encodeurl "~1.0.2" 455 | escape-html "~1.0.3" 456 | etag "~1.8.1" 457 | finalhandler "~1.1.2" 458 | fresh "0.5.2" 459 | merge-descriptors "1.0.1" 460 | methods "~1.1.2" 461 | on-finished "~2.3.0" 462 | parseurl "~1.3.3" 463 | path-to-regexp "0.1.7" 464 | proxy-addr "~2.0.7" 465 | qs "6.9.7" 466 | range-parser "~1.2.1" 467 | safe-buffer "5.2.1" 468 | send "0.17.2" 469 | serve-static "1.14.2" 470 | setprototypeof "1.2.0" 471 | statuses "~1.5.0" 472 | type-is "~1.6.18" 473 | utils-merge "1.0.1" 474 | vary "~1.1.2" 475 | 476 | extend-shallow@^2.0.1: 477 | version "2.0.1" 478 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 479 | integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= 480 | dependencies: 481 | is-extendable "^0.1.0" 482 | 483 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 484 | version "3.0.2" 485 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 486 | integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= 487 | dependencies: 488 | assign-symbols "^1.0.0" 489 | is-extendable "^1.0.1" 490 | 491 | extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: 492 | version "3.0.2" 493 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 494 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 495 | 496 | extglob@^2.0.4: 497 | version "2.0.4" 498 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 499 | integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== 500 | dependencies: 501 | array-unique "^0.3.2" 502 | define-property "^1.0.0" 503 | expand-brackets "^2.1.4" 504 | extend-shallow "^2.0.1" 505 | fragment-cache "^0.2.1" 506 | regex-not "^1.0.0" 507 | snapdragon "^0.8.1" 508 | to-regex "^3.0.1" 509 | 510 | extsprintf@1.3.0: 511 | version "1.3.0" 512 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 513 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 514 | 515 | extsprintf@^1.2.0: 516 | version "1.4.0" 517 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 518 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 519 | 520 | fast-deep-equal@^3.1.1: 521 | version "3.1.3" 522 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 523 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 524 | 525 | fast-json-stable-stringify@^2.0.0: 526 | version "2.1.0" 527 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 528 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 529 | 530 | fast-text-encoding@^1.0.0: 531 | version "1.0.0" 532 | resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.0.tgz#3e5ce8293409cfaa7177a71b9ca84e1b1e6f25ef" 533 | integrity sha512-R9bHCvweUxxwkDwhjav5vxpFvdPGlVngtqmx4pIZfSUhM/Q4NiIUHB456BAf+Q1Nwu3HEZYONtu+Rya+af4jiQ== 534 | 535 | fill-range@^4.0.0: 536 | version "4.0.0" 537 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 538 | integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= 539 | dependencies: 540 | extend-shallow "^2.0.1" 541 | is-number "^3.0.0" 542 | repeat-string "^1.6.1" 543 | to-regex-range "^2.1.0" 544 | 545 | finalhandler@~1.1.2: 546 | version "1.1.2" 547 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" 548 | integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== 549 | dependencies: 550 | debug "2.6.9" 551 | encodeurl "~1.0.2" 552 | escape-html "~1.0.3" 553 | on-finished "~2.3.0" 554 | parseurl "~1.3.3" 555 | statuses "~1.5.0" 556 | unpipe "~1.0.0" 557 | 558 | findup-sync@^3.0.0: 559 | version "3.0.0" 560 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" 561 | integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== 562 | dependencies: 563 | detect-file "^1.0.0" 564 | is-glob "^4.0.0" 565 | micromatch "^3.0.4" 566 | resolve-dir "^1.0.1" 567 | 568 | fined@^1.0.1: 569 | version "1.2.0" 570 | resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" 571 | integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== 572 | dependencies: 573 | expand-tilde "^2.0.2" 574 | is-plain-object "^2.0.3" 575 | object.defaults "^1.1.0" 576 | object.pick "^1.2.0" 577 | parse-filepath "^1.0.1" 578 | 579 | flagged-respawn@^1.0.0: 580 | version "1.0.1" 581 | resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" 582 | integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== 583 | 584 | for-in@^1.0.1, for-in@^1.0.2: 585 | version "1.0.2" 586 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 587 | integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= 588 | 589 | for-own@^1.0.0: 590 | version "1.0.0" 591 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" 592 | integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= 593 | dependencies: 594 | for-in "^1.0.1" 595 | 596 | forever-agent@~0.6.1: 597 | version "0.6.1" 598 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 599 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 600 | 601 | form-data@~2.3.2: 602 | version "2.3.3" 603 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 604 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 605 | dependencies: 606 | asynckit "^0.4.0" 607 | combined-stream "^1.0.6" 608 | mime-types "^2.1.12" 609 | 610 | forwarded@0.2.0: 611 | version "0.2.0" 612 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 613 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== 614 | 615 | fragment-cache@^0.2.1: 616 | version "0.2.1" 617 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 618 | integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= 619 | dependencies: 620 | map-cache "^0.2.2" 621 | 622 | fresh@0.5.2: 623 | version "0.5.2" 624 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 625 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 626 | 627 | gaxios@^2.0.0, gaxios@^2.0.1: 628 | version "2.0.1" 629 | resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-2.0.1.tgz#2ca1c9eb64c525d852048721316c138dddf40708" 630 | integrity sha512-c1NXovTxkgRJTIgB2FrFmOFg4YIV6N/bAa4f/FZ4jIw13Ql9ya/82x69CswvotJhbV3DiGnlTZwoq2NVXk2Irg== 631 | dependencies: 632 | abort-controller "^3.0.0" 633 | extend "^3.0.2" 634 | https-proxy-agent "^2.2.1" 635 | node-fetch "^2.3.0" 636 | 637 | gcp-metadata@^3.0.0: 638 | version "3.0.0" 639 | resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-3.0.0.tgz#6e43f899728d0e1bb7831631cf3f86cc9e4de3aa" 640 | integrity sha512-WP5/TZWri9TrD41jNr8ukY9dKYLL+8jwQVwbtUbmprjWuyybdnJNkbXbwqD2sdbXIVXD1WCqzfj7QftSLB6K8Q== 641 | dependencies: 642 | gaxios "^2.0.1" 643 | json-bigint "^0.3.0" 644 | 645 | get-value@^2.0.3, get-value@^2.0.6: 646 | version "2.0.6" 647 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 648 | integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= 649 | 650 | getopts@2.2.5: 651 | version "2.2.5" 652 | resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" 653 | integrity sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA== 654 | 655 | getpass@^0.1.1: 656 | version "0.1.7" 657 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 658 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 659 | dependencies: 660 | assert-plus "^1.0.0" 661 | 662 | global-modules@^1.0.0: 663 | version "1.0.0" 664 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" 665 | integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== 666 | dependencies: 667 | global-prefix "^1.0.1" 668 | is-windows "^1.0.1" 669 | resolve-dir "^1.0.0" 670 | 671 | global-prefix@^1.0.1: 672 | version "1.0.2" 673 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" 674 | integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= 675 | dependencies: 676 | expand-tilde "^2.0.2" 677 | homedir-polyfill "^1.0.1" 678 | ini "^1.3.4" 679 | is-windows "^1.0.1" 680 | which "^1.2.14" 681 | 682 | google-auth-library@^5.2.0, google-auth-library@^5.3.0: 683 | version "5.3.0" 684 | resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-5.3.0.tgz#565a5e9fe6ed703203c1f978da20c88ae5f7baa2" 685 | integrity sha512-DnwwP18H6RVtvtmDjmPLipKyx8NsXTQNZcNYud+ueOYaWSVxXeaSFBiBxABb93S3Ae41R60SnaSc19rljeoAxQ== 686 | dependencies: 687 | arrify "^2.0.0" 688 | base64-js "^1.3.0" 689 | fast-text-encoding "^1.0.0" 690 | gaxios "^2.0.0" 691 | gcp-metadata "^3.0.0" 692 | gtoken "^4.1.0" 693 | jws "^3.1.5" 694 | lru-cache "^5.0.0" 695 | 696 | google-p12-pem@^2.0.0: 697 | version "2.0.2" 698 | resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-2.0.2.tgz#39cae8f6fcbe66a01f00be4ddf2d56b95926fa7b" 699 | integrity sha512-UfnEARfJKI6pbmC1hfFFm+UAcZxeIwTiEcHfqKe/drMsXD/ilnVjF7zgOGpHXyhuvX6jNJK3S8A0hOQjwtFxEw== 700 | dependencies: 701 | node-forge "^0.9.0" 702 | 703 | googleapis-common@^3.1.0: 704 | version "3.1.0" 705 | resolved "https://registry.yarnpkg.com/googleapis-common/-/googleapis-common-3.1.0.tgz#592dbf4e1fa543090b2671a524dcdb09184ec15c" 706 | integrity sha512-abnogPoWqv0cU6O/EFpkerCVsaUsKEG6XpCm4P1YgK44PxIRcGtalDwijqUErkcivM1Xy5MNyf1PDkKTLEjOZA== 707 | dependencies: 708 | extend "^3.0.2" 709 | gaxios "^2.0.1" 710 | google-auth-library "^5.2.0" 711 | qs "^6.7.0" 712 | url-template "^2.0.8" 713 | uuid "^3.3.2" 714 | 715 | googleapis@^43.0.0: 716 | version "43.0.0" 717 | resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-43.0.0.tgz#fcb1408fd1bd3f74eb9c4ca2b14ac7765ee0e50e" 718 | integrity sha512-4b38mlTdDCA3KiyRTQmfPpeTxznC5ufgqx3AvKaEIoVm+iWeVLfwYs++/+OcGJJriH9bcs0gPbU7CR8DU6Oevg== 719 | dependencies: 720 | google-auth-library "^5.2.0" 721 | googleapis-common "^3.1.0" 722 | 723 | gtoken@^4.1.0: 724 | version "4.1.0" 725 | resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-4.1.0.tgz#0b315dd1a925e3ad3c82db1eb5b9e89bae875ba8" 726 | integrity sha512-wqyn2gf5buzEZN4QNmmiiW2i2JkEdZnL7Z/9p44RtZqgt4077m4khRgAYNuu8cBwHWCc6MsP6eDUn/KkF6jFIw== 727 | dependencies: 728 | gaxios "^2.0.0" 729 | google-p12-pem "^2.0.0" 730 | jws "^3.1.5" 731 | mime "^2.2.0" 732 | 733 | har-schema@^2.0.0: 734 | version "2.0.0" 735 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 736 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 737 | 738 | har-validator@~5.1.0: 739 | version "5.1.3" 740 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 741 | integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== 742 | dependencies: 743 | ajv "^6.5.5" 744 | har-schema "^2.0.0" 745 | 746 | has-value@^0.3.1: 747 | version "0.3.1" 748 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 749 | integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= 750 | dependencies: 751 | get-value "^2.0.3" 752 | has-values "^0.1.4" 753 | isobject "^2.0.0" 754 | 755 | has-value@^1.0.0: 756 | version "1.0.0" 757 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 758 | integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= 759 | dependencies: 760 | get-value "^2.0.6" 761 | has-values "^1.0.0" 762 | isobject "^3.0.0" 763 | 764 | has-values@^0.1.4: 765 | version "0.1.4" 766 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 767 | integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= 768 | 769 | has-values@^1.0.0: 770 | version "1.0.0" 771 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 772 | integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= 773 | dependencies: 774 | is-number "^3.0.0" 775 | kind-of "^4.0.0" 776 | 777 | homedir-polyfill@^1.0.1: 778 | version "1.0.3" 779 | resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" 780 | integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== 781 | dependencies: 782 | parse-passwd "^1.0.0" 783 | 784 | http-errors@1.8.1: 785 | version "1.8.1" 786 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" 787 | integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== 788 | dependencies: 789 | depd "~1.1.2" 790 | inherits "2.0.4" 791 | setprototypeof "1.2.0" 792 | statuses ">= 1.5.0 < 2" 793 | toidentifier "1.0.1" 794 | 795 | http-signature@~1.2.0: 796 | version "1.2.0" 797 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 798 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 799 | dependencies: 800 | assert-plus "^1.0.0" 801 | jsprim "^1.2.2" 802 | sshpk "^1.7.0" 803 | 804 | https-proxy-agent@^2.2.1: 805 | version "2.2.4" 806 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" 807 | integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== 808 | dependencies: 809 | agent-base "^4.3.0" 810 | debug "^3.1.0" 811 | 812 | iconv-lite@0.4.24: 813 | version "0.4.24" 814 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 815 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 816 | dependencies: 817 | safer-buffer ">= 2.1.2 < 3" 818 | 819 | in-app-purchase@^1.11.4: 820 | version "1.11.4" 821 | resolved "https://registry.yarnpkg.com/in-app-purchase/-/in-app-purchase-1.11.4.tgz#c3396a48765f0264360578f2024ba2d65de4e319" 822 | integrity sha512-V9u1qT904J1zHhIDMZ0AETRQdSvJSp/zWPfc/ZTVEi5n2lbgB5d60iYYCMaAB5ULnuZ/GcRubYcOkqdwQ+LYoA== 823 | dependencies: 824 | jwt-simple "^0.5.6" 825 | request "2.88.0" 826 | xml-crypto "0.10.1" 827 | xmldom "0.1.19" 828 | 829 | inherits@2.0.4, inherits@~2.0.3, inherits@~2.0.4: 830 | version "2.0.4" 831 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 832 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 833 | 834 | ini@^1.3.4: 835 | version "1.3.8" 836 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" 837 | integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 838 | 839 | interpret@^1.2.0: 840 | version "1.2.0" 841 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" 842 | integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== 843 | 844 | ipaddr.js@1.9.1: 845 | version "1.9.1" 846 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 847 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 848 | 849 | is-absolute@^1.0.0: 850 | version "1.0.0" 851 | resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" 852 | integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== 853 | dependencies: 854 | is-relative "^1.0.0" 855 | is-windows "^1.0.1" 856 | 857 | is-accessor-descriptor@^0.1.6: 858 | version "0.1.6" 859 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 860 | integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= 861 | dependencies: 862 | kind-of "^3.0.2" 863 | 864 | is-accessor-descriptor@^1.0.0: 865 | version "1.0.0" 866 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 867 | integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== 868 | dependencies: 869 | kind-of "^6.0.0" 870 | 871 | is-buffer@^1.1.5: 872 | version "1.1.6" 873 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 874 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 875 | 876 | is-data-descriptor@^0.1.4: 877 | version "0.1.4" 878 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 879 | integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= 880 | dependencies: 881 | kind-of "^3.0.2" 882 | 883 | is-data-descriptor@^1.0.0: 884 | version "1.0.0" 885 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 886 | integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== 887 | dependencies: 888 | kind-of "^6.0.0" 889 | 890 | is-descriptor@^0.1.0: 891 | version "0.1.6" 892 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 893 | integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== 894 | dependencies: 895 | is-accessor-descriptor "^0.1.6" 896 | is-data-descriptor "^0.1.4" 897 | kind-of "^5.0.0" 898 | 899 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 900 | version "1.0.2" 901 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 902 | integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== 903 | dependencies: 904 | is-accessor-descriptor "^1.0.0" 905 | is-data-descriptor "^1.0.0" 906 | kind-of "^6.0.2" 907 | 908 | is-extendable@^0.1.0, is-extendable@^0.1.1: 909 | version "0.1.1" 910 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 911 | integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= 912 | 913 | is-extendable@^1.0.1: 914 | version "1.0.1" 915 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 916 | integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== 917 | dependencies: 918 | is-plain-object "^2.0.4" 919 | 920 | is-extglob@^2.1.1: 921 | version "2.1.1" 922 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 923 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 924 | 925 | is-glob@^4.0.0: 926 | version "4.0.1" 927 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 928 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 929 | dependencies: 930 | is-extglob "^2.1.1" 931 | 932 | is-number@^3.0.0: 933 | version "3.0.0" 934 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 935 | integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= 936 | dependencies: 937 | kind-of "^3.0.2" 938 | 939 | is-plain-object@^2.0.3, is-plain-object@^2.0.4: 940 | version "2.0.4" 941 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 942 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 943 | dependencies: 944 | isobject "^3.0.1" 945 | 946 | is-relative@^1.0.0: 947 | version "1.0.0" 948 | resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" 949 | integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== 950 | dependencies: 951 | is-unc-path "^1.0.0" 952 | 953 | is-typedarray@~1.0.0: 954 | version "1.0.0" 955 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 956 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 957 | 958 | is-unc-path@^1.0.0: 959 | version "1.0.0" 960 | resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" 961 | integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== 962 | dependencies: 963 | unc-path-regex "^0.1.2" 964 | 965 | is-windows@^1.0.1, is-windows@^1.0.2: 966 | version "1.0.2" 967 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 968 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 969 | 970 | isarray@1.0.0, isarray@~1.0.0: 971 | version "1.0.0" 972 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 973 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 974 | 975 | isexe@^2.0.0: 976 | version "2.0.0" 977 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 978 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 979 | 980 | isobject@^2.0.0: 981 | version "2.1.0" 982 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 983 | integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= 984 | dependencies: 985 | isarray "1.0.0" 986 | 987 | isobject@^3.0.0, isobject@^3.0.1: 988 | version "3.0.1" 989 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 990 | integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 991 | 992 | isstream@~0.1.2: 993 | version "0.1.2" 994 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 995 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 996 | 997 | jsbn@~0.1.0: 998 | version "0.1.1" 999 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1000 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 1001 | 1002 | json-bigint@^0.3.0: 1003 | version "0.3.0" 1004 | resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-0.3.0.tgz#0ccd912c4b8270d05f056fbd13814b53d3825b1e" 1005 | integrity sha1-DM2RLEuCcNBfBW+9E4FLU9OCWx4= 1006 | dependencies: 1007 | bignumber.js "^7.0.0" 1008 | 1009 | json-schema-traverse@^0.4.1: 1010 | version "0.4.1" 1011 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1012 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1013 | 1014 | json-schema@0.2.3: 1015 | version "0.2.3" 1016 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1017 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 1018 | 1019 | json-stringify-safe@~5.0.1: 1020 | version "5.0.1" 1021 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1022 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 1023 | 1024 | jsprim@^1.2.2: 1025 | version "1.4.1" 1026 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 1027 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 1028 | dependencies: 1029 | assert-plus "1.0.0" 1030 | extsprintf "1.3.0" 1031 | json-schema "0.2.3" 1032 | verror "1.10.0" 1033 | 1034 | jwa@^1.4.1: 1035 | version "1.4.1" 1036 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" 1037 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== 1038 | dependencies: 1039 | buffer-equal-constant-time "1.0.1" 1040 | ecdsa-sig-formatter "1.0.11" 1041 | safe-buffer "^5.0.1" 1042 | 1043 | jws@^3.1.5: 1044 | version "3.2.2" 1045 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" 1046 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== 1047 | dependencies: 1048 | jwa "^1.4.1" 1049 | safe-buffer "^5.0.1" 1050 | 1051 | jwt-simple@^0.5.6: 1052 | version "0.5.6" 1053 | resolved "https://registry.yarnpkg.com/jwt-simple/-/jwt-simple-0.5.6.tgz#3357adec55b26547114157be66748995b75b333a" 1054 | integrity sha512-40aUybvhH9t2h71ncA1/1SbtTNCVZHgsTsTgqPUxGWDmUDrXyDf2wMNQKEbdBjbf4AI+fQhbECNTV6lWxQKUzg== 1055 | 1056 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 1057 | version "3.2.2" 1058 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1059 | integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= 1060 | dependencies: 1061 | is-buffer "^1.1.5" 1062 | 1063 | kind-of@^4.0.0: 1064 | version "4.0.0" 1065 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1066 | integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= 1067 | dependencies: 1068 | is-buffer "^1.1.5" 1069 | 1070 | kind-of@^5.0.0: 1071 | version "5.1.0" 1072 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 1073 | integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== 1074 | 1075 | kind-of@^6.0.0, kind-of@^6.0.2: 1076 | version "6.0.2" 1077 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 1078 | integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== 1079 | 1080 | knex@^0.19.5: 1081 | version "0.19.5" 1082 | resolved "https://registry.yarnpkg.com/knex/-/knex-0.19.5.tgz#3597ebecf88a5942f18c3e6d91af53bda59eeb5d" 1083 | integrity sha512-Hy258avCVircQq+oj3WBqPzl8jDIte438Qlq+8pt1i/TyLYVA4zPh2uKc7Bx0t+qOpa6D42HJ2jjtl2vagzilw== 1084 | dependencies: 1085 | bluebird "^3.7.0" 1086 | colorette "1.1.0" 1087 | commander "^3.0.2" 1088 | debug "4.1.1" 1089 | getopts "2.2.5" 1090 | inherits "~2.0.4" 1091 | interpret "^1.2.0" 1092 | liftoff "3.1.0" 1093 | lodash "^4.17.15" 1094 | mkdirp "^0.5.1" 1095 | pg-connection-string "2.1.0" 1096 | tarn "^2.0.0" 1097 | tildify "2.0.0" 1098 | uuid "^3.3.3" 1099 | v8flags "^3.1.3" 1100 | 1101 | liftoff@3.1.0: 1102 | version "3.1.0" 1103 | resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" 1104 | integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== 1105 | dependencies: 1106 | extend "^3.0.0" 1107 | findup-sync "^3.0.0" 1108 | fined "^1.0.1" 1109 | flagged-respawn "^1.0.0" 1110 | is-plain-object "^2.0.4" 1111 | object.map "^1.0.0" 1112 | rechoir "^0.6.2" 1113 | resolve "^1.1.7" 1114 | 1115 | lodash@^4.17.15: 1116 | version "4.17.21" 1117 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1118 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1119 | 1120 | lru-cache@^5.0.0: 1121 | version "5.1.1" 1122 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 1123 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 1124 | dependencies: 1125 | yallist "^3.0.2" 1126 | 1127 | make-iterator@^1.0.0: 1128 | version "1.0.1" 1129 | resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" 1130 | integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== 1131 | dependencies: 1132 | kind-of "^6.0.2" 1133 | 1134 | map-cache@^0.2.0, map-cache@^0.2.2: 1135 | version "0.2.2" 1136 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 1137 | integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= 1138 | 1139 | map-visit@^1.0.0: 1140 | version "1.0.0" 1141 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 1142 | integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= 1143 | dependencies: 1144 | object-visit "^1.0.0" 1145 | 1146 | media-typer@0.3.0: 1147 | version "0.3.0" 1148 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1149 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 1150 | 1151 | merge-descriptors@1.0.1: 1152 | version "1.0.1" 1153 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1154 | integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= 1155 | 1156 | methods@~1.1.2: 1157 | version "1.1.2" 1158 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1159 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= 1160 | 1161 | micromatch@^3.0.4: 1162 | version "3.1.10" 1163 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 1164 | integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== 1165 | dependencies: 1166 | arr-diff "^4.0.0" 1167 | array-unique "^0.3.2" 1168 | braces "^2.3.1" 1169 | define-property "^2.0.2" 1170 | extend-shallow "^3.0.2" 1171 | extglob "^2.0.4" 1172 | fragment-cache "^0.2.1" 1173 | kind-of "^6.0.2" 1174 | nanomatch "^1.2.9" 1175 | object.pick "^1.3.0" 1176 | regex-not "^1.0.0" 1177 | snapdragon "^0.8.1" 1178 | to-regex "^3.0.2" 1179 | 1180 | mime-db@1.40.0: 1181 | version "1.40.0" 1182 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" 1183 | integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== 1184 | 1185 | mime-db@1.52.0: 1186 | version "1.52.0" 1187 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1188 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1189 | 1190 | mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: 1191 | version "2.1.24" 1192 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" 1193 | integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== 1194 | dependencies: 1195 | mime-db "1.40.0" 1196 | 1197 | mime-types@~2.1.34: 1198 | version "2.1.35" 1199 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1200 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1201 | dependencies: 1202 | mime-db "1.52.0" 1203 | 1204 | mime@1.6.0: 1205 | version "1.6.0" 1206 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1207 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1208 | 1209 | mime@^2.2.0: 1210 | version "2.4.4" 1211 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" 1212 | integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== 1213 | 1214 | minimist@0.0.8: 1215 | version "0.0.8" 1216 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1217 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 1218 | 1219 | mixin-deep@^1.2.0: 1220 | version "1.3.2" 1221 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" 1222 | integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== 1223 | dependencies: 1224 | for-in "^1.0.2" 1225 | is-extendable "^1.0.1" 1226 | 1227 | mkdirp@^0.5.1: 1228 | version "0.5.1" 1229 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1230 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 1231 | dependencies: 1232 | minimist "0.0.8" 1233 | 1234 | moment@^2.29.4: 1235 | version "2.29.4" 1236 | resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" 1237 | integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== 1238 | 1239 | ms@2.0.0: 1240 | version "2.0.0" 1241 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1242 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1243 | 1244 | ms@2.1.3: 1245 | version "2.1.3" 1246 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1247 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1248 | 1249 | ms@^2.1.1: 1250 | version "2.1.2" 1251 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1252 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1253 | 1254 | mysql@^2.17.1: 1255 | version "2.17.1" 1256 | resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.17.1.tgz#62bba4a039a9b2f73638cd1652ce50fc6f682899" 1257 | integrity sha512-7vMqHQ673SAk5C8fOzTG2LpPcf3bNt0oL3sFpxPEEFp1mdlDcrLK0On7z8ZYKaaHrHwNcQ/MTUz7/oobZ2OyyA== 1258 | dependencies: 1259 | bignumber.js "7.2.1" 1260 | readable-stream "2.3.6" 1261 | safe-buffer "5.1.2" 1262 | sqlstring "2.3.1" 1263 | 1264 | nanomatch@^1.2.9: 1265 | version "1.2.13" 1266 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" 1267 | integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== 1268 | dependencies: 1269 | arr-diff "^4.0.0" 1270 | array-unique "^0.3.2" 1271 | define-property "^2.0.2" 1272 | extend-shallow "^3.0.2" 1273 | fragment-cache "^0.2.1" 1274 | is-windows "^1.0.2" 1275 | kind-of "^6.0.2" 1276 | object.pick "^1.3.0" 1277 | regex-not "^1.0.0" 1278 | snapdragon "^0.8.1" 1279 | to-regex "^3.0.1" 1280 | 1281 | negotiator@0.6.3: 1282 | version "0.6.3" 1283 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 1284 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 1285 | 1286 | node-fetch@^2.3.0: 1287 | version "2.6.7" 1288 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" 1289 | integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== 1290 | dependencies: 1291 | whatwg-url "^5.0.0" 1292 | 1293 | node-forge@^0.9.0: 1294 | version "0.9.1" 1295 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.1.tgz#775368e6846558ab6676858a4d8c6e8d16c677b5" 1296 | integrity sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ== 1297 | 1298 | oauth-sign@~0.9.0: 1299 | version "0.9.0" 1300 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 1301 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 1302 | 1303 | object-copy@^0.1.0: 1304 | version "0.1.0" 1305 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 1306 | integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= 1307 | dependencies: 1308 | copy-descriptor "^0.1.0" 1309 | define-property "^0.2.5" 1310 | kind-of "^3.0.3" 1311 | 1312 | object-visit@^1.0.0: 1313 | version "1.0.1" 1314 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 1315 | integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= 1316 | dependencies: 1317 | isobject "^3.0.0" 1318 | 1319 | object.defaults@^1.1.0: 1320 | version "1.1.0" 1321 | resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" 1322 | integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= 1323 | dependencies: 1324 | array-each "^1.0.1" 1325 | array-slice "^1.0.0" 1326 | for-own "^1.0.0" 1327 | isobject "^3.0.0" 1328 | 1329 | object.map@^1.0.0: 1330 | version "1.0.1" 1331 | resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" 1332 | integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= 1333 | dependencies: 1334 | for-own "^1.0.0" 1335 | make-iterator "^1.0.0" 1336 | 1337 | object.pick@^1.2.0, object.pick@^1.3.0: 1338 | version "1.3.0" 1339 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 1340 | integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= 1341 | dependencies: 1342 | isobject "^3.0.1" 1343 | 1344 | on-finished@~2.3.0: 1345 | version "2.3.0" 1346 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 1347 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 1348 | dependencies: 1349 | ee-first "1.1.1" 1350 | 1351 | parse-filepath@^1.0.1: 1352 | version "1.0.2" 1353 | resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" 1354 | integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= 1355 | dependencies: 1356 | is-absolute "^1.0.0" 1357 | map-cache "^0.2.0" 1358 | path-root "^0.1.1" 1359 | 1360 | parse-passwd@^1.0.0: 1361 | version "1.0.0" 1362 | resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" 1363 | integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= 1364 | 1365 | parseurl@~1.3.3: 1366 | version "1.3.3" 1367 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 1368 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 1369 | 1370 | pascalcase@^0.1.1: 1371 | version "0.1.1" 1372 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 1373 | integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= 1374 | 1375 | path-parse@^1.0.6: 1376 | version "1.0.7" 1377 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1378 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1379 | 1380 | path-root-regex@^0.1.0: 1381 | version "0.1.2" 1382 | resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" 1383 | integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= 1384 | 1385 | path-root@^0.1.1: 1386 | version "0.1.1" 1387 | resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" 1388 | integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= 1389 | dependencies: 1390 | path-root-regex "^0.1.0" 1391 | 1392 | path-to-regexp@0.1.7: 1393 | version "0.1.7" 1394 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 1395 | integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= 1396 | 1397 | performance-now@^2.1.0: 1398 | version "2.1.0" 1399 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 1400 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 1401 | 1402 | pg-connection-string@2.1.0: 1403 | version "2.1.0" 1404 | resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.1.0.tgz#e07258f280476540b24818ebb5dca29e101ca502" 1405 | integrity sha512-bhlV7Eq09JrRIvo1eKngpwuqKtJnNhZdpdOlvrPrA4dxqXPjxSrbNrfnIDmTpwMyRszrcV4kU5ZA4mMsQUrjdg== 1406 | 1407 | posix-character-classes@^0.1.0: 1408 | version "0.1.1" 1409 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 1410 | integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= 1411 | 1412 | process-nextick-args@~2.0.0: 1413 | version "2.0.1" 1414 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 1415 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1416 | 1417 | proxy-addr@~2.0.7: 1418 | version "2.0.7" 1419 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" 1420 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== 1421 | dependencies: 1422 | forwarded "0.2.0" 1423 | ipaddr.js "1.9.1" 1424 | 1425 | psl@^1.1.24: 1426 | version "1.4.0" 1427 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" 1428 | integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== 1429 | 1430 | punycode@^1.4.1: 1431 | version "1.4.1" 1432 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1433 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 1434 | 1435 | punycode@^2.1.0: 1436 | version "2.1.1" 1437 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1438 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1439 | 1440 | qs@6.9.7, qs@^6.7.0: 1441 | version "6.9.7" 1442 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" 1443 | integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== 1444 | 1445 | qs@~6.5.2: 1446 | version "6.5.3" 1447 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" 1448 | integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== 1449 | 1450 | range-parser@~1.2.1: 1451 | version "1.2.1" 1452 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 1453 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 1454 | 1455 | raw-body@2.4.3: 1456 | version "2.4.3" 1457 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" 1458 | integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== 1459 | dependencies: 1460 | bytes "3.1.2" 1461 | http-errors "1.8.1" 1462 | iconv-lite "0.4.24" 1463 | unpipe "1.0.0" 1464 | 1465 | readable-stream@2.3.6: 1466 | version "2.3.6" 1467 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 1468 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 1469 | dependencies: 1470 | core-util-is "~1.0.0" 1471 | inherits "~2.0.3" 1472 | isarray "~1.0.0" 1473 | process-nextick-args "~2.0.0" 1474 | safe-buffer "~5.1.1" 1475 | string_decoder "~1.1.1" 1476 | util-deprecate "~1.0.1" 1477 | 1478 | rechoir@^0.6.2: 1479 | version "0.6.2" 1480 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 1481 | integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= 1482 | dependencies: 1483 | resolve "^1.1.6" 1484 | 1485 | regex-not@^1.0.0, regex-not@^1.0.2: 1486 | version "1.0.2" 1487 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 1488 | integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== 1489 | dependencies: 1490 | extend-shallow "^3.0.2" 1491 | safe-regex "^1.1.0" 1492 | 1493 | repeat-element@^1.1.2: 1494 | version "1.1.3" 1495 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" 1496 | integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== 1497 | 1498 | repeat-string@^1.6.1: 1499 | version "1.6.1" 1500 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 1501 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= 1502 | 1503 | request@2.88.0: 1504 | version "2.88.0" 1505 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" 1506 | integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== 1507 | dependencies: 1508 | aws-sign2 "~0.7.0" 1509 | aws4 "^1.8.0" 1510 | caseless "~0.12.0" 1511 | combined-stream "~1.0.6" 1512 | extend "~3.0.2" 1513 | forever-agent "~0.6.1" 1514 | form-data "~2.3.2" 1515 | har-validator "~5.1.0" 1516 | http-signature "~1.2.0" 1517 | is-typedarray "~1.0.0" 1518 | isstream "~0.1.2" 1519 | json-stringify-safe "~5.0.1" 1520 | mime-types "~2.1.19" 1521 | oauth-sign "~0.9.0" 1522 | performance-now "^2.1.0" 1523 | qs "~6.5.2" 1524 | safe-buffer "^5.1.2" 1525 | tough-cookie "~2.4.3" 1526 | tunnel-agent "^0.6.0" 1527 | uuid "^3.3.2" 1528 | 1529 | resolve-dir@^1.0.0, resolve-dir@^1.0.1: 1530 | version "1.0.1" 1531 | resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" 1532 | integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= 1533 | dependencies: 1534 | expand-tilde "^2.0.0" 1535 | global-modules "^1.0.0" 1536 | 1537 | resolve-url@^0.2.1: 1538 | version "0.2.1" 1539 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 1540 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= 1541 | 1542 | resolve@^1.1.6, resolve@^1.1.7: 1543 | version "1.12.0" 1544 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" 1545 | integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== 1546 | dependencies: 1547 | path-parse "^1.0.6" 1548 | 1549 | ret@~0.1.10: 1550 | version "0.1.15" 1551 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 1552 | integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== 1553 | 1554 | safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1555 | version "5.1.2" 1556 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1557 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1558 | 1559 | safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.2: 1560 | version "5.2.1" 1561 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1562 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1563 | 1564 | safe-regex@^1.1.0: 1565 | version "1.1.0" 1566 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 1567 | integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= 1568 | dependencies: 1569 | ret "~0.1.10" 1570 | 1571 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 1572 | version "2.1.2" 1573 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1574 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1575 | 1576 | send@0.17.2: 1577 | version "0.17.2" 1578 | resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" 1579 | integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== 1580 | dependencies: 1581 | debug "2.6.9" 1582 | depd "~1.1.2" 1583 | destroy "~1.0.4" 1584 | encodeurl "~1.0.2" 1585 | escape-html "~1.0.3" 1586 | etag "~1.8.1" 1587 | fresh "0.5.2" 1588 | http-errors "1.8.1" 1589 | mime "1.6.0" 1590 | ms "2.1.3" 1591 | on-finished "~2.3.0" 1592 | range-parser "~1.2.1" 1593 | statuses "~1.5.0" 1594 | 1595 | serve-static@1.14.2: 1596 | version "1.14.2" 1597 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" 1598 | integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== 1599 | dependencies: 1600 | encodeurl "~1.0.2" 1601 | escape-html "~1.0.3" 1602 | parseurl "~1.3.3" 1603 | send "0.17.2" 1604 | 1605 | set-value@^2.0.0, set-value@^2.0.1: 1606 | version "2.0.1" 1607 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" 1608 | integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== 1609 | dependencies: 1610 | extend-shallow "^2.0.1" 1611 | is-extendable "^0.1.1" 1612 | is-plain-object "^2.0.3" 1613 | split-string "^3.0.1" 1614 | 1615 | setprototypeof@1.2.0: 1616 | version "1.2.0" 1617 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 1618 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 1619 | 1620 | snapdragon-node@^2.0.1: 1621 | version "2.1.1" 1622 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 1623 | integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== 1624 | dependencies: 1625 | define-property "^1.0.0" 1626 | isobject "^3.0.0" 1627 | snapdragon-util "^3.0.1" 1628 | 1629 | snapdragon-util@^3.0.1: 1630 | version "3.0.1" 1631 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 1632 | integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== 1633 | dependencies: 1634 | kind-of "^3.2.0" 1635 | 1636 | snapdragon@^0.8.1: 1637 | version "0.8.2" 1638 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 1639 | integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== 1640 | dependencies: 1641 | base "^0.11.1" 1642 | debug "^2.2.0" 1643 | define-property "^0.2.5" 1644 | extend-shallow "^2.0.1" 1645 | map-cache "^0.2.2" 1646 | source-map "^0.5.6" 1647 | source-map-resolve "^0.5.0" 1648 | use "^3.1.0" 1649 | 1650 | source-map-resolve@^0.5.0: 1651 | version "0.5.2" 1652 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" 1653 | integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== 1654 | dependencies: 1655 | atob "^2.1.1" 1656 | decode-uri-component "^0.2.0" 1657 | resolve-url "^0.2.1" 1658 | source-map-url "^0.4.0" 1659 | urix "^0.1.0" 1660 | 1661 | source-map-url@^0.4.0: 1662 | version "0.4.0" 1663 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 1664 | integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= 1665 | 1666 | source-map@^0.5.6: 1667 | version "0.5.7" 1668 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1669 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 1670 | 1671 | split-string@^3.0.1, split-string@^3.0.2: 1672 | version "3.1.0" 1673 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 1674 | integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== 1675 | dependencies: 1676 | extend-shallow "^3.0.0" 1677 | 1678 | sqlstring@2.3.1: 1679 | version "2.3.1" 1680 | resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40" 1681 | integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A= 1682 | 1683 | sshpk@^1.7.0: 1684 | version "1.16.1" 1685 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 1686 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== 1687 | dependencies: 1688 | asn1 "~0.2.3" 1689 | assert-plus "^1.0.0" 1690 | bcrypt-pbkdf "^1.0.0" 1691 | dashdash "^1.12.0" 1692 | ecc-jsbn "~0.1.1" 1693 | getpass "^0.1.1" 1694 | jsbn "~0.1.0" 1695 | safer-buffer "^2.0.2" 1696 | tweetnacl "~0.14.0" 1697 | 1698 | static-extend@^0.1.1: 1699 | version "0.1.2" 1700 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 1701 | integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= 1702 | dependencies: 1703 | define-property "^0.2.5" 1704 | object-copy "^0.1.0" 1705 | 1706 | "statuses@>= 1.5.0 < 2", statuses@~1.5.0: 1707 | version "1.5.0" 1708 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1709 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 1710 | 1711 | string_decoder@~1.1.1: 1712 | version "1.1.1" 1713 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1714 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1715 | dependencies: 1716 | safe-buffer "~5.1.0" 1717 | 1718 | tarn@^2.0.0: 1719 | version "2.0.0" 1720 | resolved "https://registry.yarnpkg.com/tarn/-/tarn-2.0.0.tgz#c68499f69881f99ae955b4317ca7d212d942fdee" 1721 | integrity sha512-7rNMCZd3s9bhQh47ksAQd92ADFcJUjjbyOvyFjNLwTPpGieFHMC84S+LOzw0fx1uh6hnDz/19r8CPMnIjJlMMA== 1722 | 1723 | tildify@2.0.0: 1724 | version "2.0.0" 1725 | resolved "https://registry.yarnpkg.com/tildify/-/tildify-2.0.0.tgz#f205f3674d677ce698b7067a99e949ce03b4754a" 1726 | integrity sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw== 1727 | 1728 | to-object-path@^0.3.0: 1729 | version "0.3.0" 1730 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 1731 | integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= 1732 | dependencies: 1733 | kind-of "^3.0.2" 1734 | 1735 | to-regex-range@^2.1.0: 1736 | version "2.1.1" 1737 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 1738 | integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= 1739 | dependencies: 1740 | is-number "^3.0.0" 1741 | repeat-string "^1.6.1" 1742 | 1743 | to-regex@^3.0.1, to-regex@^3.0.2: 1744 | version "3.0.2" 1745 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 1746 | integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== 1747 | dependencies: 1748 | define-property "^2.0.2" 1749 | extend-shallow "^3.0.2" 1750 | regex-not "^1.0.2" 1751 | safe-regex "^1.1.0" 1752 | 1753 | toidentifier@1.0.1: 1754 | version "1.0.1" 1755 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 1756 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 1757 | 1758 | tough-cookie@~2.4.3: 1759 | version "2.4.3" 1760 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" 1761 | integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== 1762 | dependencies: 1763 | psl "^1.1.24" 1764 | punycode "^1.4.1" 1765 | 1766 | tr46@~0.0.3: 1767 | version "0.0.3" 1768 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 1769 | integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= 1770 | 1771 | tunnel-agent@^0.6.0: 1772 | version "0.6.0" 1773 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 1774 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 1775 | dependencies: 1776 | safe-buffer "^5.0.1" 1777 | 1778 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1779 | version "0.14.5" 1780 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1781 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 1782 | 1783 | type-is@~1.6.18: 1784 | version "1.6.18" 1785 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1786 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1787 | dependencies: 1788 | media-typer "0.3.0" 1789 | mime-types "~2.1.24" 1790 | 1791 | unc-path-regex@^0.1.2: 1792 | version "0.1.2" 1793 | resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" 1794 | integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= 1795 | 1796 | union-value@^1.0.0: 1797 | version "1.0.1" 1798 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" 1799 | integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== 1800 | dependencies: 1801 | arr-union "^3.1.0" 1802 | get-value "^2.0.6" 1803 | is-extendable "^0.1.1" 1804 | set-value "^2.0.1" 1805 | 1806 | unpipe@1.0.0, unpipe@~1.0.0: 1807 | version "1.0.0" 1808 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1809 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 1810 | 1811 | unset-value@^1.0.0: 1812 | version "1.0.0" 1813 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 1814 | integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= 1815 | dependencies: 1816 | has-value "^0.3.1" 1817 | isobject "^3.0.0" 1818 | 1819 | uri-js@^4.2.2: 1820 | version "4.4.1" 1821 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 1822 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1823 | dependencies: 1824 | punycode "^2.1.0" 1825 | 1826 | urix@^0.1.0: 1827 | version "0.1.0" 1828 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 1829 | integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 1830 | 1831 | url-template@^2.0.8: 1832 | version "2.0.8" 1833 | resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21" 1834 | integrity sha1-/FZaPMy/93MMd19WQflVV5FDnyE= 1835 | 1836 | use@^3.1.0: 1837 | version "3.1.1" 1838 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 1839 | integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== 1840 | 1841 | util-deprecate@~1.0.1: 1842 | version "1.0.2" 1843 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1844 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1845 | 1846 | utils-merge@1.0.1: 1847 | version "1.0.1" 1848 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1849 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= 1850 | 1851 | uuid@^3.3.2, uuid@^3.3.3: 1852 | version "3.3.3" 1853 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" 1854 | integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== 1855 | 1856 | v8flags@^3.1.3: 1857 | version "3.1.3" 1858 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" 1859 | integrity sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w== 1860 | dependencies: 1861 | homedir-polyfill "^1.0.1" 1862 | 1863 | vary@~1.1.2: 1864 | version "1.1.2" 1865 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1866 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 1867 | 1868 | verror@1.10.0: 1869 | version "1.10.0" 1870 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 1871 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 1872 | dependencies: 1873 | assert-plus "^1.0.0" 1874 | core-util-is "1.0.2" 1875 | extsprintf "^1.2.0" 1876 | 1877 | webidl-conversions@^3.0.0: 1878 | version "3.0.1" 1879 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 1880 | integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= 1881 | 1882 | whatwg-url@^5.0.0: 1883 | version "5.0.0" 1884 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 1885 | integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= 1886 | dependencies: 1887 | tr46 "~0.0.3" 1888 | webidl-conversions "^3.0.0" 1889 | 1890 | which@^1.2.14: 1891 | version "1.3.1" 1892 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 1893 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 1894 | dependencies: 1895 | isexe "^2.0.0" 1896 | 1897 | xml-crypto@0.10.1: 1898 | version "0.10.1" 1899 | resolved "https://registry.yarnpkg.com/xml-crypto/-/xml-crypto-0.10.1.tgz#f832f74ccf56f24afcae1163a1fcab44d96774a8" 1900 | integrity sha1-+DL3TM9W8kr8rhFjofyrRNlndKg= 1901 | dependencies: 1902 | xmldom "=0.1.19" 1903 | xpath.js ">=0.0.3" 1904 | 1905 | xmldom@0.1.19, xmldom@=0.1.19: 1906 | version "0.1.19" 1907 | resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.19.tgz#631fc07776efd84118bf25171b37ed4d075a0abc" 1908 | integrity sha1-Yx/Ad3bv2EEYvyUXGzftTQdaCrw= 1909 | 1910 | xpath.js@>=0.0.3: 1911 | version "1.1.0" 1912 | resolved "https://registry.yarnpkg.com/xpath.js/-/xpath.js-1.1.0.tgz#3816a44ed4bb352091083d002a383dd5104a5ff1" 1913 | integrity sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ== 1914 | 1915 | yallist@^3.0.2: 1916 | version "3.1.1" 1917 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 1918 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 1919 | --------------------------------------------------------------------------------