From f89b1bcac96f04f1bd2f2de6f62bea5a42870a06 Mon Sep 17 00:00:00 2001 From: Tobias Bocanegra Date: Thu, 9 Jul 2020 19:44:39 +0900 Subject: [PATCH] feat(excel): use excel from onedrive-support fixes #121 --- .eslintignore | 1 + package-lock.json | 3532 +++++++++++------------- package.json | 2 +- src/embed.js | 3 +- src/index.js | 12 +- src/matchers/excel.js | 54 +- src/matchers/feed.js | 1 + src/matchers/google.js | 1 + src/matchers/run-query.js | 1 + test/excel.test.js | 107 +- test/fixtures/book-with-tables.js | 43 + test/fixtures/book-without-tables.js | 39 + test/fixtures/example-data-sheet1.json | 27 + 13 files changed, 1812 insertions(+), 2011 deletions(-) create mode 100644 test/fixtures/book-with-tables.js create mode 100644 test/fixtures/book-without-tables.js create mode 100644 test/fixtures/example-data-sheet1.json diff --git a/.eslintignore b/.eslintignore index ed367360..8a57c018 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,3 @@ .vscode/* coverage/* +dist/* diff --git a/package-lock.json b/package-lock.json index fb98b151..498958ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,21 +31,6 @@ "http-cache-semantics": "^4.0.3", "lru-cache": "^6.0.0", "object-sizeof": "^1.5.3" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } } }, "@adobe/helix-log": { @@ -64,9 +49,9 @@ }, "dependencies": { "uuid": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz", - "integrity": "sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==" + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" } } }, @@ -93,27 +78,6 @@ "git-log-parser": "1.2.0", "shelljs": "0.8.4", "yargs": "15.4.1" - }, - "dependencies": { - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - } } }, "@adobe/helix-shared": { @@ -130,18 +94,6 @@ "quick-lru": "^5.1.0", "uri-js": "^4.2.2", "yaml": "1.10.0" - }, - "dependencies": { - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" - }, - "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" - } } }, "@adobe/helix-status": { @@ -164,6 +116,19 @@ "lru-cache": "^5.1.1", "object-sizeof": "^1.5.3" } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -195,6 +160,16 @@ "yargs": "^15.3.1" }, "dependencies": { + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "semver": { "version": "7.3.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", @@ -210,28 +185,6 @@ "requires": { "@adobe/helix-log": "4.5.1", "cls-hooked": "^4.2.2" - }, - "dependencies": { - "@adobe/helix-log": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@adobe/helix-log/-/helix-log-4.5.1.tgz", - "integrity": "sha512-9++ZtL++VDDDCxUvjNaejMwTJg7OqGVfocDrYVIbRiR3gVEs6jqfgyd9bAI8aEBi+8edj0OPnUn7j8eBQKZ/Jw==", - "requires": { - "big.js": "^5.2.2", - "colorette": "^1.1.0", - "ferrum": "^1.4.1", - "phin": "^3.4.0", - "polka": "^0.5.2", - "triple-beam": "^1.3.0", - "uuid": "^7.0.0", - "winston-transport": "^4.3.0" - } - }, - "uuid": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.1.tgz", - "integrity": "sha512-yqjRXZzSJm9Dbl84H2VDHpM3zMjzSJQ+hn6C4zqd5ilW+7P4ZmLEEqwho9LjP+tGuZlF4xrHQXT0h9QZUS/pWA==" - } } }, "@adobe/openwhisk-action-utils": { @@ -251,93 +204,38 @@ "integrity": "sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==" }, "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.10.4" } }, "@babel/core": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.2.tgz", - "integrity": "sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/generator": "^7.10.2", - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helpers": "^7.10.1", - "@babel/parser": "^7.10.2", - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.2", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz", + "integrity": "sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.5", + "@babel/types": "^7.10.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", "json5": "^2.1.2", - "lodash": "^4.17.13", + "lodash": "^4.17.19", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -347,12 +245,6 @@ "ms": "^2.1.1" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "json5": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", @@ -367,381 +259,175 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, "@babel/generator": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", - "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.5.tgz", + "integrity": "sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig==", "dev": true, "requires": { - "@babel/types": "^7.10.2", + "@babel/types": "^7.10.5", "jsesc": "^2.5.1", - "lodash": "^4.17.13", "source-map": "^0.5.0" } }, "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", - "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz", + "integrity": "sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.5" } }, "@babel/helper-module-imports": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", - "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.4" } }, "@babel/helper-module-transforms": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", - "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz", + "integrity": "sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-simple-access": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1", - "lodash": "^4.17.13" + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" } }, "@babel/helper-optimise-call-expression": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", - "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.4" } }, "@babel/helper-replace-supers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", - "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-simple-access": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", - "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", "dev": true, "requires": { - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", + "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.4" } }, "@babel/helper-validator-identifier": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", - "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", "dev": true }, "@babel/helpers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", - "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", + "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", "dev": true, "requires": { - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz", + "integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==", "dev": true }, - "@babel/runtime": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", - "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - } - } - }, "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/traverse": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", - "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz", + "integrity": "sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/generator": "^7.10.1", - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1", + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/types": "^7.10.5", "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.13" + "lodash": "^4.17.19" }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -757,134 +443,81 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz", + "integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } }, "@commitlint/execute-rule": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-8.3.4.tgz", - "integrity": "sha512-f4HigYjeIBn9f7OuNv5zh2y5vWaAhNFrfeul8CRJDy82l3Y+09lxOTGxfF3uMXKrZq4LmuK6qvvRCZ8mUrVvzQ==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-9.1.1.tgz", + "integrity": "sha512-kCncHMXfVDfmUx1NExl7T+s7udAWEOh039DFGR9R5MWoy+zm2cJsCdsbWFFuNbcPWCKor57ywdIUN2t048P6Yg==", "dev": true, "optional": true }, "@commitlint/load": { - "version": "8.3.5", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-8.3.5.tgz", - "integrity": "sha512-poF7R1CtQvIXRmVIe63FjSQmN9KDqjRtU5A6hxqXBga87yB2VUJzic85TV6PcQc+wStk52cjrMI+g0zFx+Zxrw==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-9.1.1.tgz", + "integrity": "sha512-RCIX44M8nq3bW98vuxA6C2rM0wAnZlneFls2OVi5l2BvD/rsQ2R9CZYwPt/MYU6RbwMmlGhkuHdScwK6pJeUqA==", "dev": true, "optional": true, "requires": { - "@commitlint/execute-rule": "^8.3.4", - "@commitlint/resolve-extends": "^8.3.5", - "babel-runtime": "^6.23.0", - "chalk": "2.4.2", - "cosmiconfig": "^5.2.0", - "lodash": "4.17.15", + "@commitlint/execute-rule": "^9.1.1", + "@commitlint/resolve-extends": "^9.1.1", + "@commitlint/types": "^9.1.1", + "chalk": "4.1.0", + "cosmiconfig": "^6.0.0", + "lodash": "^4.17.15", "resolve-from": "^5.0.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^1.9.0" - } - }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "optional": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true, - "optional": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "optional": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "optional": true, "requires": { - "has-flag": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } } } }, "@commitlint/resolve-extends": { - "version": "8.3.5", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-8.3.5.tgz", - "integrity": "sha512-nHhFAK29qiXNe6oH6uG5wqBnCR+BQnxlBW/q5fjtxIaQALgfoNLHwLS9exzbIRFqwJckpR6yMCfgMbmbAOtklQ==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-9.1.1.tgz", + "integrity": "sha512-IxxNaSUT+dPhSCQPAMpQyHQlcSVikDxQWJFP6uwGJUU5rQff+0yQTuC3taWI2NWaATukjNWboAbH2vgBDnrDrg==", "dev": true, "optional": true, "requires": { "import-fresh": "^3.0.0", - "lodash": "4.17.15", + "lodash": "^4.17.15", "resolve-from": "^5.0.0", "resolve-global": "^1.0.0" } }, + "@commitlint/types": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-9.1.1.tgz", + "integrity": "sha512-SXY8bCQ1qacJ8AUTUxjabY8G6OjSmMPLN9MBCzGaKOjpPNX6z8zbXTbk9oU3GHZLtcxweWLCi2n49IRS4iQlwg==", + "dev": true, + "optional": true + }, "@flighter/a1-notation": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@flighter/a1-notation/-/a1-notation-1.0.6.tgz", @@ -1072,9 +705,9 @@ } }, "@octokit/types": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.0.1.tgz", - "integrity": "sha512-GorvORVwp244fGKEt3cgt/P+M0MGy4xEDbckw+K5ojEezxyMDgCaYPKVct+/eWQfZXOT7uq0xRpmrl/+hliabA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.1.0.tgz", + "integrity": "sha512-OFxUBgrEllAbdEmWp/wNmKIu5EuumKHG4sgy56vjZ8lXPgMhF05c76hmulfOdFHHYRpPj49ygOZJ8wgVsPecuA==", "dev": true, "requires": { "@types/node": ">= 8" @@ -1112,15 +745,6 @@ "micromatch": "^4.0.2" }, "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -1130,21 +754,6 @@ "ms": "^2.1.1" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -1160,15 +769,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } } } }, @@ -1225,15 +825,6 @@ "p-reduce": "^2.0.0" }, "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -1243,21 +834,6 @@ "ms": "^2.1.1" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -1273,15 +849,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } } } }, @@ -1304,20 +871,11 @@ "issue-parser": "^6.0.0", "lodash": "^4.17.4", "mime": "^2.4.3", - "p-filter": "^2.0.0", - "p-retry": "^4.0.0", - "url-join": "^4.0.0" - }, - "dependencies": { - "agent-base": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz", - "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==", - "dev": true, - "requires": { - "debug": "4" - } - }, + "p-filter": "^2.0.0", + "p-retry": "^4.0.0", + "url-join": "^4.0.0" + }, + "dependencies": { "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -1327,16 +885,6 @@ "ms": "^2.1.1" } }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -1458,10 +1006,16 @@ } } }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, "@types/aws-lambda": { - "version": "8.10.57", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.57.tgz", - "integrity": "sha512-LMOA9bJLerYoe2KvzHugfaLTa0jUPWrqwxq5VUZ/ZuAMKLJm6oNdCio38vw8jWEIAkPR3P6mBIwnU1DPgelAKg==", + "version": "8.10.59", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.59.tgz", + "integrity": "sha512-X/JclTKqHvo3nMTkHzClHhRz0yxn/VAr7J7LO6jBqaksZlhcDAWuU4oT1Yrt3E9MvX5jyyVIZtrwAI7oPXzXIg==", "optional": true }, "@types/chai": { @@ -1495,10 +1049,9 @@ "dev": true }, "@types/node": { - "version": "13.7.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.7.1.tgz", - "integrity": "sha512-Zq8gcQGmn4txQEJeiXo/KiLpon8TzAl0kmKH4zdWctPj05nWwp1ClMdAVEloqrQKfaC48PNLdgN/aVaLqUrluA==", - "dev": true + "version": "8.10.61", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.61.tgz", + "integrity": "sha512-l+zSbvT8TPRaCxL1l9cwHCb0tSqGAGcjPJFItGGYat5oCTiq1uQQKYg5m7AF1mgnEBzFXGLJ2LRmNjtreRX76Q==" }, "@types/normalize-package-data": { "version": "2.4.0", @@ -1764,21 +1317,31 @@ "uuid": "^3.1.0", "xmldom": ">= 0.1.x", "xpath.js": "~1.1.0" + } + }, + "agent-base": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz", + "integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==", + "requires": { + "debug": "4" }, "dependencies": { - "@types/node": { - "version": "8.10.61", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.61.tgz", - "integrity": "sha512-l+zSbvT8TPRaCxL1l9cwHCb0tSqGAGcjPJFItGGYat5oCTiq1uQQKYg5m7AF1mgnEBzFXGLJ2LRmNjtreRX76Q==" + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, - "agent-base": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", - "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", - "dev": true - }, "aggregate-error": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", @@ -1821,9 +1384,9 @@ } }, "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-escape-sequences": { @@ -1930,17 +1493,6 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } } } }, @@ -1975,6 +1527,36 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } } } }, @@ -2225,17 +1807,6 @@ "follow-redirects": "1.5.10" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "optional": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -2326,11 +1897,21 @@ "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" }, "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bl": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz", @@ -2340,19 +1921,6 @@ "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, "bluebird": { @@ -2401,32 +1969,12 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "fill-range": "^7.0.1" } }, "brorand": { @@ -2511,25 +2059,6 @@ "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } } }, "browserify-zlib": { @@ -2627,6 +2156,15 @@ "path-is-absolute": "^1.0.0" } }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -2635,6 +2173,12 @@ "requires": { "glob": "^7.1.3" } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -2701,35 +2245,6 @@ } } }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "optional": true, - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true, - "optional": true - } - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "optional": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, "callguard": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/callguard/-/callguard-1.2.1.tgz", @@ -2756,6 +2271,14 @@ "camelcase": "^5.3.1", "map-obj": "^4.0.0", "quick-lru": "^4.0.1" + }, + "dependencies": { + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + } } }, "cardinal": { @@ -2783,9 +2306,9 @@ } }, "centra": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/centra/-/centra-2.4.0.tgz", - "integrity": "sha512-AWmF3EHNe/noJHviynZOrdnUuQzT5AMgl9nJPXGvnzGXrI2ZvNDrEcdqskc4EtQwt2Q1IggXb0OXy7zZ1Xvvew==" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/centra/-/centra-2.4.2.tgz", + "integrity": "sha512-f1RaP0V1HqVNEXfLfjNBthB2yy3KnSGnPCnOPCFLUk9e/Z4rNJ8nBaJNnghflnp88mi1IT8mfmW+HlMS1/H+bg==" }, "chai": { "version": "4.2.0", @@ -2817,13 +2340,49 @@ } }, "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "chardet": { @@ -2844,11 +2403,10 @@ "dev": true }, "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", + "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", "dev": true, - "optional": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", @@ -2857,46 +2415,7 @@ "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } + "readdirp": "~3.3.0" } }, "chownr": { @@ -3007,9 +2526,9 @@ } }, "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, "cliui": { @@ -3082,9 +2601,9 @@ "dev": true }, "colorette": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", - "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" }, "colors": { "version": "1.0.3", @@ -3235,10 +2754,10 @@ "graceful-fs": "^4.1.6" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, "universalify": { @@ -3287,6 +2806,38 @@ "crc32-stream": "^3.0.1", "normalize-path": "^3.0.0", "readable-stream": "^2.3.7" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "concat-map": { @@ -3304,6 +2855,38 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "config-master": { @@ -3380,16 +2963,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true - }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } } } }, @@ -3424,6 +2997,27 @@ "trim-off-newlines": "^1.0.0" }, "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "split2": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", @@ -3445,14 +3039,13 @@ } } }, - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "safe-buffer": "~5.1.0" } } } @@ -3464,6 +3057,14 @@ "dev": true, "requires": { "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "cookiejar": { @@ -3517,60 +3118,22 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "dev": true, - "optional": true - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dev": true, - "optional": true, "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "optional": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "optional": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true, - "optional": true - } + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" } }, "crc": { @@ -3600,19 +3163,6 @@ "requires": { "crc": "^3.4.4", "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, "create-ecdh": { @@ -3661,9 +3211,9 @@ } }, "cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -3720,58 +3270,6 @@ "lodash.map": "^4.5.1", "longest": "^2.0.1", "word-wrap": "^1.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "dashdash": { @@ -4006,9 +3504,9 @@ } }, "dmd": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/dmd/-/dmd-5.0.1.tgz", - "integrity": "sha512-sHoHkUW5ZT82ZquBJBRnXzal/ybG1dieuX0KmI41OUwZOUETr6FqQe/wc/jKPDT/+/MhdtZdGrM6bD4G5a15GQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/dmd/-/dmd-5.0.2.tgz", + "integrity": "sha512-npXsE2+/onRPk/LCrUmx7PcUSqcSVnbrDDMi2nBSawNZ8QXlHE/8xaEZ6pNqPD1lQZv8LGr1xEIpyxP336xyfw==", "dev": true, "requires": { "array-back": "^4.0.1", @@ -4079,6 +3577,38 @@ "dev": true, "requires": { "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "duplexify": { @@ -4091,6 +3621,38 @@ "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "ecc-jsbn": { @@ -4162,9 +3724,9 @@ } }, "enhanced-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz", - "integrity": "sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -4181,16 +3743,46 @@ "errno": "^0.1.3", "readable-stream": "^2.0.1" } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } } } }, "enquirer": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.5.tgz", - "integrity": "sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "requires": { - "ansi-colors": "^3.2.1" + "ansi-colors": "^4.1.1" } }, "entities": { @@ -4242,22 +3834,22 @@ } }, "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", "object-inspect": "^1.7.0", "object-keys": "^1.1.1", "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, "es-array-method-boxes-properly": { @@ -4356,15 +3948,14 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "debug": { @@ -4386,6 +3977,12 @@ "estraverse": "^4.1.1" } }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -4399,9 +3996,9 @@ "dev": true }, "strip-json-comments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", - "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true } } @@ -4562,15 +4159,6 @@ "esutils": "^2.0.2", "isarray": "^1.0.0" } - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } } } }, @@ -4684,9 +4272,9 @@ } }, "execa": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.0.tgz", - "integrity": "sha512-JbDUxwV3BoT5ZVXQrSVbAiaXhXUkIwvbhPIwZ0N13kX+5yCzOhUNdocxB/UQRuYOHRYYwAxKYwJYc0T4D12pDA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz", + "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==", "dev": true, "requires": { "cross-spawn": "^7.0.0", @@ -4885,30 +4473,6 @@ "picomatch": "^2.2.1" }, "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -4918,15 +4482,6 @@ "braces": "^3.0.1", "picomatch": "^2.0.5" } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } } } }, @@ -4975,27 +4530,6 @@ "through2": "^3.0.1", "to-arraybuffer": "^1.0.1", "tough-cookie": "^3.0.1" - }, - "dependencies": { - "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } } }, "figgy-pudding": { @@ -5048,6 +4582,13 @@ } } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "fill-keys": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", @@ -5059,26 +4600,12 @@ } }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "to-regex-range": "^5.0.1" } }, "find-cache-dir": { @@ -5223,6 +4750,38 @@ "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "follow-redirects": { @@ -5287,6 +4846,38 @@ "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "fromentries": { @@ -5328,6 +4919,38 @@ "iferr": "^0.1.5", "imurmurhash": "^0.1.4", "readable-stream": "1 || 2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "fs.realpath": { @@ -5365,47 +4988,15 @@ "https-proxy-agent": "^5.0.0", "is-stream": "^2.0.0", "node-fetch": "^2.3.0" - }, - "dependencies": { - "agent-base": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz", - "integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==", - "requires": { - "debug": "4" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } } }, "gcp-metadata": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.1.0.tgz", - "integrity": "sha512-r57SV28+olVsflPlKyVig3Muo/VDlcsObMtvDGOEtEJXj+DDE8bEl0coIkXh//hbkSDTvo+f5lbihZOndYXQQQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.1.4.tgz", + "integrity": "sha512-5J/GIH0yWt/56R3dNaNWPGQ/zXsZOddYECfJaqxFWgrZ9HC2Kvc5vl9upOgUUHKzURjAVf2N+f6tEJiojqXUuA==", "requires": { "gaxios": "^3.0.0", - "json-bigint": "^0.3.0" + "json-bigint": "^1.0.0" } }, "gensync": { @@ -5482,6 +5073,48 @@ "stream-combiner2": "~1.1.1", "through2": "~2.0.0", "traverse": "~0.6.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } } }, "glob": { @@ -5572,20 +5205,12 @@ "ignore": "^5.1.4", "merge2": "^1.3.0", "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - } } }, "google-auth-library": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.0.4.tgz", - "integrity": "sha512-O1uT4F1mMu5OYnvH0ppg6mqP5pGQrqzg2nrzd7ay3DA+VD0mp9VM+Julf/bov2OuxgFs2DD+gWnp2nZPB4EflA==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.0.5.tgz", + "integrity": "sha512-Wj31lfTm2yR4g3WfOOB1Am1tt478Xq9OvzTPQJi17tn/I9R5IcsxjANBsE93nYmxYxtwDedhOdIb8l3vSPG49Q==", "requires": { "arrify": "^2.0.0", "base64-js": "^1.3.0", @@ -5595,7 +5220,7 @@ "gcp-metadata": "^4.1.0", "gtoken": "^5.0.0", "jws": "^4.0.0", - "lru-cache": "^5.0.0" + "lru-cache": "^6.0.0" }, "dependencies": { "jwa": { @@ -5667,9 +5292,9 @@ } }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "growl": { "version": "1.10.5", @@ -5722,12 +5347,6 @@ "wordwrap": "^1.0.0" }, "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -5766,9 +5385,9 @@ } }, "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "has-symbols": { @@ -5798,6 +5417,26 @@ "kind-of": "^4.0.0" }, "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", @@ -5818,25 +5457,6 @@ "inherits": "^2.0.4", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } } }, "hash.js": { @@ -5909,24 +5529,16 @@ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" }, "http-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.0.tgz", - "integrity": "sha512-GX0FA6+IcDf4Oxc/FBWgYj4zKgo/DnZrksaG9jyuQLExs6xlX+uI5lcA8ymM3JaZTRrF/4s2UX19wJolyo7OBA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, "requires": { + "@tootallnate/once": "1", "agent-base": "6", "debug": "4" }, "dependencies": { - "agent-base": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz", - "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==", - "dev": true, - "requires": { - "debug": "4" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -5961,12 +5573,11 @@ "dev": true }, "https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", - "dev": true, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "requires": { - "agent-base": "5", + "agent-base": "6", "debug": "4" }, "dependencies": { @@ -5974,7 +5585,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -5982,8 +5592,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -6013,9 +5622,9 @@ "dev": true }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, "ignore-walk": { @@ -6119,47 +5728,6 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -6203,15 +5771,6 @@ "dev": true } } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -6283,9 +5842,9 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", "dev": true }, "is-data-descriptor": { @@ -6333,13 +5892,6 @@ } } }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true, - "optional": true - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -6383,24 +5935,10 @@ "dev": true }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-obj": { "version": "1.0.1", @@ -6430,12 +5968,12 @@ } }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", "dev": true, "requires": { - "has": "^1.0.3" + "has-symbols": "^1.0.1" } }, "is-regexp": { @@ -6537,25 +6075,6 @@ "readable-stream": "^3.4.0", "sha.js": "^2.4.9", "simple-get": "^3.0.2" - }, - "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, "isstream": { @@ -6821,12 +6340,6 @@ "underscore": "~1.10.2" }, "dependencies": { - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, "escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", @@ -6846,9 +6359,9 @@ "dev": true }, "strip-json-comments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", - "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true } } @@ -6906,9 +6419,9 @@ "dev": true }, "json-bigint": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz", - "integrity": "sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", "requires": { "bignumber.js": "^9.0.0" } @@ -7006,6 +6519,12 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true + }, + "xmlbuilder": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.1.1.tgz", + "integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==", + "dev": true } } }, @@ -7050,6 +6569,38 @@ "dev": true, "requires": { "readable-stream": "^2.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "levn": { @@ -7099,14 +6650,15 @@ "string-argv": "0.3.1", "stringify-object": "^3.3.0" }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "commander": { @@ -7115,19 +6667,6 @@ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "dev": true }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -7137,38 +6676,15 @@ "ms": "^2.1.1" } }, - "execa": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.2.tgz", - "integrity": "sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", "dev": true, "requires": { - "to-regex-range": "^5.0.1" + "chalk": "^4.0.0" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -7184,22 +6700,13 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } } } }, "listr2": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.1.8.tgz", - "integrity": "sha512-Op+hheiChfAphkJ5qUxZtHgyjlX9iNnAeFS/S134xw7mVSg0YVrQo1IY4/K+ElY6XgOPg2Ij4z07urUXR+YEew==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.2.0.tgz", + "integrity": "sha512-Q8qbd7rgmEwDo1nSyHaWQeztfGsdL6rb4uh7BA+Q80AZiDET5rVntiU1+13mu2ZTDVaBVbvAD1Db11rnu3l9sg==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -7212,6 +6719,16 @@ "through": "^2.3.8" }, "dependencies": { + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -7220,15 +6737,6 @@ "requires": { "escape-string-regexp": "^1.0.5" } - }, - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } } } }, @@ -7294,9 +6802,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" }, "lodash.camelcase": { "version": "4.3.0", @@ -7400,12 +6908,12 @@ "dev": true }, "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "dev": true, "requires": { - "chalk": "^4.0.0" + "chalk": "^2.4.2" } }, "log-update": { @@ -7480,17 +6988,17 @@ "dev": true }, "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "requires": { - "yallist": "^3.0.2" + "yallist": "^4.0.0" } }, "macos-release": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz", - "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.0.tgz", + "integrity": "sha512-ko6deozZYiAkqa/0gmcsz+p4jSy3gY7/ZsCEokPaYd8k+6/aXGkiTgr61+Owup7Sf+xjqW8u2ElhoM9SEcEfuA==", "dev": true }, "make-dir": { @@ -7538,9 +7046,9 @@ }, "dependencies": { "entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz", - "integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", "dev": true } } @@ -7552,9 +7060,9 @@ "dev": true }, "marked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-1.1.0.tgz", - "integrity": "sha512-EkE7RW6KcXfMHy2PA7Jg0YJE1l8UPEZE8k45tylzmZM30/r1M1MUXWQfJlrSbsTeh7m/XTwHbWUENvAJZpp1YA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.1.1.tgz", + "integrity": "sha512-mJzT8D2yPxoPh7h0UXkB+dBj4FykPJ2OIfxAWeIHrvoHDkFxukV/29QxoFQoPM6RLEwhIFdJpmKBlqVM3s2ZIw==", "dev": true }, "marked-terminal": { @@ -7580,6 +7088,16 @@ "type-fest": "^0.11.0" } }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "type-fest": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", @@ -7631,6 +7149,38 @@ "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "meow": { @@ -7756,6 +7306,90 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "miller-rabin": { @@ -7777,21 +7411,21 @@ } }, "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" }, "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" }, "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "requires": { - "mime-db": "1.43.0" + "mime-db": "1.44.0" } }, "mimic-fn": { @@ -7881,6 +7515,48 @@ "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } } }, "mixin-deep": { @@ -7951,12 +7627,6 @@ "yargs-unparser": "1.6.0" }, "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", @@ -7972,53 +7642,6 @@ "color-convert": "^1.9.0" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "chokidar": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", - "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.3.0" - } - }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -8060,15 +7683,6 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -8083,24 +7697,12 @@ "path-is-absolute": "^1.0.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -8111,15 +7713,6 @@ "path-exists": "^3.0.0" } }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -8141,21 +7734,6 @@ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, - "readdirp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", - "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", - "dev": true, - "requires": { - "picomatch": "^2.0.7" - } - }, - "serialize-javascript": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.0.0.tgz", - "integrity": "sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw==", - "dev": true - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -8176,15 +7754,6 @@ "ansi-regex": "^4.1.0" } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -8322,9 +7891,9 @@ } }, "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", "optional": true }, "nanomatch": { @@ -8359,9 +7928,9 @@ "optional": true }, "needle": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz", - "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.0.tgz", + "integrity": "sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA==", "requires": { "debug": "^3.2.6", "iconv-lite": "^0.4.4", @@ -8384,9 +7953,9 @@ } }, "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "nerf-dart": { @@ -8467,6 +8036,38 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true } } }, @@ -8504,9 +8105,9 @@ "dev": true }, "npm": { - "version": "6.14.5", - "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.5.tgz", - "integrity": "sha512-CDwa3FJd0XJpKDbWCST484H+mCNjF26dPrU+xnREW+upR0UODjMEfXPl3bxWuAwZIX6c2ASg1plLO7jP8ehWeA==", + "version": "6.14.6", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.6.tgz", + "integrity": "sha512-axnz6iHFK6WPE0js/+mRp+4IOwpHn5tJEw5KB6FiCU764zmffrhsYHbSHi2kKqNkRBt53XasXjngZfBD3FQzrQ==", "dev": true, "requires": { "JSONStream": "^1.3.5", @@ -8588,7 +8189,7 @@ "npm-packlist": "^1.4.8", "npm-pick-manifest": "^3.0.2", "npm-profile": "^4.0.4", - "npm-registry-fetch": "^4.0.4", + "npm-registry-fetch": "^4.0.5", "npm-user-validate": "~1.0.0", "npmlog": "~4.1.2", "once": "~1.4.0", @@ -10728,7 +10329,7 @@ } }, "npm-registry-fetch": { - "version": "4.0.4", + "version": "4.0.5", "bundled": true, "dev": true, "requires": { @@ -10742,7 +10343,7 @@ }, "dependencies": { "safe-buffer": { - "version": "5.2.0", + "version": "5.2.1", "bundled": true, "dev": true } @@ -11502,7 +11103,7 @@ } }, "spdx-license-ids": { - "version": "3.0.3", + "version": "3.0.5", "bundled": true, "dev": true }, @@ -12211,9 +11812,9 @@ "integrity": "sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==" }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "dev": true }, "object-keys": { @@ -12266,42 +11867,6 @@ "define-properties": "^1.1.3", "es-abstract": "^1.17.5", "has": "^1.0.3" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "dev": true - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - } } }, "object.pick": { @@ -12343,9 +11908,9 @@ } }, "openwhisk": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/openwhisk/-/openwhisk-3.20.0.tgz", - "integrity": "sha512-WzB69ij39kb+lVpM9DncaPbRZ00tcARgOI0/XfaVqZDexspLwBZ/1TswuLSuxV2ocozMqclD+1lKlmmVn0DU0g==", + "version": "3.21.2", + "resolved": "https://registry.npmjs.org/openwhisk/-/openwhisk-3.21.2.tgz", + "integrity": "sha512-Fxx1fupwZaKxbzpN/pCd0PLItRAjS9PXJCnm+JFPY7592koQlYTQo3t7DpBVYTiqIUx9Z1kKdpla3JyLaZSXIA==", "requires": { "needle": "^2.4.0" } @@ -12422,9 +11987,9 @@ "dev": true }, "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -12497,6 +12062,38 @@ "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "parent-module": { @@ -12612,17 +12209,17 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "phin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/phin/-/phin-3.4.1.tgz", - "integrity": "sha512-NkBCNRPxeyrgaPlWx4DHTAdca3s2LkvIBiiG6RoSbykcOtW/pA/7rUP/67FPIinvbo7h+HENST/vJ17LdRNUdw==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/phin/-/phin-3.5.0.tgz", + "integrity": "sha512-BEJYqD07B5uBFPAzNpLuLh0LzHr4MDLe0Vc6gBYi+PSIL57VbiE/UvkCc86x24pKQn2X2Keg7HTJEDr8BrBCCg==", "requires": { - "centra": "^2.2.1" + "centra": "^2.4.2" } }, "picomatch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz", - "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true }, "pify": { @@ -12870,9 +12467,9 @@ "dev": true }, "psl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", - "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "public-encrypt": { "version": "4.0.3", @@ -12957,10 +12554,9 @@ "dev": true }, "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" }, "randombytes": { "version": "2.1.0", @@ -13091,27 +12687,22 @@ } }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", + "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", "dev": true, - "optional": true, "requires": { - "picomatch": "^2.2.1" + "picomatch": "^2.0.7" } }, "rechoir": { @@ -13214,13 +12805,6 @@ } } }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true, - "optional": true - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -13238,9 +12822,9 @@ "dev": true }, "registry-auth-token": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", - "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.0.tgz", + "integrity": "sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w==", "dev": true, "requires": { "rc": "^1.2.8" @@ -13299,6 +12883,17 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } } }, "request-promise-core": { @@ -13317,6 +12912,17 @@ "request-promise-core": "1.1.3", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } } }, "require-directory": { @@ -13366,9 +12972,9 @@ } }, "resolve": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.0.tgz", - "integrity": "sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "requires": { "path-parse": "^1.0.6" } @@ -13500,18 +13106,18 @@ } }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", + "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safe-json-stringify": { "version": "1.2.0", @@ -13585,28 +13191,6 @@ "yargs": "^15.0.1" }, "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -13625,30 +13209,15 @@ "escape-string-regexp": "^1.0.5" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, "hosted-git-info": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", - "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.5.tgz", + "integrity": "sha512-i4dpK6xj9BIpVOTboXIlKG9+8HMKggcrMX7WA24xZtKwX0TPelq/rbaS5rCKeNX8sJXZJGdSxpnEGtta+wismQ==", "dev": true, "requires": { - "lru-cache": "^5.1.1" + "lru-cache": "^6.0.0" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -13701,15 +13270,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } } } }, @@ -13748,13 +13308,10 @@ "dev": true }, "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.0.0.tgz", + "integrity": "sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw==", + "dev": true }, "serverless-http": { "version": "2.5.0", @@ -13857,9 +13414,9 @@ "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "signale": { @@ -13871,58 +13428,6 @@ "chalk": "^2.3.2", "figures": "^2.0.0", "pkg-conf": "^2.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "simple-concat": { @@ -14291,6 +13796,48 @@ "dev": true, "requires": { "through2": "~2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } } }, "sprintf-js": { @@ -14363,6 +13910,38 @@ "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-combiner2": { @@ -14373,6 +13952,38 @@ "requires": { "duplexer2": "~0.1.0", "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-connect": { @@ -14425,6 +14036,38 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "stream-shift": { @@ -14441,85 +14084,29 @@ }, "string-argv": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "dev": true - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - } - } + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true }, - "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, - "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", "dev": true, "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.17.5" } }, "string.prototype.trimstart": { @@ -14530,50 +14117,14 @@ "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "dev": true - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - } } }, "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "stringify-object": { @@ -14658,6 +14209,36 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } } } }, @@ -14668,6 +14249,14 @@ "dev": true, "requires": { "has-flag": "^4.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + } } }, "supports-hyperlinks": { @@ -14678,6 +14267,14 @@ "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + } } }, "table": { @@ -14779,19 +14376,6 @@ "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, "teeny-request": { @@ -14805,6 +14389,39 @@ "node-fetch": "^2.2.0", "stream-events": "^1.0.5", "uuid": "^3.3.2" + }, + "dependencies": { + "agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "dev": true, + "requires": { + "agent-base": "5", + "debug": "4" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } } }, "temp-dir": { @@ -14875,6 +14492,15 @@ "worker-farm": "^1.7.0" }, "dependencies": { + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -14955,13 +14581,12 @@ "dev": true }, "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "inherits": "^2.0.4", + "readable-stream": "2 || 3" } }, "timers-browserify": { @@ -15026,13 +14651,12 @@ } }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "to-utf8": { @@ -15042,10 +14666,11 @@ "dev": true }, "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "requires": { + "ip-regex": "^2.1.0", "psl": "^1.1.28", "punycode": "^2.1.1" } @@ -15102,9 +14727,9 @@ } }, "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", "dev": true }, "tty-browserify": { @@ -15175,14 +14800,11 @@ "dev": true }, "uglify-js": { - "version": "3.9.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.3.tgz", - "integrity": "sha512-r5ImcL6QyzQGVimQoov3aL2ZScywrOgBXGndbWrdehKoSvGe/RmiE5Jpw/v+GvxODt6l2tpBXwA7n+qZVlHBMA==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.0.tgz", + "integrity": "sha512-Esj5HG5WAyrLIdYU74Z3JdG2PxdIusvj6IWHMtlyESxc7kcDz7zYlYjpnSokn1UbpV0d/QX9fan7gkCNd/9BQA==", "dev": true, - "optional": true, - "requires": { - "commander": "~2.20.3" - } + "optional": true }, "underscore": { "version": "1.10.2", @@ -15435,6 +15057,35 @@ "graceful-fs": "^4.1.2", "neo-async": "^2.5.0", "watchpack-chokidar2": "^2.0.0" + }, + "dependencies": { + "chokidar": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + } } }, "watchpack-chokidar2": { @@ -15477,6 +15128,25 @@ "dev": true, "optional": true }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -15498,6 +15168,29 @@ "upath": "^1.1.1" } }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, "fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", @@ -15505,6 +15198,7 @@ "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1" } }, @@ -15541,6 +15235,42 @@ "binary-extensions": "^1.0.0" } }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -15552,6 +15282,34 @@ "micromatch": "^3.1.10", "readable-stream": "^2.0.2" } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "optional": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } } } }, @@ -15755,12 +15513,41 @@ } }, "winston-transport": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.3.0.tgz", - "integrity": "sha512-B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz", + "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==", "requires": { - "readable-stream": "^2.3.6", + "readable-stream": "^2.3.7", "triple-beam": "^1.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "word-wrap": { @@ -15844,20 +15631,12 @@ "requires": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" - }, - "dependencies": { - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - } } }, "xmlbuilder": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.1.1.tgz", - "integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==", - "dev": true + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" }, "xmlcreate": { "version": "2.0.3", @@ -15888,23 +15667,19 @@ "dev": true }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.9.2" - } + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" }, "yargs": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", - "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "requires": { "cliui": "^6.0.0", @@ -15917,7 +15692,7 @@ "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^18.1.1" + "yargs-parser": "^18.1.2" } }, "yargs-parser": { @@ -16098,19 +15873,6 @@ "archiver-utils": "^2.1.0", "compress-commons": "^3.0.0", "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } } } diff --git a/package.json b/package.json index d06216cc..5099a2ad 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,6 @@ "test-postdeploy": "mocha --reporter xunit --reporter-options output=./junit/test-results.xml -g 'Post-Deploy'", "lint": "./node_modules/.bin/eslint .", "semantic-release": "semantic-release", - "docs": "npx jsdoc2md -c .jsdoc.json --files 'src/*.js' > docs/API.md", "commit": "git-cz", "build": "wsk-builder -v", "deploy": "wsk-builder -v --deploy --test=/_status_check/healthcheck.json", @@ -18,6 +17,7 @@ "deploy-ci": "wsk-builder -v --deploy --test=/_status_check/healthcheck.json --pkgVersion=ci$CIRCLE_BUILD_NUM -l ci" }, "wsk": { + "namespace": "helix", "name": "helix-services/data-embed@${version}" }, "repository": { diff --git a/src/embed.js b/src/embed.js index 5526822a..e9a080d9 100644 --- a/src/embed.js +++ b/src/embed.js @@ -41,8 +41,9 @@ function embed(url, params, log) { body: [], }; } + log.info(`found handler for ${url}: ${matching.name}`); - return matching.extract(url, params); + return matching.extract(url, params, log); } module.exports = embed; diff --git a/src/index.js b/src/index.js index dde54d00..f23f9cf1 100644 --- a/src/index.js +++ b/src/index.js @@ -28,14 +28,22 @@ async function main(params) { body: 'Expecting a datasource', }; } - + log.info(`data-embed for datasource ${url}`); const qbquery = loadquerystring(params.__ow_query, 'hlx_'); + log.debug('QB query', qbquery); const filter = createfilter(qbquery); + log.debug('QB filter', filter); const result = await embed(url.toString(), params, log); + const { body } = result; + delete result.body; + log.debug('result', result); + log.debug(`result body size: ${JSON.stringify(body).length}`); + const filtered = filter(body); + log.info(`filtered result ${filtered.length} rows. size: ${JSON.stringify(filtered).length}`); return { ...result, - body: filter(result.body), + body: filtered, }; } diff --git a/src/matchers/excel.js b/src/matchers/excel.js index ca4f262a..4b74f026 100644 --- a/src/matchers/excel.js +++ b/src/matchers/excel.js @@ -26,53 +26,22 @@ async function extract(url, params, log = console) { log, }); - const client = await drive.getClient(); - const item = await drive.getDriveItemFromShareLink(url); - const worksheetsuri = `/drives/${item.parentReference.driveId}/items/${item.id}/workbook/worksheets/`; - const worksheets = await client.get(worksheetsuri); - const worksheetname = worksheets.value[0].name; + const workbook = drive.getWorkbook(item); - const tablesuri = `${worksheetsuri}${worksheetname}/tables/`; - const tables = await client.get(tablesuri); + const worksheetNames = await workbook.getWorksheetNames(); + const worksheetName = worksheetNames[0]; + const worksheet = workbook.worksheet(worksheetName); + const tableNames = await worksheet.getTableNames(); const body = await (async () => { - if (!tables.value.length) { - log.info(`worksheet ${worksheetname} has no tables: ${tablesuri}, getting range instead`); - - const rangeuri = `${worksheetsuri}${worksheetname}/usedRange`; - const range = await client.get(rangeuri); - - const rows = range.values; - const columnames = rows.shift(); - - const rowvalues = rows.map((row) => columnames.reduce((obj, name, index) => { - // eslint-disable-next-line no-param-reassign - obj[name] = row[index]; - return obj; - }, {})); - - return rowvalues; + if (!tableNames.length) { + log.info(`worksheet ${worksheetName} has no tables, getting range instead`); + return worksheet.usedRange().getRowsAsObjects(); } - const tablename = tables.value[0].name; - - const columnsuri = `${tablesuri}${tablename}/columns/`; - const columns = await client.get(columnsuri); - - const columnnames = columns.value.map(({ name }) => name); - const rowvalues = columns.value[0].values - .map((_, rownum) => columnnames.reduce((row, name, colnum) => { - const [value] = columns.value[colnum].values[rownum]; - // eslint-disable-next-line no-param-reassign - row[name] = value; - return row; - }, {})); - - // discard the first row - rowvalues.shift(); - - return rowvalues; + log.info(`fetching table data for worksheet ${worksheetName} with name ${tableNames[0]}`); + return worksheet.table(tableNames[0]).getRowsAsObjects(); })(); - + log.info(`returning ${body.length} rows.`); return { statusCode: 200, headers: { @@ -95,6 +64,7 @@ async function extract(url, params, log = console) { } module.exports = { + name: 'excel', required: ['AZURE_WORD2MD_CLIENT_ID', 'AZURE_HELIX_USER', 'AZURE_HELIX_PASSWORD'], pattern: (url) => /^https:\/\/.*\.sharepoint\.com\//.test(url), extract, diff --git a/src/matchers/feed.js b/src/matchers/feed.js index 50f8abfb..b2b11a4f 100644 --- a/src/matchers/feed.js +++ b/src/matchers/feed.js @@ -14,6 +14,7 @@ const Parser = require('rss-parser'); const parser = new Parser(); module.exports = { + name: 'feed', required: [], pattern: (url) => { if (/\/feeds\/|[&?]feed=atom/.test(url)) { diff --git a/src/matchers/google.js b/src/matchers/google.js index 61af5611..1118b6f5 100644 --- a/src/matchers/google.js +++ b/src/matchers/google.js @@ -105,6 +105,7 @@ async function extract(url, params, log = console) { } module.exports = { + name: 'google', required: ['GOOGLE_DOCS2MD_CLIENT_ID', 'GOOGLE_DOCS2MD_CLIENT_SECRET', 'GOOGLE_DOCS2MD_REFRESH_TOKEN'], pattern: (url) => /^https:\/\/docs\.google\.com\/spreadsheets\/d\/.*/.test(url), extract, diff --git a/src/matchers/run-query.js b/src/matchers/run-query.js index 37ccc23f..21f0c83c 100644 --- a/src/matchers/run-query.js +++ b/src/matchers/run-query.js @@ -51,6 +51,7 @@ async function extract(url, params, log = console) { } module.exports = { + name: 'run-query', required: [], pattern: (url) => /(^https:\/\/adobeioruntime\.net\/api\/v1\/web\/helix\/helix-services\/run-query@.*)/.test(url) || /^\/?_query\/run-query\/.*$/.test(new URL(url).pathname), diff --git a/test/excel.test.js b/test/excel.test.js index dc62c216..dc77aa46 100644 --- a/test/excel.test.js +++ b/test/excel.test.js @@ -12,62 +12,23 @@ /* eslint-env mocha */ /* eslint-disable class-methods-use-this */ const assert = require('assert'); +const { OneDriveMock } = require('@adobe/helix-onedrive-support'); const proxyquire = require('proxyquire'); const path = require('path'); const fs = require('fs-extra'); -const { pattern } = require('../src/matchers/excel'); +const exampleBook = require('./fixtures/book-with-tables.js'); +const exampleBook2 = require('./fixtures/book-without-tables.js'); -class DummyOneDrive { - getDriveItemFromShareLink(url) { - if (!pattern(url)) { - throw new Error(); - } - return { - id: 'fake', - parentReference: { - driveId: 'superfake', - }, - }; - } - - downloadDriveItem() { - return fs.readFile(path.resolve(__dirname, 'fixtures', 'urls.xlsx')); - } +const TEST_SHARE_LINK = 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx'; +const TEST_SHARE_LINK_NO_TABLES = 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data-no-tables.xlsx'; - getClient() { - return { - get: (url) => { - if (/worksheets\/$/.test(url)) { - return { - '@odata.context': "https://graph.microsoft.com/v1.0/$metadata#drives('b%21PpnkewKFAEaDTS6slvlVjh_3ih9lhEZMgYWwps6bPIWZMmLU5xGqS4uES8kIQZbH')/items('01DJQLOWZEOU3W6WPMPJBIOVS7WP6RQS7Y')/workbook/worksheets", - value: [{ - '@odata.id': "/drives('b%21PpnkewKFAEaDTS6slvlVjh_3ih9lhEZMgYWwps6bPIWZMmLU5xGqS4uES8kIQZbH')/items('01DJQLOWZEOU3W6WPMPJBIOVS7WP6RQS7Y')/workbook/worksheets(%27%7B00000000-0001-0000-0000-000000000000%7D%27)", id: '{00000000-0001-0000-0000-000000000000}', name: 'urls', position: 0, visibility: 'Visible', - }], - }; - } - if (/tables\/$/.test(url)) { - return { - '@odata.context': "https://graph.microsoft.com/v1.0/$metadata#drives('b%21PpnkewKFAEaDTS6slvlVjh_3ih9lhEZMgYWwps6bPIWZMmLU5xGqS4uES8kIQZbH')/items('01DJQLOWZEOU3W6WPMPJBIOVS7WP6RQS7Y')/workbook/worksheets('urls')/tables", - value: [{ - '@odata.id': "/drives('b%21PpnkewKFAEaDTS6slvlVjh_3ih9lhEZMgYWwps6bPIWZMmLU5xGqS4uES8kIQZbH')/items('01DJQLOWZEOU3W6WPMPJBIOVS7WP6RQS7Y')/workbook/worksheets(%27%7B00000000-0001-0000-0000-000000000000%7D%27)/tables(%27%7BB5050AD7-88A8-5E46-8B35-2C04EFF92161%7D%27)", style: 'TableStyleMedium2', name: 'listOfURLS', showFilterButton: true, id: '{B5050AD7-88A8-5E46-8B35-2C04EFF92161}', highlightLastColumn: false, highlightFirstColumn: false, legacyId: '1', showBandedColumns: false, showBandedRows: true, showHeaders: true, showTotals: false, - }], - }; - } - if (/columns\/$/.test(url)) { - return { - '@odata.context': "https://graph.microsoft.com/v1.0/$metadata#drives('b%21PpnkewKFAEaDTS6slvlVjh_3ih9lhEZMgYWwps6bPIWZMmLU5xGqS4uES8kIQZbH')/items('01DJQLOWZEOU3W6WPMPJBIOVS7WP6RQS7Y')/workbook/worksheets('urls')/tables('listOfURLS')/columns", - value: [{ - '@odata.id': "/drives('b%21PpnkewKFAEaDTS6slvlVjh_3ih9lhEZMgYWwps6bPIWZMmLU5xGqS4uES8kIQZbH')/items('01DJQLOWZEOU3W6WPMPJBIOVS7WP6RQS7Y')/workbook/worksheets(%27%7B00000000-0001-0000-0000-000000000000%7D%27)/tables(%27%7BB5050AD7-88A8-5E46-8B35-2C04EFF92161%7D%27)/columns(%271%27)", values: [['year'], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2017], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2018], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2019], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2018], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020], [2020]], id: '1', index: 0, name: 'year', - }, { - '@odata.id': "/drives('b%21PpnkewKFAEaDTS6slvlVjh_3ih9lhEZMgYWwps6bPIWZMmLU5xGqS4uES8kIQZbH')/items('01DJQLOWZEOU3W6WPMPJBIOVS7WP6RQS7Y')/workbook/worksheets(%27%7B00000000-0001-0000-0000-000000000000%7D%27)/tables(%27%7BB5050AD7-88A8-5E46-8B35-2C04EFF92161%7D%27)/columns(%272%27)", values: [['url'], ['https://theblog.adobe.com/silka-miesnieks-designing-immersive-world/'], ['https://theblog.adobe.com/ar-vr-voice-redefining-digital-experiences/'], ['https://theblog.adobe.com/pantone-color-year-2018-ultra-violet/'], ['https://theblog.adobe.com/prototyping-difference-low-fidelity-high-fidelity-prototypes-use/'], ['https://theblog.adobe.com/screens-help-define-the-world-of-blade-runner-2049/'], ['https://theblog.adobe.com/esris-arcgis-maps-integration-adobe-creative-cloud/'], ['https://theblog.adobe.com/look-back-favorite-visual-trends-2017/'], ['https://theblog.adobe.com/ten-years-creativity-inspiration-behance-2017-year-review/'], ['https://theblog.adobe.com/lessons-creative-pros-future-creative-tools-powerful-intuitive/'], ['https://theblog.adobe.com/lessons-creative-pros-building-foundation-creative-life/'], ['https://theblog.adobe.com/lessons-creative-pros-designers-can-use-skills-create-social-change/'], ['https://theblog.adobe.com/lessons-creative-pros-digital-creatives-can-prepare-artificially-intelligent-future/'], ['https://theblog.adobe.com/lessons-creative-pros-navigate-winding-path-creative-career/'], ['https://theblog.adobe.com/sign-up-and-save-for-max-2018/'], ['https://theblog.adobe.com/ai-and-your-business-questions-and-answers-from-adobe-max/'], ['https://theblog.adobe.com/inspired-at-max-extend-your-experience-with-learning-from-adobe/'], ['https://theblog.adobe.com/watch-max-2017-sessions-online/'], ['https://theblog.adobe.com/creativity-in-business-key-takeaways-from-survey/'], ['https://theblog.adobe.com/adobe-delivers-design-solutions/'], ['https://theblog.adobe.com/top-tech-sneak-peeks-max-2017-that-wowed/'], ['https://theblog.adobe.com/redefining-modern-creativity-with-the-next-generation-of-creative-cloud-2/'], ['https://theblog.adobe.com/seeing-2019-the-visual-trend-forecast-from-adobe-stock/'], ['https://theblog.adobe.com/premiere-pro-13-0-released-today/'], ['https://theblog.adobe.com/8-unforgettable-back-to-school-marketing-moments/'], ['https://theblog.adobe.com/creative-editorial-with-faster-workflows/'], ['https://theblog.adobe.com/character-animator-updates-spring-2018/'], ['https://theblog.adobe.com/premiere-pro-updates-spring-2018/'], ['https://theblog.adobe.com/shoot-edit-share-unveiling-project-rush-at-vidcon-2018/'], ['https://theblog.adobe.com/uxperts-weigh-in-designs-love-august-edition/'], ['https://theblog.adobe.com/evolution-digital-document-celebrating-adobe-acrobats-25th-anniversary/'], ['https://theblog.adobe.com/adobe-partners-at-ibc-show-2018/'], ['https://theblog.adobe.com/weve-achieved-global-gender-pay-parity-a-milestone-worth-celebrating/'], ['https://theblog.adobe.com/adobe-previews-project-aero/'], ['https://theblog.adobe.com/april-update-adobe-dimension-cc-1-1/'], ['https://theblog.adobe.com/photoshop-releases-version-19-1-selections-improvements-advanced-support-windows-high-density-monitors/'], ['https://theblog.adobe.com/6-steps-get-data-in-shape-90-days/'], ['https://theblog.adobe.com/five-key-ingredients-winning-recipe-automate-personalized-marketing/'], ['https://theblog.adobe.com/how-much-personalization-is-enough/'], ['https://theblog.adobe.com/8-steps-to-personalisation-a-practical-guide/'], ['https://theblog.adobe.com/adobe-max-2018-announcements-highlights-and-takeaways/'], ['https://theblog.adobe.com/harvard-business-review-works-with-33-sticks-and-adobe-to-grow-readership-and-e-commerce/'], ['https://theblog.adobe.com/sofia-subercaseaux-edits-tyrel-piercing-two-2018-sundance-film-festival-picks/'], ['https://theblog.adobe.com/2018-design-trends-small-businesses/'], ['https://theblog.adobe.com/top-25-typefaces-next-project/'], ['https://theblog.adobe.com/21st-century-idea-will-accelerate-government-digital-service-delivery/'], ['https://theblog.adobe.com/advancing-adobes-employee-experience-top-5-investments-of-2018/'], ['https://theblog.adobe.com/may-2018-update-adobe-xd/'], ['https://theblog.adobe.com/4-tips-make-sure-data-gdpr-compliant/'], ['https://theblog.adobe.com/june-2018-release-adobe-xd-overlays-fixed-elements/'], ['https://theblog.adobe.com/invest-experiences-best-business-breakthrough-decade/'], ['https://theblog.adobe.com/so-called-social-week-of-december-3/'], ['https://theblog.adobe.com/live-stream-series-make-good-videos-great-color/'], ['https://theblog.adobe.com/called-social-week-may-21/'], ['https://theblog.adobe.com/adobe-takes-open-source-approach-to-experience-data-model/'], ['https://theblog.adobe.com/announcing-february-update-lightroom-classic/'], ['https://theblog.adobe.com/adobe-pro-video-apps-now-support-prores-export-on-windows/'], ['https://theblog.adobe.com/pay-parity-milestone/'], ['https://theblog.adobe.com/boarding-gets-therapeutic-minding-gap/'], ['https://theblog.adobe.com/adobe-video-and-audio-customer-stories-at-ibc-2018/'], ['https://theblog.adobe.com/apply-adobe-creative-resident-2/'], ['https://theblog.adobe.com/so-called-social-week-of-august-27/'], ['https://theblog.adobe.com/experience-leaders-increase-revenue-growth-by-16-percent/'], ['https://theblog.adobe.com/latest-adobe-experience-manager-leads-innovations-cloud-content-intelligence/'], ['https://theblog.adobe.com/digital-design-trends-watch-2018/'], ['https://theblog.adobe.com/ux-in-the-midwest-exploring-an-unexpected-design-powerhouse/'], ['https://theblog.adobe.com/pantone-color-year-2019-living-coral/'], ['https://theblog.adobe.com/what-you-missed-from-sneaks-at-max-2018/'], ['https://theblog.adobe.com/humor-fear-combine-comedy-thriller-claras-ghost/'], ['https://theblog.adobe.com/adobe-analytics-predicts-how-voice-will-change-in-2019/'], ['https://theblog.adobe.com/corporate-ethics-matter-ever/'], ['https://theblog.adobe.com/introducing-the-2018-adobe-max-insiders/'], ['https://theblog.adobe.com/adobe-xd-2018-in-review/'], ['https://theblog.adobe.com/october-2018-release-of-adobe-xd-at-max/'], ['https://theblog.adobe.com/digimarc-barcode-integration-adobe-creative-cloud/'], ['https://theblog.adobe.com/never-goin-back-marks-augustine-frizzells-directorial-debut/'], ['https://theblog.adobe.com/save-500-max-2018/'], ['https://theblog.adobe.com/our-cmos-take-on-being-named-one-of-the-best-global-brands-of-2018/'], ['https://theblog.adobe.com/meet-the-2018-ted-residents/'], ['https://theblog.adobe.com/university-of-michigan-supports-130-websites-and-400-content-authors-with-adobe-experience-manager/'], ['https://theblog.adobe.com/registration-adobe-max-2018-now-open/'], ['https://theblog.adobe.com/augmented-reality-at-adobe-max-how-project-aero-will-put-the-power-of-ar-in-the-hands-of-designers/'], ['https://theblog.adobe.com/ai-extends-creative-mind/'], ['https://theblog.adobe.com/dad-and-dimension-to-the-rescue-how-one-father-turned-to-3d-to-build-the-set-for-his-kids-school-play/'], ['https://theblog.adobe.com/how-a-first-time-graphic-designer-created-an-award-winning-cover-design/'], ['https://theblog.adobe.com/peek-inside-extraordinary-life-fred-beckey/'], ['https://theblog.adobe.com/how-a-scrappy-startup-mentality-helped-this-big-tech-company-focus-on-its-customers/'], ['https://theblog.adobe.com/come-and-get-it-greyscalegorillas-happy-toolbox-adventure-pack/'], ['https://theblog.adobe.com/do-you-want-to-learn-adobe-xd-but-dont-have-time-how-about-learning-it-in-under-5-minutes/'], ['https://theblog.adobe.com/students-learn-how-to-be-visual-communicators/'], ['https://theblog.adobe.com/why-disruptive-technology-holds-the-key-to-the-future-of-pharma/'], ['https://theblog.adobe.com/limbitless-creativity/'], ['https://theblog.adobe.com/why-its-not-enough-to-seem-leaders-need-to-be/'], ['https://theblog.adobe.com/5-things-educators-can-learn-from-creative-professionals/'], ['https://theblog.adobe.com/adobe-a-leader-in-gartners-inaugural-magic-quadrant-for-ad-tech/'], ['https://theblog.adobe.com/taking-creativity-to-the-max-in-asia-pacific/'], ['https://theblog.adobe.com/mystery-solved-experience-makers-digital-guide-to-creating-stand-out-experiences/'], ['https://theblog.adobe.com/rossignol-races-to-enterprise-wide-e-commerce-success/'], ['https://theblog.adobe.com/the-best-versus-the-rest-evaluating-cross-channel-optimization-tools/'], ['https://theblog.adobe.com/in-conversation-asia-pacific-brands-talk-digital-transformation/'], ['https://theblog.adobe.com/an-immersive-dialogue-between-creativity-and-technology/'], ['https://theblog.adobe.com/dear-creative-leaders-will-the-creative-team-exist-in-2028/'], ['https://theblog.adobe.com/convince-boss-send-max/'], ['https://theblog.adobe.com/schedule-sessions-max-2018/'], ['https://theblog.adobe.com/creative-careers-track-max-5-featured-sessions/'], ['https://theblog.adobe.com/tiffany-haddish-host-2018-max-sneaks/'], ['https://theblog.adobe.com/new-max-heres-make-conference-experience/'], ['https://theblog.adobe.com/graphic-design-usa-offers-free-subscription-adobe-max-attendees/'], ['https://theblog.adobe.com/5-featured-sessions-graphic-web-ux-track/'], ['https://theblog.adobe.com/design-domain-name-ideal-designers/'], ['https://theblog.adobe.com/max-keynote-speaker-director-actor-ron-howard/'], ['https://theblog.adobe.com/bridging-the-gap-the-creative-team-as-a-strategic-partner/'], ['https://theblog.adobe.com/max-keynote-speaker-photographer-albert-watson/'], ['https://theblog.adobe.com/your-inner-creativity-and-produce-one-of-kind-cardboard-sculpture-with-artist-christian-clayton/'], ['https://theblog.adobe.com/5-featured-sessions-video-track/'], ['https://theblog.adobe.com/design-is-the-heart-of-customer-experience/'], ['https://theblog.adobe.com/xd-plugins-at-max/'], ['https://theblog.adobe.com/a-new-pc-can-solve-your-wait-state-problems-try-winning-one/'], ['https://theblog.adobe.com/max-keynote-speakers-a-creative-conversation-with-questlove-and-lilly-singh/'], ['https://theblog.adobe.com/beck-to-play-max-bash-2018/'], ['https://theblog.adobe.com/custom-modified-and-library-fonts-whats-right-for-you-find-out-at-adobe-max/'], ['https://theblog.adobe.com/design-with-more-control-and-performance-improvements-in-after-effects-cc/'], ['https://theblog.adobe.com/rams-screening-with-director-gary-hustwit/'], ['https://theblog.adobe.com/check-out-these-great-sessions-at-max/'], ['https://theblog.adobe.com/iamsloth-talks-process-making-with-craft-and-his-adobe-max-mural/'], ['https://theblog.adobe.com/watch-the-keynotes-live-from-adobe-max/'], ['https://theblog.adobe.com/creative-resident-nadine-kolodziey-brings-her-undrawn-drawing-tour-to-max/'], ['https://theblog.adobe.com/win-a-two-night-luxury-airstream-getaway-in-sonoma/'], ['https://theblog.adobe.com/unleash-your-creativity-and-delight-users-with-samsung-themes-and-galaxy-watch-faces/'], ['https://theblog.adobe.com/5-strategies-to-help-you-build-your-design-side-hustle/'], ['https://theblog.adobe.com/introducing-our-five-newest-features-on-adobe-portfolio/'], ['https://theblog.adobe.com/introducing-the-2018-adobe-max-instameets/'], ['https://theblog.adobe.com/adobe-partners-with-accenture-interactive-to-fuel-dynamic-ai-powered-experiences-at-scale/'], ['https://theblog.adobe.com/beyond-self-care-a-wiser-way-to-beat-burnout/'], ['https://theblog.adobe.com/filming-the-future-with-red-and-facebook-360/'], ['https://theblog.adobe.com/5-ways-to-win-amazing-prizes-with-max-its-fun-its-easy/'], ['https://theblog.adobe.com/nvidia-rtx-gpus-inspire-creativity-at-adobe-max/'], ['https://theblog.adobe.com/technology-fuels-creativity/'], ['https://theblog.adobe.com/announcing-adobe-animate-cc-2019/'], ['https://theblog.adobe.com/community-theater-sessions-at-the-adobe-make-it-booth/'], ['https://theblog.adobe.com/thousands-more-fonts-for-all-creative-cloud-customers/'], ['https://theblog.adobe.com/new-adobe-innovations-unlock-content-velocity-to-transform-customer-experiences/'], ['https://theblog.adobe.com/adobe-and-wpp-collaborate-to-scale-content-production-and-design/'], ['https://theblog.adobe.com/creative-cloud-assets-a-new-way-of-navigating-your-work/'], ['https://theblog.adobe.com/a-peek-behind-the-scenes-cafvideo-content-aware-fill-for-video/'], ['https://theblog.adobe.com/digitize-your-creativity-in-real-time-with-moleskine/'], ['https://theblog.adobe.com/new-video-partners-and-features-from-adobe-stock/'], ['https://theblog.adobe.com/introducing-voice-prototyping-in-adobe-xd/'], ['https://theblog.adobe.com/adobe-animation-strategy-for-2019-and-beyond/'], ['https://theblog.adobe.com/more-ways-to-showcase-your-work-with-adobe-stock/'], ['https://theblog.adobe.com/happy-1st-birthday-adobe-dimension-cc/'], ['https://theblog.adobe.com/audition-cc-now-more-intelligent-stronger-and-better-looking/'], ['https://theblog.adobe.com/whats-new-in-adobe-stock/'], ['https://theblog.adobe.com/how-a-digital-sketch-on-an-ipad-turned-into-awesome-lightbox-art/'], ['https://theblog.adobe.com/faster-together-opening-illustrator-files-in-adobe-xd/'], ['https://theblog.adobe.com/enter-the-spider-verse-at-adobe-max/'], ['https://theblog.adobe.com/adobe-launches-xd-ecosystem-at-max/'], ['https://theblog.adobe.com/most-powerful-indesign-yet/'], ['https://theblog.adobe.com/its-here-characterizer-and-more-game-changing-innovation-in-adobe-character-animator-cc/'], ['https://theblog.adobe.com/design-with-more-control-and-performance-improvements-in-the-fall-2018-release-of-after-effects/'], ['https://theblog.adobe.com/typekit-is-adobe-fonts/'], ['https://theblog.adobe.com/available-now-the-latest-release-for-creative-cloud-video-and-audio-tools/'], ['https://theblog.adobe.com/max-lightroom-releases/'], ['https://theblog.adobe.com/introducing-project-gemini/'], ['https://theblog.adobe.com/create-and-share-online-videos-anywhere-with-all-new-premiere-rush-cc/'], ['https://theblog.adobe.com/adobe-photoshop-aero-gemini-dimension-photoshop-cc/'], ['https://theblog.adobe.com/unleashing-your-creativity-across-surfaces/'], ['https://theblog.adobe.com/liberating-your-creativity-with-the-next-generation-of-creative-cloud/'], ['https://theblog.adobe.com/the-future-belongs-to-those-who-can-create/'], ['https://theblog.adobe.com/embark-on-your-creative-quest-with-questlove/'], ['https://theblog.adobe.com/inspiration-for-the-win-day-2-at-adobe-max/'], ['https://theblog.adobe.com/content-first-and-content-fast-a-key-benefit-of-your-digital-foundation/'], ['https://theblog.adobe.com/global-pay-parity-how-we-got-there/'], ['https://theblog.adobe.com/adobe-aims-for-dynamically-personalized-audio-ads-with-new-partnership/'], ['https://theblog.adobe.com/why-enhancing-civil-service-starts-with-restoring-a-sense-of-civic-duty/'], ['https://theblog.adobe.com/live-in-a-constant-state-of-surprise/'], ['https://theblog.adobe.com/fast-track-your-adobe-expertise-with-experience-league/'], ['https://theblog.adobe.com/from-retail-to-financial-services-to-manufacturing-brands-and-their-agencies-love-creative-cloud-libraries/'], ['https://theblog.adobe.com/illustrator-and-indesign-font-packs/'], ['https://theblog.adobe.com/teenage-mutant-ninja-turtles-come-to-life-in-vr-using-adobe-character-animator-at-comic-con/'], ['https://theblog.adobe.com/esoft-vietnam-prioritizing-workplace-inclusivity-for-business-success/'], ['https://theblog.adobe.com/exploring-the-reality-and-implications-of-unconscious-bias/'], ['https://theblog.adobe.com/top-20-blog-posts-about-adobe-target-personalization-and-optimization/'], ['https://theblog.adobe.com/adobe-acrobat-2015-and-adobe-reader-2015-end-of-support/'], ['https://theblog.adobe.com/dimension-update-3-0-match-3d-lighting-more/'], ['https://theblog.adobe.com/xd-january-2019-update-new-features/'], ['https://theblog.adobe.com/behind-the-scenes-arseny-samolvesky/'], ['https://theblog.adobe.com/adobe-experience-manager-2019-cloud-content-personalization-cxm/'], ['https://theblog.adobe.com/8-great-tips-for-building-optimization-and-personalization-expertise/'], ['https://theblog.adobe.com/introducing-the-2019-adobe-rising-stars-of-photography/'], ['https://theblog.adobe.com/important-information-on-gpu-acceleration-with-cuda-and-apple-metal/'], ['https://theblog.adobe.com/adobe-breaks-ground-on-north-tower-in-san-jose/'], ['https://theblog.adobe.com/connect-with-adobe-at-microsoft-ignite-2019/'], ['https://theblog.adobe.com/20-years-of-indesign-top-20-tips-tricks-from-worldwide-evangelist-terry-white/'], ['https://theblog.adobe.com/five-reasons-why-you-need-adobe-analytics-for-adobe-target/'], ['https://theblog.adobe.com/how-shoebacca-grew-revenue-15x-in-just-three-years/'], ['https://theblog.adobe.com/powerful-personalization/'], ['https://theblog.adobe.com/25th-anniversary-digital-advertising-past-present-future/'], ['https://theblog.adobe.com/create-the-best-commerce-experiences-possible-by-understanding-your-audience/'], ['https://theblog.adobe.com/people-names-adobe-to-its-top-50-companies-that-care-list/'], ['https://theblog.adobe.com/meet-the-2019-revvie-award-winners/'], ['https://theblog.adobe.com/the-5-struggles-every-designer-knows-all-too-well-but-dont-have-to/'], ['https://theblog.adobe.com/the-u-s-census-modernized/'], ['https://theblog.adobe.com/play-and-the-universal-language-of-photography/'], ['https://theblog.adobe.com/everything-you-need-to-know-about-the-spring-2019-releases/'], ['https://theblog.adobe.com/photography-trends-of-the-2010s/'], ['https://theblog.adobe.com/to-the-breeders-cup-and-beyond-how-university-of-louisville-students-are-putting-their-digital-storytelling-skills-to-work/'], ['https://theblog.adobe.com/xd-november-2019-update-coediting-more/'], ['https://theblog.adobe.com/so-called-social-week-of-january-14/'], ['https://theblog.adobe.com/how-catbird-doubled-mobile-conversion-with-magento/'], ['https://theblog.adobe.com/5-adobe-xd-plugins-for-designing-with-real-data/'], ['https://theblog.adobe.com/meet-19-new-faces/'], ['https://theblog.adobe.com/designing-animation-six-principles-using-animation-ux/'], ['https://theblog.adobe.com/adobe-showcases-labs-innovations-for-ecommerce/'], ['https://theblog.adobe.com/may-lightroom-releases/'], ['https://theblog.adobe.com/useful-new-features-in-after-effects-2020/'], ['https://theblog.adobe.com/adobe-uses-experience-fragments-to-launch-digital-experiences-10x-faster/'], ['https://theblog.adobe.com/max-2019-photography-releases/'], ['https://theblog.adobe.com/art-of-music-album-art-design-challenge/'], ['https://theblog.adobe.com/coca-cola-transforms-its-package-design-process-with-adobe-dimension/'], ['https://theblog.adobe.com/adobe-and-ibm-ix-extend-partnership-to-help-enterprises-design-powerful-and-consistent-customer-experiences/'], ['https://theblog.adobe.com/21st-century-idea-how-to-keep-your-digital-transformation-momentum-going/'], ['https://theblog.adobe.com/xd-june-2019-update-property-inspector-superscript-subscript-more/'], ['https://theblog.adobe.com/building-an-optimization-and-personalization-program-as-a-leader-in-financial-services/'], ['https://theblog.adobe.com/adobe-is-one-of-100-best-corporate-citizens-for-fifth-consecutive-year/'], ['https://theblog.adobe.com/creating-equality-adobe-first-corporate-brand-certified-by-the-3-movement/'], ['https://theblog.adobe.com/20-plus-years-of-rapid-deployment-with-adobe-coldfusion-and-still-going/'], ['https://theblog.adobe.com/top-brands-share-their-personalization-bests/'], ['https://theblog.adobe.com/get-more-out-of-your-microsoft-investment/'], ['https://theblog.adobe.com/leading-authorities-extends-world-class-experiences-to-contracts-with-adobe-sign/'], ['https://theblog.adobe.com/4-ways-to-experience-adobe-at-workday-rising/'], ['https://theblog.adobe.com/adobe-max-sneaks-2019/'], ['https://theblog.adobe.com/xd-may-2019-update-create-design-systems/'], ['https://theblog.adobe.com/april-2019-release-of-adobe-dimension-makes-viewing-2d-designs-in-3d-easier-than-ever/'], ['https://theblog.adobe.com/empower-every-voice-adobe-for-all-summit-2019/'], ['https://theblog.adobe.com/introducing-the-2019-adobe-insiders-at-max/'], ['https://theblog.adobe.com/adobe-celebrates-strong-ecosystem-momentum-at-summit-2019/'], ['https://theblog.adobe.com/adobe-sign-and-nintex-power-complete-e-signature-solutions-for-sharepoint-customers/'], ['https://theblog.adobe.com/how-charles-sturt-university-more-than-quadrupled-conversions-with-web-personalization/'], ['https://theblog.adobe.com/2019-the-year-of-productivity/'], ['https://theblog.adobe.com/project-1324-announcement/'], ['https://theblog.adobe.com/xd-february-2019-update-integrations-language-support-narration/'], ['https://theblog.adobe.com/xd-july-2019-update-unified-links-grid-view-mobile-commenting/'], ['https://theblog.adobe.com/asia-pacific-insiders-share-their-inspiration-from-max-2019/'], ['https://theblog.adobe.com/it-takes-all-of-us-makers-2019/'], ['https://theblog.adobe.com/how-sales-operations-elevates-the-entire-sales-teams-performance/'], ['https://theblog.adobe.com/inside-transcats-b2b-digital-transformation/'], ['https://theblog.adobe.com/announcing-world-interaction-design-day-2019-trust-and-responsibility/'], ['https://theblog.adobe.com/adobe-for-all-being-diverse-isnt-enough/'], ['https://theblog.adobe.com/apply-adobe-creative-resident/'], ['https://theblog.adobe.com/angle-xd-500-perspective-device-mockups/'], ['https://theblog.adobe.com/unveiling-adobe-commerce-cloud-adobe-summit-2019/'], ['https://theblog.adobe.com/3d-ar-design-easier-than-ever-max-2019-review/'], ['https://theblog.adobe.com/an-update-on-adobe-fuse-as-adobe-moves-to-the-future-of-3d-ar-development/'], ['https://theblog.adobe.com/city-of-denver-says-their-website-processes-are-now-light-years-ahead-from-2015/'], ['https://theblog.adobe.com/great-experiences-breed-great-loyalty/'], ['https://theblog.adobe.com/xd-october-2019-update-blend-modes-shortcuts-more/'], ['https://theblog.adobe.com/companies-and-seasonal-hires-want-better-onboarding-for-the-holidays/'], ['https://theblog.adobe.com/adobe-delivers-new-customer-experience-management-innovations-for-retailers-at-nrf-2019/'], ['https://theblog.adobe.com/montana-state-university-invests-in-student-success-as-an-adobe-creative-campus/'], ['https://theblog.adobe.com/remaking-the-relevance-of-brick-mortar-banking-in-the-digital-age/'], ['https://theblog.adobe.com/july-2019-release-of-adobe-dimension-makes-it-easier-to-showcase-your-3d-designs-and-streamline-your-workflow/'], ['https://theblog.adobe.com/how-to-make-the-21st-century-idea-work-for-you/'], ['https://theblog.adobe.com/penn-state-focuses-on-digital-fluency-to-prepare-students-for-jobs-of-the-future/'], ['https://theblog.adobe.com/how-fortune-500-company-cdw-fuels-steady-growth-by-focusing-on-customers/'], ['https://theblog.adobe.com/sparking-interest-in-steam-at-massachusetts-stem-week-2019/'], ['https://theblog.adobe.com/xd-march-2019-update-vectors-font-management-import-export/'], ['https://theblog.adobe.com/10-inspiring-public-sector-organizations-to-watch-in-2020/'], ['https://theblog.adobe.com/sketch-boost-creativity-and-brain-friendly-learning-in-class-with-adobe-fresco/'], ['https://theblog.adobe.com/wrapping-feelings-in-works-of-art-with-photoshop-on-the-ipad/'], ['https://theblog.adobe.com/transportation-toys-in-3d-from-static-models-to-animation/'], ['https://theblog.adobe.com/why-my-agency-made-the-move-from-sketch-to-adobe-xd/'], ['https://theblog.adobe.com/power-your-creative-workflow-anywhere-anytime-with-asus-proart/'], ['https://theblog.adobe.com/everything-you-need-to-know-about-creativity-in-the-classroom-with-adobe-creative-cloud/'], ['https://theblog.adobe.com/adobe-creative-cloud-helps-column-five-take-visual-storytelling-to-new-heights/'], ['https://theblog.adobe.com/how-adobe-sensei-helps-graphic-designers-transform-book-illustrations/'], ['https://theblog.adobe.com/sales-teams-become-as-empowered-as-your-prospects-are/'], ['https://theblog.adobe.com/avoid-last-minute-holiday-shopping-and-stay-home-animating/'], ['https://theblog.adobe.com/photoshop-reimagined-for-ipad-introducing-select-subject/'], ['https://theblog.adobe.com/introducing-the-december-release-of-adobe-capture/'], ['https://theblog.adobe.com/adobe-improving-airport-experience-during-holidays/'], ['https://theblog.adobe.com/three-trends-in-rich-media-that-are-driving-holiday-shopping-experiences-that-convert/'], ['https://theblog.adobe.com/on-your-mark-get-set-transform/'], ['https://theblog.adobe.com/embed-pdf-viewing-into-web-apps-using-adobe-document-cloud-view-sdk/'], ['https://theblog.adobe.com/accenture-interactive-scales-design-to-keep-pace-with-client-demands/'], ['https://theblog.adobe.com/the-art-of-the-still-life/'], ['https://theblog.adobe.com/sdsu-moves-to-efficient-digital-workflows-using-adobe-sign/'], ['https://theblog.adobe.com/5-ways-to-use-better-insights-to-improve-your-ad-targeting-and-performance-using-adobe-analytics-and-advertising-cloud/'], ['https://theblog.adobe.com/adobe-lightroom-team-racing-down-the-mobile-lane-with-journey-orchestration/'], ['https://theblog.adobe.com/hey-sellers-your-customers-are-workingpoolside-today/'], ['https://theblog.adobe.com/xd-flutter-plugin-generate-dart-code-design-elements/'], ['https://theblog.adobe.com/abstract-3d-design-tutorial-inspiration-khyati-trehan/'], ['https://theblog.adobe.com/khyati-trehan-whimsical-3d-designs/'], ['https://theblog.adobe.com/celebrate-the-holidays-like-a-boss/'], ['https://theblog.adobe.com/adobe-stock-2020-creative-trends/'], ['https://theblog.adobe.com/how-visual-influencers-are-embracing-disruptive-expression/'], ['https://theblog.adobe.com/december-photography-releases/'], ['https://theblog.adobe.com/from-static-to-interactive-adobe-campaign-brings-email-to-life-with-amp-for-email/'], ['https://theblog.adobe.com/yes-government-can-deliver-a-delightful-experience/'], ['https://theblog.adobe.com/artist-spotlight-trahkostock/'], ['https://theblog.adobe.com/how-to-attract-customers-designing-your-preview-media/'], ['https://theblog.adobe.com/how-digital-literacy-projects-unleash-creativity-within-students/'], ['https://theblog.adobe.com/increase-email-performance-with-these-7-tips/'], ['https://theblog.adobe.com/how-tds-design-team-brings-great-experiences-to-market-faster/'], ['https://theblog.adobe.com/adobe-accelerates-3di-efforts-through-medium-acquisition/'], ['https://theblog.adobe.com/happy-holidays-from-adobe-stock/'], ['https://theblog.adobe.com/overcoming-the-challenges-of-digital-advertising-in-2020-and-beyond/'], ['https://theblog.adobe.com/portfolio-new-customization-panel/'], ['https://theblog.adobe.com/how-adobe-xd-makes-it-easier-for-our-designers-and-developers-to-work-together/'], ['https://theblog.adobe.com/pantone-color-of-the-year-2020/'], ['https://theblog.adobe.com/artist-spotlight-making-a-scene-with-custom-scene/'], ['https://theblog.adobe.com/the-impact-of-imagery-in-todays-socially-conscious-world/'], ['https://theblog.adobe.com/adobe-data-shows-record-cyber-monday-with-9-2-billion-in-online-sales/'], ['https://theblog.adobe.com/how-harvard-business-review-strengthens-its-leadership-as-an-important-source-of-business-insight/'], ['https://theblog.adobe.com/4-reasons-to-use-adobe-experience-manager-and-adobe-target/'], ['https://theblog.adobe.com/adobe-employees-stay-educated-and-engaged-with-adobe-captivate-prime/'], ['https://theblog.adobe.com/for-tomorrows-leaders-creativity-is-more-powerful-than-technology/'], ['https://theblog.adobe.com/spatial-3d-design-branded-bistro-dimension/'], ['https://theblog.adobe.com/anna-natter-embracing-your-weirdness/'], ['https://theblog.adobe.com/adobe-powers-max-life-insurance-to-deliver-simple-relevant-and-effective-experiences/'], ['https://theblog.adobe.com/gaining-a-foothold-in-the-quest-for-more-customers/'], ['https://theblog.adobe.com/free-to-create-a-fantasy/'], ['https://theblog.adobe.com/6-essential-traits-of-a-digital-financial-services-leader/'], ['https://theblog.adobe.com/who-will-make-the-cut/'], ['https://theblog.adobe.com/login-gov-now-integrated-with-adobe-experience-manager-aem/'], ['https://theblog.adobe.com/stand-up-and-stand-out-announcing-the-2020-adobe-experience-maker-awards/'], ['https://theblog.adobe.com/how-adobe-analytics-now-works-with-wechat/'], ['https://theblog.adobe.com/holiday-email-marketing-tips-and-tricks/'], ['https://theblog.adobe.com/marketing-to-the-power-of-ai/'], ['https://theblog.adobe.com/creating-adobe-experience-platform-pipeline-with-kafka/'], ['https://theblog.adobe.com/adobe-experience-platform-orchestration-service-with-apache-airflow/'], ['https://theblog.adobe.com/respond-to-customers-in-real-time-with-edge-activation/'], ['https://theblog.adobe.com/how-to-build-a-best-of-breed-product-offering/'], ['https://theblog.adobe.com/the-story-behind-taco-bells-in-house-creative-agency/'], ['https://theblog.adobe.com/adobe-and-mlb-announce-winners-of-analytics-competition/'], ['https://theblog.adobe.com/photoshop-reimagined-for-ipad-the-journey/'], ['https://theblog.adobe.com/celebrating-small-business-saturday/'], ['https://theblog.adobe.com/adobe-named-a-leader-in-2019-forrester-wave-for-digital-asset-management-for-customer-experience/'], ['https://theblog.adobe.com/how-creativity-drives-holiday-success-for-fabletics-techstyle-fashion-group/'], ['https://theblog.adobe.com/how-versa-designs-user-experiences-for-voice-with-adobe-xd/'], ['https://theblog.adobe.com/adobe-analytics-research-how-different-generations-bank/'], ['https://theblog.adobe.com/4-ways-to-supercharge-learning-with-creativity-using-adobe-spark/'], ['https://theblog.adobe.com/taking-the-lead-in-delivering-next-gen-personalization/'], ['https://theblog.adobe.com/fresh-food-ui-kit-design-healthy-grocery-apps/'], ['https://theblog.adobe.com/max-panel-recap/'], ['https://theblog.adobe.com/aerotrain-trains-the-next-generation-of-aircraft-technicians-with-help-from-adobe-sensei/'], ['https://theblog.adobe.com/how-pandora-mastered-the-art-of-personalization-at-scale/'], ['https://theblog.adobe.com/apac-adobe-insiders-share-inspiration-from-max-2019/'], ['https://theblog.adobe.com/how-mediamonks-is-harnessing-the-power-of-creative-to-connect-emotionally-with-customers/'], ['https://theblog.adobe.com/create-universe-sculpt-models-and-making-beats-through-msi-content-creation-laptops/'], ['https://theblog.adobe.com/the-power-of-imagery-shared-meaning/'], ['https://theblog.adobe.com/a-journey-through-time-dpdk-combines-experience-with-adobe-xd-for-continuous-innovation/'], ['https://theblog.adobe.com/creativity-for-all-in-higher-education-reflections-from-edumax-and-adobe-max/'], ['https://theblog.adobe.com/five-fab-lessons-with-bobby-berk-from-adobe-max/'], ['https://theblog.adobe.com/new-data-governance-capabilities-in-adobe-experience-platform-help-brands-manage-data-better/'], ['https://theblog.adobe.com/for-your-professional-development-advice-for-the-next-generation-of-experience-makers/'], ['https://theblog.adobe.com/delivering-greater-citizen-experiences-in-3-easy-steps/'], ['https://theblog.adobe.com/adobe-sign-makes-e-signatures-easier-than-ever-wherever-you-work/'], ['https://theblog.adobe.com/disruptive-expression-bold-fluid-unapologetic-creativity/'], ['https://theblog.adobe.com/talk-the-talk-by-localizing-your-e-commerce-site/'], ['https://theblog.adobe.com/w-b-mason-shows-how-to-break-with-tradition-by-building-on-it-using-adobe-experience-cloud-and-microsoft/'], ['https://theblog.adobe.com/adobe-and-microsoft-deepen-partnership-to-advance-customer-experience-management-cxm-and-cloud-productivity/'], ['https://theblog.adobe.com/free-adobe-stock-templates-for-the-holiday-shopping-season/'], ['https://theblog.adobe.com/cx-magnified-a-guide-for-the-digital-transforming-conglomerate/'], ['https://theblog.adobe.com/why-chinas-popular-singles-day-hasnt-taken-off-in-the-us/'], ['https://theblog.adobe.com/event-marketing-gets-smart/'], ['https://theblog.adobe.com/the-importance-of-storytelling-on-veterans-day/'], ['https://theblog.adobe.com/animate-characters-with-auto-lip-sync-powered-by-adobe-sensei/'], ['https://theblog.adobe.com/digital-transformation-for-the-retail-cio-connecting-digital-with-physical/'], ['https://theblog.adobe.com/why-creativity-is-the-superpower-for-tomorrows-workforce/'], ['https://theblog.adobe.com/what-japans-rugby-blossoms-can-teach-business-leaders/'], ['https://theblog.adobe.com/forrester-names-adobe-a-leader-in-digital-intelligence-platforms/'], ['https://theblog.adobe.com/these-3-video-creators-built-a-following-you-can-too/'], ['https://theblog.adobe.com/content-authenticity-initiative/'], ['https://theblog.adobe.com/introducing-design-circle/'], ['https://theblog.adobe.com/premiere-rush-tiktok-are-you-here-for-it/'], ['https://theblog.adobe.com/creativity-is-everywhere-now-photoshop-is-too-begin-the-journey-of-photoshop-reimagined-for-the-ipad/'], ['https://theblog.adobe.com/introducing-adobe-photoshop-camera/'], ['https://theblog.adobe.com/introducing-adobe-aero-step-into-a-new-reality/'], ['https://theblog.adobe.com/adobe-illustrator-on-the-ipad/'], ['https://theblog.adobe.com/creative-cloud-libraries-putting-all-your-assets-at-your-fingertips-and-making-collaboration-easier-than-ever/'], ['https://theblog.adobe.com/adobe-illustrator-2020/'], ['https://theblog.adobe.com/adobe-indesign-2020/'], ['https://theblog.adobe.com/adobe-animate-20-0-is-live-now/'], ['https://theblog.adobe.com/launching-a-new-version-of-creative-cloud-for-a-new-era-of-creativity/'], ['https://theblog.adobe.com/create-realistic-3d-designs-with-substance-the-texturing-suite/'], ['https://theblog.adobe.com/sound-is-half-the-experience/'], ['https://theblog.adobe.com/adobe-after-effects-is-faster-than-ever/'], ['https://theblog.adobe.com/professional-animation-thats-faster-and-more-fun/'], ['https://theblog.adobe.com/streamline-video-editing-and-deliver-better-stories-faster/'], ['https://theblog.adobe.com/adobe-fresco-is-at-max-again-on-windows/'], ['https://theblog.adobe.com/faster-smarter-more-creative/'], ['https://theblog.adobe.com/adobe-connects-creatives-with-marketers-to-accelerate-print-and-digital-experiences/'], ['https://theblog.adobe.com/underscoring-the-importance-of-digital-literacy-through-the-adobe-creative-campus-program/'], ['https://theblog.adobe.com/adobe-winter-stock-traditions-with-a-contemporary-twist/'], ['https://theblog.adobe.com/a-creators-studio-of-the-future/'], ['https://theblog.adobe.com/adobe-brings-fonts-to-ios-in-creative-cloud-mobile/'], ['https://theblog.adobe.com/the-tcs-new-york-city-marathon-races-ahead-with-adobe-creative-cloud/'], ['https://theblog.adobe.com/if-john-hancock-were-still-around-hed-be-using-digital-signatures/'], ['https://theblog.adobe.com/creating-a-rotating-product-interface-for-e-commerce-with-adobe-xd/'], ['https://theblog.adobe.com/visualize-your-product-in-a-realistic-environment/'], ['https://theblog.adobe.com/thank-you-to-our-max-2019-sponsors/'], ['https://theblog.adobe.com/lenovo-and-adobe-fuel-creativity-with-sessions-at-adobe-max/'], ['https://theblog.adobe.com/adobe-xd-plugins-jumpstart-your-designs/'], ['https://theblog.adobe.com/how-atlantic-records-continues-its-passion-for-artist-development-and-design-with-creative-cloud-libraries/'], ['https://theblog.adobe.com/introducing-adobe-design-to-print/'], ['https://theblog.adobe.com/what-cxm-looks-like-for-retail-brands/'], ['https://theblog.adobe.com/delivering-dynamic-personalized-experiences-with-adobe-targets-new-user-based-recommendations-algorithm/'], ['https://theblog.adobe.com/text-free-ui-kit-accessible-voice-ar-design/'], ['https://theblog.adobe.com/youre-going-to-want-to-check-out-these-great-sessions-at-max/'], ['https://theblog.adobe.com/ux-designer-to-watch-meet-design-student-viba-mohan/'], ['https://theblog.adobe.com/speed-up-your-creative-process-with-msi-creator-laptops/'], ['https://theblog.adobe.com/new-free-photoshop-templates-from-adobe-stock/'], ['https://theblog.adobe.com/join-us-if-you-dare-for-a-halloween-scare/'], ['https://theblog.adobe.com/adobe-forecasts-143-billion-in-u-s-online-sales-this-holiday-season/'], ['https://theblog.adobe.com/collab-create-with-dan-mace/'], ['https://theblog.adobe.com/students-in-industrys-largest-analytics-competition-to-work-with-adobe-and-mlb/'], ['https://theblog.adobe.com/this-year-at-adobe-max-immerse-your-senses-in-typography/'], ['https://theblog.adobe.com/adobe-continues-digital-media-access-in-venezuela/'], ['https://theblog.adobe.com/adobe-analytics-challenge-where-are-they-now/'], ['https://theblog.adobe.com/aaa-northeast-reimagines-roadside-assistance-for-members-with-adobe-and-microsoft/'], ['https://theblog.adobe.com/how-adobe-dimension-can-transform-your-product-design-workflow/'], ['https://theblog.adobe.com/experience-the-latest-intel-optimized-creator-applications-and-pcs-at-adobe-max/'], ['https://theblog.adobe.com/augmented-reality-is-the-future-of-digital-experiences-pre-order-adobes-ar-authoring-app-aero/'], ['https://theblog.adobe.com/adobe-analytics-the-next-10-years/'], ['https://theblog.adobe.com/5-ways-to-improve-advertising-experiences-with-adobe-advertising-cloud/'], ['https://theblog.adobe.com/3d-design-tutorial-package-design-product-mockups/'], ['https://theblog.adobe.com/beauty-of-3d-design-john-godfrey-dimension/'], ['https://theblog.adobe.com/5-ways-ai-is-changing-the-fabric-of-brand-storytelling/'], ['https://theblog.adobe.com/photoshops-daily-halloween-challenge-hocusphocus/'], ['https://theblog.adobe.com/this-years-cmo50-winners-innovate-and-inspire/'], ['https://theblog.adobe.com/how-perficient-digital-is-changing-client-conversations-with-adobe-xd/'], ['https://theblog.adobe.com/keep-your-assets-on-hand-and-your-projects-on-brand-with-creative-cloud-libraries/'], ['https://theblog.adobe.com/adobe-analytics-helps-automakers-bring-together-data/'], ['https://theblog.adobe.com/connected-martech-solutions-are-key-to-efficiency/'], ['https://theblog.adobe.com/adobe-stock-presents-vsco-collection/'], ['https://theblog.adobe.com/5-indesign-hacks-every-creativepro-needs-to-know/'], ['https://theblog.adobe.com/libra-2019-isnt-done-with-you-just-yet/'], ['https://theblog.adobe.com/state-of-ai-in-document-management/'], ['https://theblog.adobe.com/adding-a-glideshow-to-your-spark-page/'], ['https://theblog.adobe.com/adobe-joins-the-technology-coalition-board/'], ['https://theblog.adobe.com/inspiration-and-indesign-with-design-army/'], ['https://theblog.adobe.com/announcing-the-winners-of-the-2019-adobe-government-creativity-awards/'], ['https://theblog.adobe.com/using-photoshop-to-make-your-brand-stand-out-on-instagram/'], ['https://theblog.adobe.com/create-beautiful-kaleidoscope-patterns-with-after-effects/'], ['https://theblog.adobe.com/adobe-named-a-leader-in-the-forrester-new-wave-for-cross-channel-video-advertising-platforms/'], ['https://theblog.adobe.com/contract-management-and-automation-is-everybodys-business/'], ['https://theblog.adobe.com/add-remarkable-lighting-to-a-photo-with-photoshop-and-after-effects/'], ['https://theblog.adobe.com/meet-the-2019-adobe-creativity-scholars/'], ['https://theblog.adobe.com/20-years-of-indesign-free-templates-to-celebrate/'], ['https://theblog.adobe.com/feedback-like-a-boss/'], ['https://theblog.adobe.com/4-steps-to-deliver-actionable-insights-with-analytics/'], ['https://theblog.adobe.com/star-wars-galaxy-of-adventures/'], ['https://theblog.adobe.com/effective-video-skills-are-essential-for-digital-fluency/'], ['https://theblog.adobe.com/the-countdown-has-begun-to-put-the-21st-century-idea-into-action/'], ['https://theblog.adobe.com/creating-a-living-photograph-with-photoshop-part-2/'], ['https://theblog.adobe.com/creating-a-living-photograph-with-photoshop-part-1/'], ['https://theblog.adobe.com/showcase-your-spark-video-in-your-spark-page/'], ['https://theblog.adobe.com/hack-the-huddle-with-adobe-analytics/'], ['https://theblog.adobe.com/state-of-ai-in-ux-ui-design-at-adobe/'], ['https://theblog.adobe.com/why-do-people-leave-websites-and-apps-decibels-platform-gives-you-the-answer/'], ['https://theblog.adobe.com/get-down-to-business-with-your-creative-hustle/'], ['https://theblog.adobe.com/adobe-grinds-into-high-gear-with-vans-park-series/'], ['https://theblog.adobe.com/make-a-big-impact-even-if-youre-not-a-big-brand/'], ['https://theblog.adobe.com/create-animated-titles-using-motion-graphics-templates-in-adobe-premiere-rush/'], ['https://theblog.adobe.com/smoothly-combine-music-and-dialogue-or-narration-with-auto-ducking-in-adobe-premiere-rush/'], ['https://theblog.adobe.com/eliminate-these-9-rich-media-gotchas-to-supercharge-your-customer-experiences/'], ['https://theblog.adobe.com/terminator-dark-fate-is-back-with-an-action-packed-battle-for-humanity-in-theatres-november-1-2019/'], ['https://theblog.adobe.com/adobe-creativity-scholar-premieres-personal-film-at-tiff/'], ['https://theblog.adobe.com/managing-dynamic-media-campaigns-just-got-easier/'], ['https://theblog.adobe.com/adobe-dreamweaver-2019-and-beyond/'], ['https://theblog.adobe.com/introducing-the-2019-2020-adobe-creative-residents/'], ['https://theblog.adobe.com/52-weeks-of-productivity/'], ['https://theblog.adobe.com/your-2020-creative-resolutions/'], ['https://theblog.adobe.com/challenge-yourself-make-2020-your-most-creative-year/'], ['https://theblog.adobe.com/how-imm-is-empowering-students-to-become-the-masters-of-their-own-digital-learning/'], ['https://theblog.adobe.com/ai-moving-up-the-value-chain/'], ['https://theblog.adobe.com/customer-experience-management-cxm-unifies-data-and-the-roles-of-advertising-and-marketing/'], ['https://theblog.adobe.com/top-three-visual-trends-of-2019-from-behance/'], ['https://theblog.adobe.com/clues-to-diagnose-7-profit-killing-features-on-your-ecommerce-site/'], ['https://theblog.adobe.com/adobe-unveils-comprehensive-report-analyzing-effectiveness-of-premium-versus-non-premium-media/'], ['https://theblog.adobe.com/the-it-experts-guide-to-ai-and-content-management/'], ['https://theblog.adobe.com/cdot-saves-time-and-money-paving-the-way-to-digital-with-adobe-sign/'], ['https://theblog.adobe.com/new-year-new-you-on-cleanoffyourdeskday/'], ['https://theblog.adobe.com/pdn-photography-award-winners-on-the-power-of-place/'], ['https://theblog.adobe.com/how-a-cloud-native-cms-makes-content-delivery-faster-and-easier-content-creation-for-a-modern-era/'], ['https://theblog.adobe.com/how-a-reader-centric-mindset-sets-cmo-by-adobe-apart/'], ['https://theblog.adobe.com/5-reasons-you-should-drop-by-the-adobe-booth-at-nrf-2020/'], ['https://theblog.adobe.com/nintex-closes-the-loop-on-a-fully-digital-sales-workflow-switching-to-adobe-sign-from-docusign/'], ['https://theblog.adobe.com/4-design-trends-that-will-define-2020/'], ['https://theblog.adobe.com/new-year-new-decade-new-privacy-protections/'], ['https://theblog.adobe.com/seven-artists-put-their-creative-spin-on-lunar-new-year-rituals/'], ['https://theblog.adobe.com/the-city-of-boston-brings-vital-records-online-with-adobe-xd/'], ['https://theblog.adobe.com/adobe-unveils-new-customer-experience-management-innovations-across-adobe-experience-cloud-at-nrf-2020/'], ['https://theblog.adobe.com/adobe-analytics-helps-retailers-bridge-online-shopping-and-physical-stores/'], ['https://theblog.adobe.com/five-adobe-leaders-share-rituals-for-a-successful-new-year/'], ['https://theblog.adobe.com/adobe-character-animator-receives-emmy-award-for-technology-and-engineering/'], ['https://theblog.adobe.com/adobe-boosts-global-trust-with-apec-prp-certification/'], ['https://theblog.adobe.com/environmental-documentary-captures-the-gamut-of-our-climate-conscious-times/'], ['https://theblog.adobe.com/quickly-remove-unwanted-audio-content-with-the-spot-healing-brush-in-adobe-audition/'], ['https://theblog.adobe.com/after-effects-2020-express-yourself-and-your-text/'], ['https://theblog.adobe.com/adobe-at-sundance-2020/'], ['https://theblog.adobe.com/adobe-and-sundance-institute-launch-inaugural-women-at-sundance-adobe-fellowship/'], ['https://theblog.adobe.com/new-fonts-to-try-in-the-new-year/'], ['https://theblog.adobe.com/sentiment-analysis-a-key-to-measure-and-improve-the-customer-experience/'], ['https://theblog.adobe.com/chasing-the-limitless/'], ['https://theblog.adobe.com/introducing-productions-coming-soon-to-premiere-pro/'], ['https://theblog.adobe.com/stepping-up-for-climate-action/'], ['https://theblog.adobe.com/marketing-year-in-review-howd-we-do-as-an-industry/'], ['https://theblog.adobe.com/from-neon-glow-to-liquid-flow-these-motion-trends-will-shape-2020/'], ['https://theblog.adobe.com/adobe-joins-the-valuable-500-movement-to-put-disabilities-on-the-business-leadership-agenda/'], ['https://theblog.adobe.com/adobe-color-cc-pantone-themes-palettes/'], ['https://theblog.adobe.com/connected-tv-three-things-marketers-need-to-know/'], ['https://theblog.adobe.com/tiled-plugin-xd-interactive-microapps-prototypes/'], ['https://theblog.adobe.com/5-summit-sessions-that-will-improve-your-design-strategy-for-adobe-experience-manager/'], ['https://theblog.adobe.com/top-10-reasons-to-implement-digital-document-workflows-with-e-signatures-in-2020/'], ['https://theblog.adobe.com/recolor-adobe-stock-vector-artwork-with-adobe-illustrator-to-get-exactly-the-look-you-want/'], ['https://theblog.adobe.com/easily-gather-and-incorporate-design-feedback-with-adobe-acrobat-and-indesign/'], ['https://theblog.adobe.com/from-the-acr-team-merge-to-panorama/'], ['https://theblog.adobe.com/capture-extension-photoshop-cc-libraries/'], ['https://theblog.adobe.com/show-off-your-design-work-in-the-real-world-with-adobe-stock-and-photoshop/'], ['https://theblog.adobe.com/master-content-a-breakdown-of-a-great-story-in-the-digital-age/'], ['https://theblog.adobe.com/putting-a-new-face-on-adobe-experience-league-and-marketo-communities/'], ['https://theblog.adobe.com/create-realistic-3d-mock-ups-with-adobe-stock-and-dimension/'], ['https://theblog.adobe.com/pre-plan-for-a-productive-tax-season/'], ['https://theblog.adobe.com/the-digital-collection-of-the-natural-history-museum-london-a-3d-insect-challenge/'], ['https://theblog.adobe.com/how-the-focus-on-ux-helped-the-nsf-double-its-science-app-installs/'], ['https://theblog.adobe.com/put-your-data-in-motion-with-adobe-stock-and-premiere-pro/'], ['https://theblog.adobe.com/5-data-hurdles-in-real-time-customer-experience-management/'], ['https://theblog.adobe.com/10-reasons-to-drop-what-youre-doing-and-register-for-adobe-summit-2020/'], ['https://theblog.adobe.com/dimension-tutorial-famous-paintings-recreated/'], ['https://theblog.adobe.com/simoul-alva-visual-designer-3d-advocate/'], ['https://theblog.adobe.com/the-future-of-content-asset-management-is-at-adobe-summit/'], ['https://theblog.adobe.com/celebrating-black-history-month-a-multi-generational-story/'], ['https://theblog.adobe.com/anyone-can-be-creative-with-adobe-creative-cloud/'], ['https://theblog.adobe.com/crop-crop-cropping-on-heavens-door/'], ['https://theblog.adobe.com/5-ways-your-small-business-can-stand-out-from-the-competition/'], ['https://theblog.adobe.com/6-ways-to-acquire-new-customers/'], ['https://theblog.adobe.com/5-diy-strategies-for-marketers-at-small-businesses/'], ['https://theblog.adobe.com/adobe-celebrates-creativity-for-all-in-academy-awards-ad/'], ['https://theblog.adobe.com/ai-is-making-us-more-human/'], ['https://theblog.adobe.com/festival-of-the-impossible-2020-call-for-submissions-now-open/'], ['https://theblog.adobe.com/how-refining-definitions-of-digital-literacy-emphasizes-student-needs/'], ['https://theblog.adobe.com/who-loves-you-red-monster-loves-you/'], ['https://theblog.adobe.com/adobe-continues-strong-investment-in-anz-with-adobe-experience-platform-and-new-data-centre/'], ['https://theblog.adobe.com/the-content-authenticity-initiative-summit-collaborating-to-drive-trust-and-transparency-online/'], ['https://theblog.adobe.com/how-adobe-experience-platform-enables-effective-customer-experience-management/'], ['https://theblog.adobe.com/february-photography-releases/'], ['https://theblog.adobe.com/announcing-mac-os-voice-control-adobe-xd/'], ['https://theblog.adobe.com/adobe-sign-and-microsoft-sharepoint-now-make-data-collection-scalable-easier-and-faster/'], ['https://theblog.adobe.com/the-playbook-for-personalization/'], ['https://theblog.adobe.com/your-guide-to-the-adobe-creative-cloud-for-enterprise-track-at-adobe-summit/'], ['https://theblog.adobe.com/building-a-better-onboarding-experience/'], ['https://theblog.adobe.com/business-school-students-from-20-universities-make-the-case-for-creativity-and-digital-literacy/'], ['https://theblog.adobe.com/look-dont-touch-the-rise-of-drone-footage/'], ['https://theblog.adobe.com/create-your-own-paws-itively-meownificent-gifs/'], ['https://theblog.adobe.com/consumer-goods-industry-disrupted-and-redefined/'], ['https://theblog.adobe.com/what-travel-and-hospitality-brands-can-expect-at-adobe-summit-2020/'], ['https://theblog.adobe.com/the-retail-revolution-the-need-for-speed-and-agility/'], ['https://theblog.adobe.com/adobe-summit-2020-the-fast-lane-to-great-customer-experiences/'], ['https://theblog.adobe.com/why-the-financial-services-community-is-heading-to-adobe-summit-2020/'], ['https://theblog.adobe.com/high-tech-industry-at-adobe-summit/'], ['https://theblog.adobe.com/b2b-at-adobe-summit-2020-dont-miss-it/'], ['https://theblog.adobe.com/why-you-should-attend-the-healthcare/'], ['https://theblog.adobe.com/bringing-lyrics-to-life-with-photoshop-on-the-ipad/'], ['https://theblog.adobe.com/what-travel-brands-can-expect-at-adobe-summit-2020/'], ['https://theblog.adobe.com/six-easy-steps-to-prepare-forms-like-a-boss/'], ['https://theblog.adobe.com/add-motion-to-still-images-with-adobe-stock-and-photoshop/'], ['https://theblog.adobe.com/dimension-tutorial-3d-brand-identity-visualization/'], ['https://theblog.adobe.com/simoul-alva-visual-designer-3d-advocate/'], ['https://theblog.adobe.com/six-brands-share-dam-best-practices/'], ['https://theblog.adobe.com/psychology-of-onboarding/'], ['https://theblog.adobe.com/best-practices-in-content-management-it-edition/'], ['https://theblog.adobe.com/join-top-media-entertainment-and-communication-leaders-at-adobe-summit-2020/'], ['https://theblog.adobe.com/the-future-of-work-is-now-for-government/'], ['https://theblog.adobe.com/the-changing-role-of-it-in-the-customer-experience-era/'], ['https://theblog.adobe.com/lottiefiles-support-in-adobe-animate-coming-soon/'], ['https://theblog.adobe.com/design-in-bloom/'], ['https://theblog.adobe.com/lottiefiles-support-in-adobe-animate-coming-soon/'], ['https://theblog.adobe.com/design-in-bloom/'], ['https://theblog.adobe.com/from-neon-glow-to-liquid-flow-these-motion-trends-will-shape-2020/'], ['https://theblog.adobe.com/happy-birthday-photoshop/'], ['https://theblog.adobe.com/happy-birthday-photoshop/'], ['https://theblog.adobe.com/access-the-power-of-adobe-acrobat-inside-google-drive/'], ['https://theblog.adobe.com/customer-centric-ads-take-center-stage-at-adobe-summits-cross-channel-advertising-track/'], ['https://theblog.adobe.com/portfolio-domain-connect-live-on-behance-goes-global/'], ['https://theblog.adobe.com/your-guide-to-the-personalization-track-sessions-at-adobe-summit-2020/'], ['https://theblog.adobe.com/the-new-signs-of-spring/'], ['https://theblog.adobe.com/opportunity-parity-first-steps-in-our-journey/'], ['https://theblog.adobe.com/creativity-and-sport-on-the-global-stage/'], ['https://theblog.adobe.com/jon-vio-3d-design-journey-with-dimension/'], ['https://theblog.adobe.com/how-artist-lera-efremova-creates-welcoming-organic-forms/'], ['https://theblog.adobe.com/summit-2020-announcement-the-analytics-rockstars/'], ['https://theblog.adobe.com/preview-it-here-commerce-shopper-experience-track-at-adobe-summit/'], ['https://theblog.adobe.com/what-you-need-to-know-about-the-email-campaign-management-track-at-adobe-summit/'], ['https://theblog.adobe.com/westjet-makes-design-central-to-the-customer-experience/'], ['https://theblog.adobe.com/adobe-stock-is-the-new-exclusive-home-of-hero-and-caia-plus-an-expanded-eyeem-premium-collection/'], ['https://theblog.adobe.com/embracing-creative-differences/'], ['https://theblog.adobe.com/need-to-save-9-1m-in-three-years-digitize-your-document-processes/'], ['https://theblog.adobe.com/handmade-design-in-a-digital-world/'], ['https://theblog.adobe.com/not-deep-linking-heres-why-thats-hurting-your-in-app-experience/'], ['https://theblog.adobe.com/36-days-of-type-participate-for-a-chance-to-win/'], ['https://theblog.adobe.com/zeroheight-plugin-adobe-xd/'], ['https://theblog.adobe.com/copyrights-in-the-era-of-ai/'], ['https://theblog.adobe.com/creativity-for-all-adobe-and-sundance-nurture-next-generation-filmmakers-in-2020-challenge/'], ['https://theblog.adobe.com/36-days-of-type-with-adobe-dimension/'], ['https://theblog.adobe.com/36-days-of-type-in-adobe-aero/'], ['https://theblog.adobe.com/36-days-of-type-for-3d-and-ar/'], ['https://theblog.adobe.com/modern-healthcare-must-understand-their-consumers-as-individuals-personalization-and-empathy/'], ['https://theblog.adobe.com/dont-miss-these-upcoming-2020-scholarship-opportunities/'], ['https://theblog.adobe.com/adobe-summit/'], ['https://theblog.adobe.com/adobe-spark-and-adobe-creative-cloud-now-integrate-with-canvas-lms-to-help-educators-and-students-easily-explore-and-engage-in-creativity/'], ['https://theblog.adobe.com/customizing-a-licensed-motion-graphics-template-a-walkthrough/'], ['https://theblog.adobe.com/the-learning-power-of-multimedia-introducing-our-new-adobeeducreative-program/'], ['https://theblog.adobe.com/kayo-sports-scores-big-with-new-subscriptions/'], ['https://theblog.adobe.com/this-international-womens-day-were-celebrating-mentors/'], ['https://theblog.adobe.com/creative-cloud-for-gmail-gsuite-addon/'], ['https://theblog.adobe.com/creativity-in-five-seconds/'], ['https://theblog.adobe.com/hybrid-cms-the-best-of-both-worlds/'], ['https://theblog.adobe.com/meet-the-first-adobe-xdi-team-for-the-americas/'], ['https://theblog.adobe.com/doubling-down-on-digital-literacy-in-utah-with-creative-tools/'], ['https://theblog.adobe.com/tripper-pro-a-story-of-broken-bones-and-broken-letterforms/'], ['https://theblog.adobe.com/share-like-a-boss/'], ['https://theblog.adobe.com/pantones-palettes-conjure-romantic-royal-and-heavenly-moods-at-nyfw/'], ['https://theblog.adobe.com/each-for-equal-driving-progress-for-women-at-adobe/'], ['https://theblog.adobe.com/adobe-withdraws-from-nab-show-2020/'], ['https://theblog.adobe.com/prescribing-digital-literacy-for-medical-professionals-with-adobe-creative-cloud/'], ['https://theblog.adobe.com/taylors-universitys-unique-digital-experience-for-every-student/'], ['https://theblog.adobe.com/from-fries-to-phones-leviathan-uses-adobe-xd-to-design-interactive-experiences/'], ['https://theblog.adobe.com/xd-march-2020-audio-prototyping-anchor-links-more/'], ['https://theblog.adobe.com/celebrating-and-empowering-women-today-and-everyday/'], ['https://theblog.adobe.com/how-to-name-your-motion-graphics-templates-for-stock-success/'], ['https://theblog.adobe.com/jakes-world-in-motion/'], ['https://theblog.adobe.com/adobe-withdraws-from-nab-show-2020/'], ['https://theblog.adobe.com/look-dont-touch-the-rise-of-drone-footage/'], ['https://theblog.adobe.com/look-dont-touch-the-rise-of-drone-footage/'], ['https://theblog.adobe.com/look-dont-touch-the-rise-of-drone-footage/'], ['https://theblog.adobe.com/look-dont-touch-the-rise-of-drone-footage/'], ['https://theblog.adobe.com/asia-miles-personalizes-rewards-for-over-12-million-members-worldwide/'], ['https://theblog.adobe.com/adobe-enables-distance-learning-globally-schools-impacted-covid-19/'], ['https://theblog.adobe.com/wfh-101-tips-to-stay-productive-wherever-you-work/'], ['https://theblog.adobe.com/how-covid-19-is-impacting-online-shopping-behavior/'], ['https://theblog.adobe.com/finserv-markets-reduce-time-to-market-by-40-with-adobe-experience-manager/'], ['https://theblog.adobe.com/not-done-taking-action-for-womens-equality/'], ['https://theblog.adobe.com/adobe-digital-luminary-program-illuminating-the-pack/'], ['https://theblog.adobe.com/colorful-cityscapes-and-complex-characters-with-adobe-character-animator-and-konee-rok/'], ['https://theblog.adobe.com/the-uscis-rebrands-and-builds-trust-with-creative-cloud-for-enterprise/'], ['https://theblog.adobe.com/how-behaviour-interactive-is-levelling-up-player-experience-using-ux-best-practices/'], ['https://theblog.adobe.com/dimension-3d-design-tutorial-geometric-reflections/'], ['https://theblog.adobe.com/victoria-siemer-witchoria-3d-art-magical-worlds/'], ['https://theblog.adobe.com/the-need-to-overcome-barriers-to-digitizing-content-centric-workflows/'], ['https://theblog.adobe.com/working-remotely-adobe-can-help/'], ['https://theblog.adobe.com/amelie-satzger-beats-artists-block-and-hits-reset-on-inspiration-in-24-day-challenge/'], ['https://theblog.adobe.com/podcasts-to-help-bring-small-businesses-together/'], ['https://theblog.adobe.com/how-adobe-xd-became-the-standard-for-prototyping-at-mccann/'], ['https://theblog.adobe.com/using-video-to-transform-how-the-city-of-roseville-engages-with-residents/'], ['https://theblog.adobe.com/introducing-public-beta/'], ['https://theblog.adobe.com/coming-together-supporting-our-communities-in-the-face-of-covid-19/'], ['https://theblog.adobe.com/how-shifting-strategies-will-drive-healthcare-organizations-response-to-covid-19/'], ['https://theblog.adobe.com/an-announcement-about-this-years-adobe-99u-conference/'], ['https://theblog.adobe.com/illuminate-your-animation-meet-neon-nikki/'], ['https://theblog.adobe.com/great-dam-renaissance/'], ['https://theblog.adobe.com/starting-distance-learning-adobe-for-education-is-here-to-help/'], ['https://theblog.adobe.com/starting-distance-learning/'], ['https://theblog.adobe.com/being-productive-and-collaborative-in-face-of-covid-19/'], ['https://theblog.adobe.com/cc-integrations-work-from-home/'], ['https://theblog.adobe.com/what-i-learned-from-olivia-wilde/'], ['https://theblog.adobe.com/smartwatch-design-workflow-xd-ai-dn-substance-painter/'], ['https://theblog.adobe.com/4-ways-retailers-can-respond-to-covid-19/'], ['https://theblog.adobe.com/strengthen-customer-relationships-in-uncertain-times/'], ['https://theblog.adobe.com/keep-brand-consistency-with-add-fonts-to-creative-cloud/'], ['https://theblog.adobe.com/from-me-to-we-virtually/'], ['https://theblog.adobe.com/brands-acting-responsibly-amid-covid-19/']], id: '2', index: 1, name: 'url', - }, { - '@odata.id': "/drives('b%21PpnkewKFAEaDTS6slvlVjh_3ih9lhEZMgYWwps6bPIWZMmLU5xGqS4uES8kIQZbH')/items('01DJQLOWZEOU3W6WPMPJBIOVS7WP6RQS7Y')/workbook/worksheets(%27%7B00000000-0001-0000-0000-000000000000%7D%27)/tables(%27%7BB5050AD7-88A8-5E46-8B35-2C04EFF92161%7D%27)/columns(%273%27)", values: [['import date'], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], [''], ['2020-02-10T08:21:02.029Z'], ['2020-02-10T08:21:12.827Z'], ['2020-02-10T08:21:22.683Z'], ['2020-02-10T08:21:32.348Z'], ['2020-02-10T08:21:44.622Z'], ['2020-02-10T08:21:55.744Z'], ['2020-02-10T08:22:06.792Z'], ['2020-02-10T08:22:17.237Z'], ['2020-02-10T08:22:27.413Z'], ['2020-02-10T08:22:37.490Z'], ['2020-02-10T08:22:45.683Z'], ['2020-02-10T08:23:00.407Z'], ['2020-02-10T08:23:12.847Z'], ['2020-02-10T08:25:12.228Z'], ['2020-02-10T08:25:23.264Z'], ['2020-02-10T08:25:32.409Z'], ['2020-02-10T08:25:42.685Z'], ['2020-02-10T08:25:49.716Z'], ['2020-02-10T08:25:56.750Z'], ['2020-02-10T08:26:05.165Z'], ['2020-02-10T08:26:12.491Z'], ['2020-02-10T08:30:09.913Z'], ['2020-02-10T16:50:23.401Z'], ['2020-02-10T16:50:33.541Z'], ['2020-02-10T16:50:57.717Z'], ['2020-02-11T13:48:56.345Z'], ['2020-02-11T13:52:30.707Z'], ['2020-02-11T13:52:49.011Z'], ['2020-02-11T16:01:32.702Z'], ['2020-02-11T16:02:01.435Z'], ['2020-02-12T09:26:01.324Z'], ['2020-02-13T16:15:41.273Z'], ['2020-02-13T16:25:25.099Z'], ['2020-02-13T16:25:51.61Z'], ['2020-02-13T17:05:16.758Z'], ['2020-02-13T17:19:09.466Z'], ['2020-02-13T17:37:10.243Z'], ['2020-02-13T21:50:32.321Z'], ['2020-02-13T21:51:32.058Z'], ['2020-02-13T21:53:10.014Z'], ['2020-02-13T21:53:26.276Z'], ['2020-02-13T21:53:47.366Z'], ['2020-02-13T21:54:01.932Z'], ['2020-02-13T22:00:20.291Z'], ['2020-02-13T22:00:48.256Z'], ['2020-02-13T22:20:16.995Z'], ['2020-02-13T22:30:40.848Z'], ['2020-02-13T23:50:21.903Z'], ['2020-02-14T07:58:51.772Z'], ['2020-02-14T08:04:20.748Z'], ['2020-02-14T09:24:41.509Z'], ['2020-02-14T15:05:22.934Z'], ['2020-02-14T15:06:39.05Z'], ['2020-02-14T15:10:18.24Z'], ['2020-02-14T18:50:14.576Z'], ['2020-02-14T21:25:21.876Z'], ['2020-02-19T14:35:13.693Z'], ['2020-02-19T14:35:23.679Z'], ['2020-02-19T14:35:35.502Z'], ['2020-02-19T15:12:54.143Z'], ['2020-02-19T15:15:54.057Z'], ['2020-02-19T15:17:35.202Z'], ['2020-02-20T09:15:14.659Z'], ['2020-02-20T10:38:46.712Z'], ['2020-02-21T09:50:15.547Z'], ['2020-02-21T09:50:26.627Z'], ['2020-02-21T09:50:40.749Z'], ['2020-02-21T16:15:16.007Z'], ['2020-02-21T17:55:28.758Z'], ['2020-02-21T17:55:46.713Z'], ['2020-02-24T18:05:13.635Z'], ['2020-02-24T18:05:37.079Z'], ['2020-02-24T18:05:54.221Z'], ['2020-02-25T00:20:25.118Z'], ['2020-02-25T15:05:21.002Z'], ['2020-02-25T15:11:40.869Z'], ['2020-02-25T16:05:51.921Z'], ['2020-02-25T17:10:31.499Z'], ['2020-02-26T16:10:18.713Z'], ['2020-02-26T17:10:18.62Z'], ['2020-02-26T17:10:34.077Z'], ['2020-02-26T20:45:20.182Z'], ['2020-02-26T22:05:20.536Z'], ['2020-02-27T14:05:31.472Z'], ['2020-02-27T14:05:49.273Z'], ['2020-02-27T17:15:13.335Z'], ['2020-02-28T17:06:24.622Z'], ['2020-02-28T17:06:58.938Z'], ['2020-02-28T17:10:11.04Z'], ['2020-02-28T23:05:20.438Z'], ['2020-03-02T16:15:17.044Z'], ['2020-03-02T23:45:14.57Z'], ['2020-03-03T20:05:23.074Z'], ['2020-03-04T17:05:24.042Z'], ['2020-03-04T18:06:10.297Z'], ['2020-03-04T22:05:21.902Z'], ['2020-03-04T22:15:18.551Z'], ['2020-03-05T14:05:30.51Z'], ['2020-03-05T15:00:36.015Z'], ['2020-03-05T16:05:30.502Z'], ['2020-03-05T16:35:16.041Z'], ['2020-03-05T16:35:35.222Z'], ['2020-03-05T17:05:30.446Z'], ['2020-03-05T18:05:23.652Z'], ['2020-03-06T15:05:23.171Z'], ['2020-03-09T15:05:20.284Z'], ['2020-03-09T15:20:26.027Z'], ['2020-03-09T15:35:21.449Z'], ['2020-03-09T21:15:25.761Z'], ['2020-03-10T15:05:27.817Z'], ['2020-03-11T13:05:20.426Z'], ['2020-03-11T16:05:20.226Z'], ['2020-03-11T16:05:38.232Z'], ['2020-03-11T16:05:58.225Z'], ['2020-03-12T10:13:54.835Z'], ['2020-03-12T13:44:43.673Z'], ['2020-03-12T13:49:02.687Z'], ['2020-03-12T13:50:47.63Z'], ['2020-03-12T13:52:57.643Z'], ['2020-03-12T17:15:15.564Z'], ['2020-03-13T04:05:22.989Z'], ['2020-03-13T16:15:23.873Z'], ['2020-03-13T21:25:19.841Z'], ['2020-03-13T23:05:19.619Z'], ['2020-03-16T15:05:26.781Z'], ['2020-03-16T23:40:19.089Z'], ['2020-03-17T14:25:31.443Z'], ['2020-03-17T15:05:22.550Z'], ['2020-03-17T15:05:48.515Z'], ['2020-03-17T15:06:38.203Z'], ['2020-03-17T15:10:21.892Z'], ['2020-03-19T13:20:13.481Z'], ['2020-03-19T13:40:14.132Z'], ['2020-03-19T16:00:29.420Z'], ['2020-03-19T16:10:34.176Z'], ['2020-03-19T17:30:15.371Z'], ['2020-03-19T22:45:31.590Z'], ['2020-03-20T09:30:17.466Z'], ['2020-03-20T16:05:18.405Z'], ['2020-03-20T18:30:35.461Z'], ['2020-03-20T19:15:16.568Z'], ['2020-03-23T15:05:37.675Z'], ['2020-03-23T22:50:25.029Z'], ['2020-03-23T23:10:21.929Z'], ['2020-03-23T23:15:29.525Z'], ['2020-03-24T00:05:17.998Z'], ['2020-03-24T13:05:26.611Z'], ['2020-03-24T15:05:22.486Z'], ['2020-03-24T15:06:14.406Z'], ['2020-03-24T16:05:24.006Z'], ['2020-03-24T16:35:17.226Z'], ['2020-03-25T16:05:25.013Z'], ['2020-03-25T16:05:46.207Z'], ['2020-03-25T16:20:13.696Z']], id: '3', index: 2, name: 'import date', - }], - }; - } - throw Error(); - }, - }; +class DummyOneDrive extends OneDriveMock { + constructor() { + super(); + this.registerWorkbook('my-drive', 'my-item', exampleBook); + this.registerWorkbook('my-drive', 'my-item-no-tables', exampleBook2); + this.registerShareLink(TEST_SHARE_LINK, 'my-drive', 'my-item'); + this.registerShareLink(TEST_SHARE_LINK_NO_TABLES, 'my-drive', 'my-item-no-tables'); } } @@ -78,47 +39,33 @@ describe('Excel Tests', () => { }, }); - it('Works for Excel Feeds', async () => { + it('Works for Excel Workbooks with no tables', async () => { + const expected = await fs.readJson(path.resolve(__dirname, 'fixtures', 'example-data-sheet1.json')); const result = await extract( - 'https://adobe.sharepoint.com/sites/TheBlog/_layouts/15/guestaccess.aspx?share=ESR1N29Z7HpCh1Zfs_0YS_gB4gVSuKyWRut-kNcHVSvkew&email=helix%40adobe.com&e=hx0OUl', + 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data-no-tables.xlsx', {}, ); assert.equal(result.statusCode, 200); - assert.notEqual(result.body.length, 0); - assert.equal(result.body[0].url, 'https://theblog.adobe.com/silka-miesnieks-designing-immersive-world/'); - assert.ok(result.body[0].year); + assert.deepEqual(result.body, expected); }).timeout(15000); - it('Fails for invalid Excel Feeds', async () => { + it('Works for Excel Workbooks with tables', async () => { + const expected = await fs.readJson(path.resolve(__dirname, 'fixtures', 'example-data-sheet1.json')); const result = await extract( - 'invalid', + 'https://adobe.sharepoint.com/:x:/r/sites/cg-helix/Shared%20Documents/data-embed-unit-tests/example-data.xlsx', {}, ); - - assert.equal(result.statusCode, 500); - assert.equal(result.body.length, 0); + assert.equal(result.statusCode, 200); + assert.deepEqual(result.body, expected); }).timeout(15000); -}); -describe('Excel Graph Tests', () => { - const { extract } = proxyquire('../src/matchers/excel.js', { - '@adobe/helix-onedrive-support': { - OneDrive: DummyOneDrive, - }, - }); - - it('Works for Excel Feeds', async () => { + it('Fails for invalid Excel workbook', async () => { const result = await extract( - 'https://adobe.sharepoint.com/sites/TheBlog/_layouts/15/guestaccess.aspx?share=ESR1N29Z7HpCh1Zfs_0YS_gB4gVSuKyWRut-kNcHVSvkew&email=helix%40adobe.com&e=hx0OUl', - { - AZURE_WORD2MD_CLIENT_ID: process.env.AZURE_WORD2MD_CLIENT_ID, - AZURE_HELIX_USER: process.env.AZURE_HELIX_USER, - AZURE_HELIX_PASSWORD: process.env.AZURE_HELIX_PASSWORD, - }, + 'invalid', + {}, ); - assert.equal(result.statusCode, 200); - assert.notEqual(result.body.length, 0); - assert.equal(result.body[0].url, 'https://theblog.adobe.com/silka-miesnieks-designing-immersive-world/'); - assert.ok(result.body[0].year); + + assert.equal(result.statusCode, 500); + assert.equal(result.body.length, 0); }).timeout(15000); }); diff --git a/test/fixtures/book-with-tables.js b/test/fixtures/book-with-tables.js new file mode 100644 index 00000000..8a7f2b8f --- /dev/null +++ b/test/fixtures/book-with-tables.js @@ -0,0 +1,43 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +const data = [ + ['Country', 'Code', 'Number'], + ['Japan', 'JP', 3], + ['Germany', 'DE', 5], + ['USA', 'US', 7], + ['Switzerland', 'CH', 27], + ['France', 'FR', 99], +]; + +const tables = [{ + name: 'table', + headerNames: data[0], + rows: data.slice(1), +}]; + +const namedItems = []; + +module.exports = { + name: 'book-with-tables', + tables, + sheets: [{ + name: 'Sheet1', + tables, + namedItems, + usedRange: { + address: 'Sheet1!A1:B4', + addressLocal: 'A1:B4', + values: data, + }, + }], + namedItems, +}; diff --git a/test/fixtures/book-without-tables.js b/test/fixtures/book-without-tables.js new file mode 100644 index 00000000..25b7ded6 --- /dev/null +++ b/test/fixtures/book-without-tables.js @@ -0,0 +1,39 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +const data = [ + ['Country', 'Code', 'Number'], + ['Japan', 'JP', 3], + ['Germany', 'DE', 5], + ['USA', 'US', 7], + ['Switzerland', 'CH', 27], + ['France', 'FR', 99], +]; + +const tables = []; + +const namedItems = []; + +module.exports = { + name: 'book-with-tables', + tables, + sheets: [{ + name: 'Sheet1', + tables, + namedItems, + usedRange: { + address: 'Sheet1!A1:B4', + addressLocal: 'A1:B4', + values: data, + }, + }], + namedItems, +}; diff --git a/test/fixtures/example-data-sheet1.json b/test/fixtures/example-data-sheet1.json new file mode 100644 index 00000000..8ed32922 --- /dev/null +++ b/test/fixtures/example-data-sheet1.json @@ -0,0 +1,27 @@ +[ + { + "Country": "Japan", + "Code": "JP", + "Number": 3 + }, + { + "Country": "Germany", + "Code": "DE", + "Number": 5 + }, + { + "Country": "USA", + "Code": "US", + "Number": 7 + }, + { + "Country": "Switzerland", + "Code": "CH", + "Number": 27 + }, + { + "Country": "France", + "Code": "FR", + "Number": 99 + } +]