From 8ec1b34c29448e6c6071f3c650d26c9402c159d6 Mon Sep 17 00:00:00 2001 From: Zdravko Iliev <zdravko.iliev@vereign.com> Date: Mon, 9 May 2022 19:34:29 +0300 Subject: [PATCH] tests --- __tests__/index.test.ts | 28 ++ __tests__/qrcode.png | Bin 0 -> 28003 bytes __tests__/test.pdf | Bin 0 -> 1 bytes package.json | 7 +- src/pdfParser.ts | 109 +++--- src/utils.ts | 13 + yarn.lock | 829 +++++++++++++++++++++++++++++++++++++++- 7 files changed, 926 insertions(+), 60 deletions(-) create mode 100644 __tests__/qrcode.png create mode 100644 __tests__/test.pdf create mode 100644 src/utils.ts diff --git a/__tests__/index.test.ts b/__tests__/index.test.ts index dc45347..1e53ac1 100644 --- a/__tests__/index.test.ts +++ b/__tests__/index.test.ts @@ -3,6 +3,7 @@ import path from "path"; import { describe, it, expect } from "@jest/globals"; import PDFparser from "../src/pdfParser"; import { AppError } from "../src/lib/errors"; +import { saveAs } from "file-saver"; describe("PDF parser", () => { it("should return pdf document metadata including signatures", async () => { @@ -48,3 +49,30 @@ describe("PDF parser", () => { } }); }); + +type SealCoords = { + [key: string]: { x: string; y: string }; +}; + +describe("PDF insert", () => { + it.only("should insert qrcode into the pdf without breaking the signature", async () => { + const file = fs.readFileSync( + path.resolve(__dirname, "./abacus-two-signatures.pdf") + ); + + const qrcode = fs.readFileSync(path.resolve(__dirname, "./qrcode.png")); + + const parser = new PDFparser(file); + + const sealCoords: SealCoords = { 1: { x: "261.6", y: "384.84" } }; + + const resultPDF = await parser.insertQrCode( + qrcode.buffer, + "vereign.com", + sealCoords, + 0.25 + ); + + fs.writeFileSync(`${__dirname}/test.pdf`, Buffer.from(resultPDF)); + }); +}); diff --git a/__tests__/qrcode.png b/__tests__/qrcode.png new file mode 100644 index 0000000000000000000000000000000000000000..c3f33c2f993428caf151993f2edf976215180d5b GIT binary patch literal 28003 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 literal 0 HcmV?d00001 diff --git a/__tests__/test.pdf b/__tests__/test.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 8770ccb..3a8f807 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "@babel/core": "^7.11.4", "@babel/preset-env": "^7.11.0", "@babel/preset-typescript": "^7.10.4", + "@types/node-forge": "^1.0.1", "@typescript-eslint/eslint-plugin": "^3.10.1", "@typescript-eslint/parser": "^3.10.1", "babel-eslint": "^10.1.0", @@ -18,12 +19,12 @@ "eslint": "^7.7.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^3.4.0", + "file-saver": "^2.0.5", "husky": "^4.2.5", "jest": "^26.4.2", "lint-staged": "^10.2.13", "prettier": "^2.1.1", - "typescript": "^4.0.2", - "@types/node-forge": "^1.0.1" + "typescript": "^4.0.2" }, "scripts": { "start": "tsc --watch", @@ -39,6 +40,8 @@ }, "dependencies": { "@vereign/node-forge": "git+ssh://git@code.vereign.com:code/js-toolbox/vereign-node-forge.git", + "node-addon-api": "^5.0.0", + "nopodofo": "^1.0.1", "pdf-lib": "^1.17.1", "pdfdataextract": "^3.2.0" } diff --git a/src/pdfParser.ts b/src/pdfParser.ts index 9f0ef8f..d97afad 100644 --- a/src/pdfParser.ts +++ b/src/pdfParser.ts @@ -1,4 +1,5 @@ -import { PDFName, PDFPage, PDFString, PDFDocument } from "pdf-lib"; +// import { PDFName, PDFPage, PDFString, PDFDocument, PDFImage } from "pdf-lib"; +import { nopodofo as npdf } from "nopodofo"; import { PdfData } from "pdfdataextract"; import { config } from "./config"; import { IGetMetaResponse } from "./types"; @@ -6,6 +7,7 @@ import { verifyPDF } from "./lib"; import { formatPdfTime } from "./lib/timeUtils"; import { AppError, GeneralError } from "./lib/errors"; import { isPDF } from "./lib/generalUtils"; +import { pdf } from "./utils"; type SealCoords = { [key: string]: { x: string; y: string }; @@ -58,48 +60,69 @@ class PDFparser { coords: SealCoords, scaleFactor: number ): Promise<ArrayBuffer> => { - const pdfDoc = await PDFDocument.load(this.document); - const img = await pdfDoc.embedPng(imgBytes); - - const scaled = img.scale(scaleFactor); - - const pages = pdfDoc.getPages(); - - for (let index = 0; index < pages.length; index++) { - const page = pages[index]; - - const x = - typeof coords[index + 1] !== "undefined" - ? parseFloat(coords[index + 1].x) - : null; - - const y = - typeof coords[index + 1] !== "undefined" - ? parseFloat(coords[index + 1].y) - : null; - - if (x && y) { - page.drawImage(img, { - x, - y, - width: scaled.width, - height: scaled.height, - }); - - const link = this.createPageLinkAnnotation(page, url, { - imgXPos: x, - imgYPos: y, - imgWidth: scaled.width, - imagHeight: scaled.height, - }); - - page.node.set(PDFName.of("Annots"), pdfDoc.context.obj([link])); - } - } - - const pdfBytes = await pdfDoc.save(); - - return pdfBytes; + const test = await pdf(this.document); + + // const pdfDoc = await doc.load( + // this.document, + // { forUpdate: true }, + // (e, data: any) => { + // const test = data.getPageCount(); + + // console.log({ test }); + + // const firest = data.getPage(1); + + // console.log(firest); + // } + // ); + + // // const pdfDoc = await PDFDocument.load(this.document); + // let img: PDFImage; + // try { + // img = await pdfDoc.embedPng(imgBytes); + // } catch (error) { + // console.log(error); + // } + + // const scaled = img.scale(scaleFactor); + + // const pages = pdfDoc.getPageCount(); + + // for (let index = 0; index < pages.length; index++) { + // const page = pages[index]; + + // const x = + // typeof coords[index + 1] !== "undefined" + // ? parseFloat(coords[index + 1].x) + // : null; + + // const y = + // typeof coords[index + 1] !== "undefined" + // ? parseFloat(coords[index + 1].y) + // : null; + + // if (x && y) { + // page.drawImage(img, { + // x, + // y, + // width: scaled.width, + // height: scaled.height, + // }); + + // const link = this.createPageLinkAnnotation(page, url, { + // imgXPos: x, + // imgYPos: y, + // imgWidth: scaled.width, + // imagHeight: scaled.height, + // }); + + // page.node.set(PDFName.of("Annots"), pdfDoc.context.obj([link])); + // } + // } + + // const pdfBytes = await pdfDoc.save(); + return new ArrayBuffer(1); + // return pdfBytes; }; private createPageLinkAnnotation = ( diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..30b71ce --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,13 @@ +import { nopodofo as npdf } from "nopodofo"; + +export const pdf = (document: any): Promise<any> => { + return new Promise((resolve, reject) => { + const doc = new npdf.Document(); + return doc.load(document, { forUpdate: true }, (e, data: any) => { + if (e instanceof Error) { + reject(e); + } + resolve(data); + }); + }); +}; diff --git a/yarn.lock b/yarn.lock index fd76992..d60bf16 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1446,7 +1446,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.10.0, ajv@^6.12.4: +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1466,6 +1466,11 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -1478,6 +1483,11 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: dependencies: type-fest "^0.21.3" +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + ansi-regex@^5.0.0, ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -1497,6 +1507,11 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" +ansi@^0.3.0, ansi@~0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" + integrity sha1-DELU+xcWDVqa8eSEus4cZpIsGyE= + anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -1513,6 +1528,14 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" +are-we-there-yet@~1.0.0: + version "1.0.6" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz#a2d28c93102aa6cc96245a26cb954de06ec53f0c" + integrity sha1-otKMkxAqpsyWJFomy5VN4G7FPww= + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -1540,6 +1563,18 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -1560,6 +1595,16 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + babel-eslint@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" @@ -1682,6 +1727,36 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +big-integer@^1.6.17: + version "1.6.51" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" + integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== + +binary@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" + integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk= + dependencies: + buffers "~0.1.1" + chainsaw "~0.1.0" + +bluebird@^2.9.15: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" + integrity sha1-U0uQM8AiyVecVro7Plpcqvu2UOE= + +bluebird@~3.4.1: + version "3.4.7" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1741,6 +1816,21 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer-indexof-polyfill@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" + integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + integrity sha1-mXjOMXOIxkmth5MCjDR37wRKi1E= + +buffers@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -1769,6 +1859,11 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +camelcase@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -1791,6 +1886,18 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chainsaw@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" + integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg= + dependencies: + traverse ">=0.3.0 <0.4" + chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1813,6 +1920,11 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== +chownr@^1.0.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -1853,6 +1965,15 @@ cli-truncate@^2.1.0: slice-ansi "^3.0.0" string-width "^4.2.0" +cliui@^3.0.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -1862,11 +1983,39 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cmake-js@^3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/cmake-js/-/cmake-js-3.7.3.tgz#bde1bba1cd9ff975382146b80663e3607aad7f42" + integrity sha512-X/EsCLfdlpVHwy5mwiuVdEr/B3AzQJzUA0mqDhkizp0o+RIHcNRhwD+Yh6oZmAAKTu9KWeudaLi0WPrvhY+BKQ== + dependencies: + bluebird "^2.9.15" + debug "^2.1.3" + fs-extra "^5.0.0" + is-iojs "^1.0.1" + lodash "^3.6.0" + memory-stream "0" + npmlog "^1.2.0" + rc "^1.2.7" + request "^2.54.0" + semver "^5.0.3" + splitargs "0" + tar "^3.1.5" + traceur "0.0.x" + unzipper "^0.8.13" + url-join "0" + which "^1.0.9" + yargs "^3.6.0" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + collect-v8-coverage@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" @@ -1909,13 +2058,20 @@ colorette@^2.0.16: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== -combined-stream@^1.0.8: +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" +commander@2.9.x: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= + dependencies: + graceful-readlink ">= 1.0.0" + commander@^6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" @@ -1956,6 +2112,16 @@ core-js-compat@^3.20.2, core-js-compat@^3.21.0: browserslist "^4.19.1" semver "7.0.0" +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + cosmiconfig@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" @@ -2004,6 +2170,13 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -2020,14 +2193,14 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: dependencies: ms "2.1.2" -debug@^2.2.0, debug@^2.3.3: +debug@^2.1.3, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -decamelize@^1.2.0: +decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -2047,6 +2220,11 @@ dedent@^0.7.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -2091,6 +2269,11 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -2115,6 +2298,21 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" +duplexer2@~0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= + dependencies: + readable-stream "^2.0.2" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + electron-to-chromium@^1.4.84: version "1.4.87" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.87.tgz#1aeacfa50b2fbf3ecf50a78fbebd8f259d4fe208" @@ -2387,6 +2585,11 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -2401,6 +2604,16 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -2435,6 +2648,11 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-saver@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" + integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -2493,6 +2711,11 @@ for-in@^1.0.2: resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -2502,6 +2725,15 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -2509,6 +2741,15 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" +fs-extra@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" + integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -2519,6 +2760,16 @@ fsevents@^2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fstream@~1.0.10: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -2529,6 +2780,17 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +gauge@~1.2.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" + integrity sha1-6c7FSD09TuDvRLYKfZnkk14TbZM= + dependencies: + ansi "^0.3.0" + has-unicode "^2.0.0" + lodash.pad "^4.1.0" + lodash.padend "^4.1.0" + lodash.padstart "^4.1.0" + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -2577,6 +2839,13 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -2584,6 +2853,17 @@ glob-parent@^5.1.2: dependencies: is-glob "^4.0.1" +glob@5.0.x: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" @@ -2608,16 +2888,39 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" +graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + graceful-fs@^4.2.4: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -2633,6 +2936,11 @@ has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -2697,6 +3005,15 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + https-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" @@ -2772,11 +3089,21 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2: +inherits@2, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -2869,6 +3196,13 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -2886,6 +3220,11 @@ is-glob@^4.0.0, is-glob@^4.0.1: dependencies: is-extglob "^2.1.1" +is-iojs@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-iojs/-/is-iojs-1.1.0.tgz#4c11033b5d5d94d6eab3775dedc9be7d008325f1" + integrity sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE= + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -2930,7 +3269,7 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-typedarray@^1.0.0: +is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= @@ -2952,7 +3291,12 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@1.0.0: +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -2974,6 +3318,11 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" @@ -3412,6 +3761,11 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + jsdom@^16.4.0: version "16.7.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" @@ -3470,11 +3824,21 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + json5@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" @@ -3482,6 +3846,23 @@ json5@^2.1.2: dependencies: minimist "^1.2.5" +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -3511,6 +3892,13 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -3558,6 +3946,11 @@ lint-staged@^10.2.13: string-argv "0.3.1" stringify-object "^3.3.0" +listenercount@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" + integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc= + listr2@^3.2.2: version "3.14.0" resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" @@ -3596,11 +3989,31 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.pad@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" + integrity sha1-QzCUmoM6fI2iLMIPaibE1Z3runA= + +lodash.padend@^4.1.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" + integrity sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4= + +lodash.padstart@^4.1.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" + integrity sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs= + lodash.truncate@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= +lodash@^3.6.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= + lodash@^4.17.15, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -3657,6 +4070,13 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +memory-stream@0: + version "0.0.3" + resolved "https://registry.yarnpkg.com/memory-stream/-/memory-stream-0.0.3.tgz#ebe8dd1c3b8bc38c0e7941e9ddd5aebe6b4de83f" + integrity sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8= + dependencies: + readable-stream "~1.0.26-2" + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -3694,7 +4114,7 @@ mime-db@1.52.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12: +mime-types@^2.1.12, mime-types@~2.1.19: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -3706,7 +4126,7 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@^3.0.4: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -3718,6 +4138,26 @@ minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +minipass@^2.0.2, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.0.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== + dependencies: + minipass "^2.9.0" + mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -3726,6 +4166,13 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +"mkdirp@>=0.5 0", mkdirp@^0.5.0: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -3763,6 +4210,16 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-addon-api@1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.6.3.tgz#3998d4593e2dca2ea82114670a4eb003386a9fe1" + integrity sha512-FXWH6mqjWgU8ewuahp4spec8LkroFZK2NicOv6bNwZC3kcwZUI8LeZdG80UzTSLLhK4T7MsgNwlYDVRlDdfTDg== + +node-addon-api@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.0.0.tgz#7d7e6f9ef89043befdb20c1989c905ebde18c501" + integrity sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA== + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -3785,6 +4242,14 @@ node-releases@^2.0.2: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== +nopodofo@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/nopodofo/-/nopodofo-1.0.1.tgz#04ee3fe3fdc1efc606a3ce20bdeae7e94d77ccd0" + integrity sha512-E2+1BpJEZOTv9wB71FpGTUtw4dmTCq9n9wGmf3qt5LhTjHm6A0s0ba0dyG1/NthRReIJttL91R0u1XOn//0NiQ== + dependencies: + cmake-js "^3.7.3" + node-addon-api "1.6.3" + normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -3821,11 +4286,30 @@ npm-run-path@^4.0.0: dependencies: path-key "^3.0.0" +npmlog@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-1.2.1.tgz#28e7be619609b53f7ad1dd300a10d64d716268b6" + integrity sha1-KOe+YZYJtT960d0wChDWTXFiaLY= + dependencies: + ansi "~0.3.0" + are-we-there-yet "~1.0.0" + gauge "~1.2.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" @@ -3907,6 +4391,13 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= + dependencies: + lcid "^1.0.0" + p-each-series@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" @@ -4041,6 +4532,11 @@ pdfjs-dist@2.10.377: resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-2.10.377.tgz#feadc9f31bf1790795994e54b18930974cf4970a" integrity sha512-i0jRShtvgfsVQUNCoFYH4SVhPO3U0yhtiFLfZ0RR0B+68N+Vnwq+8B3cjWjLEwWGh8wg1XQ/sYMYKUlHn/Qpsw== +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -4114,6 +4610,16 @@ pretty-format@^26.6.2: ansi-styles "^4.0.0" react-is "^17.0.1" +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + progress@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -4127,7 +4633,7 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" -psl@^1.1.33: +psl@^1.1.28, psl@^1.1.33: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== @@ -4145,6 +4651,21 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" @@ -4169,6 +4690,42 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@~1.0.26-2: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + integrity sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA= + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + regenerate-unicode-properties@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" @@ -4245,6 +4802,32 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= +request@^2.54.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -4309,6 +4892,13 @@ rfdc@^1.3.0: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== +rimraf@2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -4316,6 +4906,11 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +rsvp@^3.0.13: + version "3.6.2" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" + integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== + rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -4328,7 +4923,12 @@ rxjs@^7.5.1: dependencies: tslib "^2.1.0" -safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -4340,7 +4940,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3": +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -4377,7 +4977,7 @@ semver-regex@^3.1.2: resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== -"semver@2 || 3 || 4 || 5", semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -4387,6 +4987,11 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== +semver@^4.3.3: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto= + semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -4414,6 +5019,11 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" +setimmediate@~1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -4525,11 +5135,25 @@ source-map-support@^0.5.6: buffer-from "^1.0.0" source-map "^0.6.0" +source-map-support@~0.2.8: + version "0.2.10" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.2.10.tgz#ea5a3900a1c1cb25096a0ae8cc5c2b4b10ded3dc" + integrity sha1-6lo5AKHByyUJagrozFwrSxDe09w= + dependencies: + source-map "0.1.32" + source-map-url@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== +source-map@0.1.32: + version "0.1.32" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" + integrity sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY= + dependencies: + amdefine ">=0.0.4" + source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -4578,11 +5202,31 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" +splitargs@0: + version "0.0.7" + resolved "https://registry.yarnpkg.com/splitargs/-/splitargs-0.0.7.tgz#fe9f7ae657371b33b10cb80da143cf8249cf6b3b" + integrity sha1-/p965lc3GzOxDLgNoUPPgknPazs= + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= +sshpk@^1.7.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + stack-utils@^2.0.2: version "2.0.5" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" @@ -4611,6 +5255,15 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -4620,6 +5273,18 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" @@ -4629,6 +5294,13 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -4656,6 +5328,11 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -4699,6 +5376,17 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" +tar@^3.1.5: + version "3.2.3" + resolved "https://registry.yarnpkg.com/tar/-/tar-3.2.3.tgz#6fa6db1421293ab65655ca9d0eaf858c91e1ee17" + integrity sha512-dceKyLOOHJCE5NQx9zAS7UjVSVQ0BPrbDc2KN0LI42fBWC8OV9+DP/dS3CMn4SnnNpYKdmEP6crYgdbVf1ZCCg== + dependencies: + chownr "^1.0.1" + minipass "^2.0.2" + minizlib "^1.0.3" + mkdirp "^0.5.0" + yallist "^3.0.2" + terminal-link@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" @@ -4782,6 +5470,14 @@ tough-cookie@^4.0.0: punycode "^2.1.1" universalify "^0.1.2" +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + tr46@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" @@ -4789,6 +5485,22 @@ tr46@^2.1.0: dependencies: punycode "^2.1.1" +traceur@0.0.x: + version "0.0.111" + resolved "https://registry.yarnpkg.com/traceur/-/traceur-0.0.111.tgz#c04de74d14696c3373427de4fc08ecaf913fc3a1" + integrity sha1-wE3nTRRpbDNzQn3k/Ajsr5E/w6E= + dependencies: + commander "2.9.x" + glob "5.0.x" + rsvp "^3.0.13" + semver "^4.3.3" + source-map-support "~0.2.8" + +"traverse@>=0.3.0 <0.4": + version "0.3.9" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= + tslib@^1.11.1, tslib@^1.8.1: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -4806,6 +5518,18 @@ tsutils@^3.17.1: dependencies: tslib "^1.8.1" +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -4890,7 +5614,7 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^2.0.1" -universalify@^0.1.2: +universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== @@ -4903,6 +5627,21 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +unzipper@^0.8.13: + version "0.8.14" + resolved "https://registry.yarnpkg.com/unzipper/-/unzipper-0.8.14.tgz#ade0524cd2fc14d11b8de258be22f9d247d3f79b" + integrity sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w== + dependencies: + big-integer "^1.6.17" + binary "~0.3.0" + bluebird "~3.4.1" + buffer-indexof-polyfill "~1.0.0" + duplexer2 "~0.1.4" + fstream "~1.0.10" + listenercount "~1.0.1" + readable-stream "~2.1.5" + setimmediate "~1.0.4" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -4915,11 +5654,26 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +url-join@0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-0.0.1.tgz#1db48ad422d3402469a87f7d97bdebfe4fb1e3c8" + integrity sha1-HbSK1CLTQCRpqH99l73r/k+x48g= + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + uuid@^8.3.0: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -4947,6 +5701,15 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" @@ -5009,7 +5772,7 @@ which-pm-runs@^1.0.0: resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.1.0.tgz#35ccf7b1a0fce87bd8b92a478c9d045785d3bf35" integrity sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA== -which@^1.2.9: +which@^1.0.9, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -5023,11 +5786,24 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" +window-size@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" + integrity sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY= + word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -5076,11 +5852,21 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +y18n@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== +yallist@^3.0.0, yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" @@ -5116,6 +5902,19 @@ yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" +yargs@^3.6.0: + version "3.32.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" + integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU= + dependencies: + camelcase "^2.0.1" + cliui "^3.0.3" + decamelize "^1.1.1" + os-locale "^1.4.0" + string-width "^1.0.1" + window-size "^0.1.4" + y18n "^3.2.0" + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" -- GitLab