Version in base suite: 3.0.4+~3.0.3-1 Base version: node-minimatch_3.0.4+~3.0.3-1 Target version: node-minimatch_3.0.4+~3.0.3-1+deb11u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/n/node-minimatch/node-minimatch_3.0.4+~3.0.3-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/n/node-minimatch/node-minimatch_3.0.4+~3.0.3-1+deb11u1.dsc changelog | 7 patches/CVE-2022-3517.patch | 8498 ++++++++++++++++++++++++++++++++++++++++++++ patches/series | 1 3 files changed, 8506 insertions(+) diff -Nru node-minimatch-3.0.4+~3.0.3/debian/changelog node-minimatch-3.0.4+~3.0.3/debian/changelog --- node-minimatch-3.0.4+~3.0.3/debian/changelog 2020-11-05 10:07:32.000000000 +0000 +++ node-minimatch-3.0.4+~3.0.3/debian/changelog 2022-10-20 15:18:50.000000000 +0000 @@ -1,3 +1,10 @@ +node-minimatch (3.0.4+~3.0.3-1+deb11u1) bullseye; urgency=medium + + * Team upload + * Improve redos protection (Closes: CVE-2022-3517) + + -- Yadd Thu, 20 Oct 2022 17:18:50 +0200 + node-minimatch (3.0.4+~3.0.3-1) unstable; urgency=medium * Team upload diff -Nru node-minimatch-3.0.4+~3.0.3/debian/patches/CVE-2022-3517.patch node-minimatch-3.0.4+~3.0.3/debian/patches/CVE-2022-3517.patch --- node-minimatch-3.0.4+~3.0.3/debian/patches/CVE-2022-3517.patch 1970-01-01 00:00:00.000000000 +0000 +++ node-minimatch-3.0.4+~3.0.3/debian/patches/CVE-2022-3517.patch 2022-10-20 15:18:50.000000000 +0000 @@ -0,0 +1,8498 @@ +Description: Improve redos protection +Author: isaacs +Origin: upstream, https://github.com/isaacs/minimatch/commit/a8763f43 +Bug: https://github.com/grafana/grafana-image-renderer/issues/329 +Forwarded: not-needed +Reviewed-By: Yadd +Last-Update: 2022-10-20 + +--- a/minimatch.js ++++ b/minimatch.js +@@ -1,15 +1,15 @@ + module.exports = minimatch + minimatch.Minimatch = Minimatch + +-var path = { sep: '/' } +-try { +- path = require('path') +-} catch (er) {} ++const path = (() => { try { return require('path') } catch (e) {}})() || { ++ sep: '/' ++} ++minimatch.sep = path.sep + +-var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} +-var expand = require('brace-expansion') ++const GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} ++const expand = require('brace-expansion') + +-var plTypes = { ++const plTypes = { + '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, + '?': { open: '(?:', close: ')?' }, + '+': { open: '(?:', close: ')+' }, +@@ -19,22 +19,22 @@ + + // any single thing other than / + // don't need to escape / when using new RegExp() +-var qmark = '[^/]' ++const qmark = '[^/]' + + // * => any number of characters +-var star = qmark + '*?' ++const star = qmark + '*?' + + // ** when dots are allowed. Anything goes, except .. and . + // not (^ or / followed by one or two dots followed by $ or /), + // followed by anything, any number of times. +-var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' ++const twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' + + // not a ^ or / followed by a dot, + // followed by anything, any number of times. +-var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' ++const twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' + + // characters that need to be escaped in RegExp. +-var reSpecials = charSet('().*{}+?[]^$\\!') ++const reSpecials = charSet('().*{}+?[]^$\\!') + + // "abc" -> { a:true, b:true, c:true } + function charSet (s) { +@@ -45,7 +45,7 @@ + } + + // normalizes slashes. +-var slashSplit = /\/+/ ++const slashSplit = /\/+/ + + minimatch.filter = filter + function filter (pattern, options) { +@@ -58,41 +58,63 @@ + function ext (a, b) { + a = a || {} + b = b || {} +- var t = {} +- Object.keys(b).forEach(function (k) { +- t[k] = b[k] +- }) ++ const t = {} + Object.keys(a).forEach(function (k) { + t[k] = a[k] + }) ++ Object.keys(b).forEach(function (k) { ++ t[k] = b[k] ++ }) + return t + } + + minimatch.defaults = function (def) { +- if (!def || !Object.keys(def).length) return minimatch ++ if (!def || typeof def !== 'object' || !Object.keys(def).length) { ++ return minimatch ++ } + +- var orig = minimatch ++ const orig = minimatch + +- var m = function minimatch (p, pattern, options) { +- return orig.minimatch(p, pattern, ext(def, options)) ++ const m = function minimatch (p, pattern, options) { ++ return orig(p, pattern, ext(def, options)) + } + + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + } ++ m.Minimatch.defaults = options => { ++ return orig.defaults(ext(def, options)).Minimatch ++ } ++ ++ m.filter = function filter (pattern, options) { ++ return orig.filter(pattern, ext(def, options)) ++ } ++ ++ m.defaults = function defaults (options) { ++ return orig.defaults(ext(def, options)) ++ } ++ ++ m.makeRe = function makeRe (pattern, options) { ++ return orig.makeRe(pattern, ext(def, options)) ++ } ++ ++ m.braceExpand = function braceExpand (pattern, options) { ++ return orig.braceExpand(pattern, ext(def, options)) ++ } ++ ++ m.match = function (list, pattern, options) { ++ return orig.match(list, pattern, ext(def, options)) ++ } + + return m + } + + Minimatch.defaults = function (def) { +- if (!def || !Object.keys(def).length) return Minimatch + return minimatch.defaults(def).Minimatch + } + + function minimatch (p, pattern, options) { +- if (typeof pattern !== 'string') { +- throw new TypeError('glob pattern string required') +- } ++ assertValidPattern(pattern) + + if (!options) options = {} + +@@ -112,9 +134,7 @@ + return new Minimatch(pattern, options) + } + +- if (typeof pattern !== 'string') { +- throw new TypeError('glob pattern string required') +- } ++ assertValidPattern(pattern) + + if (!options) options = {} + pattern = pattern.trim() +@@ -242,12 +262,9 @@ + pattern = typeof pattern === 'undefined' + ? this.pattern : pattern + +- if (typeof pattern === 'undefined') { +- throw new TypeError('undefined pattern') +- } ++ assertValidPattern(pattern) + +- if (options.nobrace || +- !pattern.match(/\{.*\}/)) { ++ if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + // shortcut. no need to expand. + return [pattern] + } +@@ -255,6 +272,17 @@ + return expand(pattern) + } + ++const MAX_PATTERN_LENGTH = 1024 * 64 ++const assertValidPattern = pattern => { ++ if (typeof pattern !== 'string') { ++ throw new TypeError('invalid pattern') ++ } ++ ++ if (pattern.length > MAX_PATTERN_LENGTH) { ++ throw new TypeError('pattern is too long') ++ } ++} ++ + // parse a component of the expanded set. + // At this point, no pattern may contain "/" in it + // so we're going to return a 2d array, where each entry is the full +@@ -267,11 +295,9 @@ + // of * is equivalent to a single *. Globstar behavior is enabled by + // default, and can be disabled by setting options.noglobstar. + Minimatch.prototype.parse = parse +-var SUBPARSE = {} ++const SUBPARSE = {} + function parse (pattern, isSub) { +- if (pattern.length > 1024 * 64) { +- throw new TypeError('pattern is too long') +- } ++ assertValidPattern(pattern) + + var options = this.options + +@@ -280,7 +306,7 @@ + if (pattern === '') return '' + + var re = '' +- var hasMagic = !!options.nocase ++ var hasMagic = false + var escaping = false + // ? => one single character + var patternListStack = [] +@@ -332,10 +358,11 @@ + } + + switch (c) { +- case '/': ++ case '/': /* istanbul ignore next */ { + // completely not allowed, even escaped. + // Should already be path-split by now. + return false ++ } + + case '\\': + clearStateChar() +@@ -620,7 +647,7 @@ + var flags = options.nocase ? 'i' : '' + try { + var regExp = new RegExp('^' + re + '$', flags) +- } catch (er) { ++ } catch (er) /* istanbul ignore next - should be impossible */ { + // If it was an invalid regular expression, then it can't match + // anything. This trick looks for a character after the end of + // the string, which is of course impossible, except in multi-line +@@ -678,7 +705,7 @@ + + try { + this.regexp = new RegExp(re, flags) +- } catch (ex) { ++ } catch (ex) /* istanbul ignore next - should be impossible */ { + this.regexp = false + } + return this.regexp +@@ -686,7 +713,7 @@ + + minimatch.match = function (list, pattern, options) { + options = options || {} +- var mm = new Minimatch(pattern, options) ++ const mm = new Minimatch(pattern, options) + list = list.filter(function (f) { + return mm.match(f) + }) +@@ -779,6 +806,7 @@ + + // should be impossible. + // some invalid regexp stuff in the set. ++ /* istanbul ignore if */ + if (p === false) return false + + if (p === GLOBSTAR) { +@@ -852,6 +880,7 @@ + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then ++ /* istanbul ignore if */ + if (partial) { + // ran out of file + this.debug('\n>>> no match, partial?', file, fr, pattern, pr) +@@ -900,16 +929,16 @@ + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial +- } else if (pi === pl) { ++ } else /* istanbul ignore else */ if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ +- var emptyFileEnd = (fi === fl - 1) && (file[fi] === '') +- return emptyFileEnd ++ return (fi === fl - 1) && (file[fi] === '') + } + + // should be unreachable. ++ /* istanbul ignore next */ + throw new Error('wtf?') + } + +--- a/package-lock.json ++++ b/package-lock.json +@@ -1,21 +1,8004 @@ + { + "name": "minimatch", + "version": "3.0.4", ++ "lockfileVersion": 2, ++ "requires": true, ++ "packages": { ++ "": { ++ "name": "minimatch", ++ "version": "3.0.4", ++ "license": "ISC", ++ "dependencies": { ++ "brace-expansion": "^1.1.7" ++ }, ++ "devDependencies": { ++ "tap": "^15.1.6" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/@ampproject/remapping": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.0.4.tgz", ++ "integrity": "sha512-zU3pj3pf//YhaoozRTYKaL20KopXrzuZFc/8Ylc49AuV8grYKH23TTq9JJoR70F8zQbil58KjSchZTWeX+jrIQ==", ++ "dev": true, ++ "dependencies": { ++ "@jridgewell/trace-mapping": "^0.3.0" ++ }, ++ "engines": { ++ "node": ">=6.0.0" ++ } ++ }, ++ "node_modules/@babel/code-frame": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", ++ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", ++ "dev": true, ++ "dependencies": { ++ "@babel/highlight": "^7.16.7" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/compat-data": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz", ++ "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==", ++ "dev": true, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/core": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.0.tgz", ++ "integrity": "sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==", ++ "dev": true, ++ "dependencies": { ++ "@ampproject/remapping": "^2.0.0", ++ "@babel/code-frame": "^7.16.7", ++ "@babel/generator": "^7.17.0", ++ "@babel/helper-compilation-targets": "^7.16.7", ++ "@babel/helper-module-transforms": "^7.16.7", ++ "@babel/helpers": "^7.17.0", ++ "@babel/parser": "^7.17.0", ++ "@babel/template": "^7.16.7", ++ "@babel/traverse": "^7.17.0", ++ "@babel/types": "^7.17.0", ++ "convert-source-map": "^1.7.0", ++ "debug": "^4.1.0", ++ "gensync": "^1.0.0-beta.2", ++ "json5": "^2.1.2", ++ "semver": "^6.3.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ }, ++ "funding": { ++ "type": "opencollective", ++ "url": "https://opencollective.com/babel" ++ } ++ }, ++ "node_modules/@babel/generator": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.0.tgz", ++ "integrity": "sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==", ++ "dev": true, ++ "dependencies": { ++ "@babel/types": "^7.17.0", ++ "jsesc": "^2.5.1", ++ "source-map": "^0.5.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-compilation-targets": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", ++ "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", ++ "dev": true, ++ "dependencies": { ++ "@babel/compat-data": "^7.16.4", ++ "@babel/helper-validator-option": "^7.16.7", ++ "browserslist": "^4.17.5", ++ "semver": "^6.3.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.0.0" ++ } ++ }, ++ "node_modules/@babel/helper-environment-visitor": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", ++ "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", ++ "dev": true, ++ "dependencies": { ++ "@babel/types": "^7.16.7" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-function-name": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", ++ "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", ++ "dev": true, ++ "dependencies": { ++ "@babel/helper-get-function-arity": "^7.16.7", ++ "@babel/template": "^7.16.7", ++ "@babel/types": "^7.16.7" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-get-function-arity": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", ++ "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", ++ "dev": true, ++ "dependencies": { ++ "@babel/types": "^7.16.7" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-hoist-variables": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", ++ "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", ++ "dev": true, ++ "dependencies": { ++ "@babel/types": "^7.16.7" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-module-imports": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", ++ "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", ++ "dev": true, ++ "dependencies": { ++ "@babel/types": "^7.16.7" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-module-transforms": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", ++ "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", ++ "dev": true, ++ "dependencies": { ++ "@babel/helper-environment-visitor": "^7.16.7", ++ "@babel/helper-module-imports": "^7.16.7", ++ "@babel/helper-simple-access": "^7.16.7", ++ "@babel/helper-split-export-declaration": "^7.16.7", ++ "@babel/helper-validator-identifier": "^7.16.7", ++ "@babel/template": "^7.16.7", ++ "@babel/traverse": "^7.16.7", ++ "@babel/types": "^7.16.7" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-simple-access": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", ++ "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", ++ "dev": true, ++ "dependencies": { ++ "@babel/types": "^7.16.7" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-split-export-declaration": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", ++ "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", ++ "dev": true, ++ "dependencies": { ++ "@babel/types": "^7.16.7" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-validator-identifier": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", ++ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", ++ "dev": true, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helper-validator-option": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", ++ "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/helpers": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.0.tgz", ++ "integrity": "sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==", ++ "dev": true, ++ "dependencies": { ++ "@babel/template": "^7.16.7", ++ "@babel/traverse": "^7.17.0", ++ "@babel/types": "^7.17.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/highlight": { ++ "version": "7.16.10", ++ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", ++ "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", ++ "dev": true, ++ "dependencies": { ++ "@babel/helper-validator-identifier": "^7.16.7", ++ "chalk": "^2.0.0", ++ "js-tokens": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/parser": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.0.tgz", ++ "integrity": "sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==", ++ "dev": true, ++ "bin": { ++ "parser": "bin/babel-parser.js" ++ }, ++ "engines": { ++ "node": ">=6.0.0" ++ } ++ }, ++ "node_modules/@babel/template": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", ++ "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", ++ "dev": true, ++ "dependencies": { ++ "@babel/code-frame": "^7.16.7", ++ "@babel/parser": "^7.16.7", ++ "@babel/types": "^7.16.7" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/traverse": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.0.tgz", ++ "integrity": "sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==", ++ "dev": true, ++ "dependencies": { ++ "@babel/code-frame": "^7.16.7", ++ "@babel/generator": "^7.17.0", ++ "@babel/helper-environment-visitor": "^7.16.7", ++ "@babel/helper-function-name": "^7.16.7", ++ "@babel/helper-hoist-variables": "^7.16.7", ++ "@babel/helper-split-export-declaration": "^7.16.7", ++ "@babel/parser": "^7.17.0", ++ "@babel/types": "^7.17.0", ++ "debug": "^4.1.0", ++ "globals": "^11.1.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@babel/types": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", ++ "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", ++ "dev": true, ++ "dependencies": { ++ "@babel/helper-validator-identifier": "^7.16.7", ++ "to-fast-properties": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/@istanbuljs/load-nyc-config": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", ++ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", ++ "dev": true, ++ "dependencies": { ++ "camelcase": "^5.3.1", ++ "find-up": "^4.1.0", ++ "get-package-type": "^0.1.0", ++ "js-yaml": "^3.13.1", ++ "resolve-from": "^5.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/@istanbuljs/schema": { ++ "version": "0.1.3", ++ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", ++ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/@jridgewell/resolve-uri": { ++ "version": "3.0.4", ++ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz", ++ "integrity": "sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==", ++ "dev": true, ++ "engines": { ++ "node": ">=6.0.0" ++ } ++ }, ++ "node_modules/@jridgewell/sourcemap-codec": { ++ "version": "1.4.10", ++ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz", ++ "integrity": "sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==", ++ "dev": true ++ }, ++ "node_modules/@jridgewell/trace-mapping": { ++ "version": "0.3.2", ++ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.2.tgz", ++ "integrity": "sha512-9KzzH4kMjA2XmBRHfqG2/Vtl7s92l6uNDd0wW7frDE+EUvQFGqNXhWp0UGJjSkt3v2AYjzOZn1QO9XaTNJIt1Q==", ++ "dev": true, ++ "dependencies": { ++ "@jridgewell/resolve-uri": "^3.0.3", ++ "@jridgewell/sourcemap-codec": "^1.4.10" ++ } ++ }, ++ "node_modules/aggregate-error": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", ++ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", ++ "dev": true, ++ "dependencies": { ++ "clean-stack": "^2.0.0", ++ "indent-string": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/ajv": { ++ "version": "6.12.6", ++ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", ++ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", ++ "dev": true, ++ "dependencies": { ++ "fast-deep-equal": "^3.1.1", ++ "fast-json-stable-stringify": "^2.0.0", ++ "json-schema-traverse": "^0.4.1", ++ "uri-js": "^4.2.2" ++ }, ++ "funding": { ++ "type": "github", ++ "url": "https://github.com/sponsors/epoberezkin" ++ } ++ }, ++ "node_modules/ansi-regex": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", ++ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "color-convert": "^1.9.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/anymatch": { ++ "version": "3.1.2", ++ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", ++ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", ++ "dev": true, ++ "dependencies": { ++ "normalize-path": "^3.0.0", ++ "picomatch": "^2.0.4" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/append-transform": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", ++ "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", ++ "dev": true, ++ "dependencies": { ++ "default-require-extensions": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/archy": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", ++ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", ++ "dev": true ++ }, ++ "node_modules/argparse": { ++ "version": "1.0.10", ++ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", ++ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", ++ "dev": true, ++ "dependencies": { ++ "sprintf-js": "~1.0.2" ++ } ++ }, ++ "node_modules/asn1": { ++ "version": "0.2.6", ++ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", ++ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", ++ "dev": true, ++ "dependencies": { ++ "safer-buffer": "~2.1.0" ++ } ++ }, ++ "node_modules/assert-plus": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", ++ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", ++ "dev": true, ++ "engines": { ++ "node": ">=0.8" ++ } ++ }, ++ "node_modules/async-hook-domain": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/async-hook-domain/-/async-hook-domain-2.0.4.tgz", ++ "integrity": "sha512-14LjCmlK1PK8eDtTezR6WX8TMaYNIzBIsd2D1sGoGjgx0BuNMMoSdk7i/drlbtamy0AWv9yv2tkB+ASdmeqFIw==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/asynckit": { ++ "version": "0.4.0", ++ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", ++ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", ++ "dev": true ++ }, ++ "node_modules/aws-sign2": { ++ "version": "0.7.0", ++ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", ++ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", ++ "dev": true, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/aws4": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", ++ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", ++ "dev": true ++ }, ++ "node_modules/balanced-match": { ++ "version": "0.4.2", ++ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", ++ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" ++ }, ++ "node_modules/bcrypt-pbkdf": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", ++ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", ++ "dev": true, ++ "dependencies": { ++ "tweetnacl": "^0.14.3" ++ } ++ }, ++ "node_modules/binary-extensions": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", ++ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/bind-obj-methods": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-3.0.0.tgz", ++ "integrity": "sha512-nLEaaz3/sEzNSyPWRsN9HNsqwk1AUyECtGj+XwGdIi3xABnEqecvXtIJ0wehQXuuER5uZ/5fTs2usONgYjG+iw==", ++ "dev": true, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/brace-expansion": { ++ "version": "1.1.7", ++ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", ++ "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", ++ "dependencies": { ++ "balanced-match": "^0.4.1", ++ "concat-map": "0.0.1" ++ } ++ }, ++ "node_modules/braces": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", ++ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", ++ "dev": true, ++ "dependencies": { ++ "fill-range": "^7.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/browserslist": { ++ "version": "4.19.1", ++ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", ++ "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", ++ "dev": true, ++ "dependencies": { ++ "caniuse-lite": "^1.0.30001286", ++ "electron-to-chromium": "^1.4.17", ++ "escalade": "^3.1.1", ++ "node-releases": "^2.0.1", ++ "picocolors": "^1.0.0" ++ }, ++ "bin": { ++ "browserslist": "cli.js" ++ }, ++ "engines": { ++ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" ++ }, ++ "funding": { ++ "type": "opencollective", ++ "url": "https://opencollective.com/browserslist" ++ } ++ }, ++ "node_modules/buffer-from": { ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", ++ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", ++ "dev": true ++ }, ++ "node_modules/caching-transform": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", ++ "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", ++ "dev": true, ++ "dependencies": { ++ "hasha": "^5.0.0", ++ "make-dir": "^3.0.0", ++ "package-hash": "^4.0.0", ++ "write-file-atomic": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/camelcase": { ++ "version": "5.3.1", ++ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", ++ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/caniuse-lite": { ++ "version": "1.0.30001307", ++ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001307.tgz", ++ "integrity": "sha512-+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng==", ++ "dev": true, ++ "funding": { ++ "type": "opencollective", ++ "url": "https://opencollective.com/browserslist" ++ } ++ }, ++ "node_modules/caseless": { ++ "version": "0.12.0", ++ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", ++ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", ++ "dev": true ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "ansi-styles": "^3.2.1", ++ "escape-string-regexp": "^1.0.5", ++ "supports-color": "^5.3.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/chokidar": { ++ "version": "3.5.3", ++ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", ++ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "individual", ++ "url": "https://paulmillr.com/funding/" ++ } ++ ], ++ "dependencies": { ++ "anymatch": "~3.1.2", ++ "braces": "~3.0.2", ++ "glob-parent": "~5.1.2", ++ "is-binary-path": "~2.1.0", ++ "is-glob": "~4.0.1", ++ "normalize-path": "~3.0.0", ++ "readdirp": "~3.6.0" ++ }, ++ "engines": { ++ "node": ">= 8.10.0" ++ }, ++ "optionalDependencies": { ++ "fsevents": "~2.3.2" ++ } ++ }, ++ "node_modules/clean-stack": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", ++ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/cliui": { ++ "version": "7.0.4", ++ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", ++ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", ++ "dev": true, ++ "dependencies": { ++ "string-width": "^4.2.0", ++ "strip-ansi": "^6.0.0", ++ "wrap-ansi": "^7.0.0" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "color-name": "1.1.3" ++ } ++ }, ++ "node_modules/color-name": { ++ "version": "1.1.3", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", ++ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", ++ "dev": true ++ }, ++ "node_modules/color-support": { ++ "version": "1.1.3", ++ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", ++ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", ++ "dev": true, ++ "bin": { ++ "color-support": "bin.js" ++ } ++ }, ++ "node_modules/combined-stream": { ++ "version": "1.0.8", ++ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", ++ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", ++ "dev": true, ++ "dependencies": { ++ "delayed-stream": "~1.0.0" ++ }, ++ "engines": { ++ "node": ">= 0.8" ++ } ++ }, ++ "node_modules/commondir": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", ++ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", ++ "dev": true ++ }, ++ "node_modules/concat-map": { ++ "version": "0.0.1", ++ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", ++ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" ++ }, ++ "node_modules/convert-source-map": { ++ "version": "1.8.0", ++ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", ++ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", ++ "dev": true, ++ "dependencies": { ++ "safe-buffer": "~5.1.1" ++ } ++ }, ++ "node_modules/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=", ++ "dev": true ++ }, ++ "node_modules/coveralls": { ++ "version": "3.1.1", ++ "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", ++ "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", ++ "dev": true, ++ "dependencies": { ++ "js-yaml": "^3.13.1", ++ "lcov-parse": "^1.0.0", ++ "log-driver": "^1.2.7", ++ "minimist": "^1.2.5", ++ "request": "^2.88.2" ++ }, ++ "bin": { ++ "coveralls": "bin/coveralls.js" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/cross-spawn": { ++ "version": "7.0.3", ++ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", ++ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", ++ "dev": true, ++ "dependencies": { ++ "path-key": "^3.1.0", ++ "shebang-command": "^2.0.0", ++ "which": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/dashdash": { ++ "version": "1.14.1", ++ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", ++ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", ++ "dev": true, ++ "dependencies": { ++ "assert-plus": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10" ++ } ++ }, ++ "node_modules/debug": { ++ "version": "4.3.3", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", ++ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", ++ "dev": true, ++ "dependencies": { ++ "ms": "2.1.2" ++ }, ++ "engines": { ++ "node": ">=6.0" ++ }, ++ "peerDependenciesMeta": { ++ "supports-color": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/decamelize": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", ++ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/default-require-extensions": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", ++ "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", ++ "dev": true, ++ "dependencies": { ++ "strip-bom": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/delayed-stream": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", ++ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", ++ "dev": true, ++ "engines": { ++ "node": ">=0.4.0" ++ } ++ }, ++ "node_modules/diff": { ++ "version": "4.0.2", ++ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", ++ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.3.1" ++ } ++ }, ++ "node_modules/ecc-jsbn": { ++ "version": "0.1.2", ++ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", ++ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", ++ "dev": true, ++ "dependencies": { ++ "jsbn": "~0.1.0", ++ "safer-buffer": "^2.1.0" ++ } ++ }, ++ "node_modules/electron-to-chromium": { ++ "version": "1.4.65", ++ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.65.tgz", ++ "integrity": "sha512-0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw==", ++ "dev": true ++ }, ++ "node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true ++ }, ++ "node_modules/es6-error": { ++ "version": "4.1.1", ++ "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", ++ "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", ++ "dev": true ++ }, ++ "node_modules/escalade": { ++ "version": "3.1.1", ++ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", ++ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/escape-string-regexp": { ++ "version": "1.0.5", ++ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", ++ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", ++ "dev": true, ++ "engines": { ++ "node": ">=0.8.0" ++ } ++ }, ++ "node_modules/esprima": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", ++ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", ++ "dev": true, ++ "bin": { ++ "esparse": "bin/esparse.js", ++ "esvalidate": "bin/esvalidate.js" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/events-to-array": { ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", ++ "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", ++ "dev": true ++ }, ++ "node_modules/extend": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", ++ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", ++ "dev": true ++ }, ++ "node_modules/extsprintf": { ++ "version": "1.3.0", ++ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", ++ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", ++ "dev": true, ++ "engines": [ ++ "node >=0.6.0" ++ ] ++ }, ++ "node_modules/fast-deep-equal": { ++ "version": "3.1.3", ++ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", ++ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", ++ "dev": true ++ }, ++ "node_modules/fast-json-stable-stringify": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", ++ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", ++ "dev": true ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "to-regex-range": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/find-cache-dir": { ++ "version": "3.3.2", ++ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", ++ "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", ++ "dev": true, ++ "dependencies": { ++ "commondir": "^1.0.1", ++ "make-dir": "^3.0.2", ++ "pkg-dir": "^4.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" ++ } ++ }, ++ "node_modules/find-up": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", ++ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", ++ "dev": true, ++ "dependencies": { ++ "locate-path": "^5.0.0", ++ "path-exists": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/findit": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", ++ "integrity": "sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4=", ++ "dev": true ++ }, ++ "node_modules/foreground-child": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", ++ "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", ++ "dev": true, ++ "dependencies": { ++ "cross-spawn": "^7.0.0", ++ "signal-exit": "^3.0.2" ++ }, ++ "engines": { ++ "node": ">=8.0.0" ++ } ++ }, ++ "node_modules/forever-agent": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", ++ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", ++ "dev": true, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/form-data": { ++ "version": "2.3.3", ++ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", ++ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", ++ "dev": true, ++ "dependencies": { ++ "asynckit": "^0.4.0", ++ "combined-stream": "^1.0.6", ++ "mime-types": "^2.1.12" ++ }, ++ "engines": { ++ "node": ">= 0.12" ++ } ++ }, ++ "node_modules/fromentries": { ++ "version": "1.3.2", ++ "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", ++ "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", ++ "dev": true, ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/feross" ++ }, ++ { ++ "type": "patreon", ++ "url": "https://www.patreon.com/feross" ++ }, ++ { ++ "type": "consulting", ++ "url": "https://feross.org/support" ++ } ++ ] ++ }, ++ "node_modules/fs-exists-cached": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", ++ "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", ++ "dev": true ++ }, ++ "node_modules/fs.realpath": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", ++ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", ++ "dev": true ++ }, ++ "node_modules/fsevents": { ++ "version": "2.3.2", ++ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", ++ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", ++ "dev": true, ++ "hasInstallScript": true, ++ "optional": true, ++ "os": [ ++ "darwin" ++ ], ++ "engines": { ++ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" ++ } ++ }, ++ "node_modules/function-loop": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-2.0.1.tgz", ++ "integrity": "sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ==", ++ "dev": true ++ }, ++ "node_modules/gensync": { ++ "version": "1.0.0-beta.2", ++ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", ++ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", ++ "dev": true, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/get-caller-file": { ++ "version": "2.0.5", ++ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", ++ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", ++ "dev": true, ++ "engines": { ++ "node": "6.* || 8.* || >= 10.*" ++ } ++ }, ++ "node_modules/get-package-type": { ++ "version": "0.1.0", ++ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", ++ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", ++ "dev": true, ++ "engines": { ++ "node": ">=8.0.0" ++ } ++ }, ++ "node_modules/getpass": { ++ "version": "0.1.7", ++ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", ++ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", ++ "dev": true, ++ "dependencies": { ++ "assert-plus": "^1.0.0" ++ } ++ }, ++ "node_modules/glob": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", ++ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", ++ "dev": true, ++ "dependencies": { ++ "fs.realpath": "^1.0.0", ++ "inflight": "^1.0.4", ++ "inherits": "2", ++ "minimatch": "^3.0.4", ++ "once": "^1.3.0", ++ "path-is-absolute": "^1.0.0" ++ }, ++ "engines": { ++ "node": "*" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/isaacs" ++ } ++ }, ++ "node_modules/glob-parent": { ++ "version": "5.1.2", ++ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", ++ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", ++ "dev": true, ++ "dependencies": { ++ "is-glob": "^4.0.1" ++ }, ++ "engines": { ++ "node": ">= 6" ++ } ++ }, ++ "node_modules/globals": { ++ "version": "11.12.0", ++ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", ++ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/graceful-fs": { ++ "version": "4.2.9", ++ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", ++ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", ++ "dev": true ++ }, ++ "node_modules/har-schema": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", ++ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/har-validator": { ++ "version": "5.1.5", ++ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", ++ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", ++ "deprecated": "this library is no longer supported", ++ "dev": true, ++ "dependencies": { ++ "ajv": "^6.12.3", ++ "har-schema": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/has-flag": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", ++ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/hasha": { ++ "version": "5.2.2", ++ "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", ++ "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", ++ "dev": true, ++ "dependencies": { ++ "is-stream": "^2.0.0", ++ "type-fest": "^0.8.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/html-escaper": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", ++ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", ++ "dev": true ++ }, ++ "node_modules/http-signature": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", ++ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", ++ "dev": true, ++ "dependencies": { ++ "assert-plus": "^1.0.0", ++ "jsprim": "^1.2.2", ++ "sshpk": "^1.7.0" ++ }, ++ "engines": { ++ "node": ">=0.8", ++ "npm": ">=1.3.7" ++ } ++ }, ++ "node_modules/imurmurhash": { ++ "version": "0.1.4", ++ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", ++ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", ++ "dev": true, ++ "engines": { ++ "node": ">=0.8.19" ++ } ++ }, ++ "node_modules/indent-string": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", ++ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/inflight": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", ++ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", ++ "dev": true, ++ "dependencies": { ++ "once": "^1.3.0", ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/inherits": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", ++ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", ++ "dev": true ++ }, ++ "node_modules/is-binary-path": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", ++ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", ++ "dev": true, ++ "dependencies": { ++ "binary-extensions": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/is-extglob": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", ++ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/is-fullwidth-code-point": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", ++ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/is-glob": { ++ "version": "4.0.3", ++ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", ++ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", ++ "dev": true, ++ "dependencies": { ++ "is-extglob": "^2.1.1" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/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, ++ "engines": { ++ "node": ">=0.12.0" ++ } ++ }, ++ "node_modules/is-stream": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", ++ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/is-typedarray": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", ++ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", ++ "dev": true ++ }, ++ "node_modules/is-windows": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", ++ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/isexe": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", ++ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", ++ "dev": true ++ }, ++ "node_modules/isstream": { ++ "version": "0.1.2", ++ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", ++ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", ++ "dev": true ++ }, ++ "node_modules/istanbul-lib-coverage": { ++ "version": "3.2.0", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", ++ "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/istanbul-lib-hook": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", ++ "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", ++ "dev": true, ++ "dependencies": { ++ "append-transform": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/istanbul-lib-instrument": { ++ "version": "4.0.3", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", ++ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", ++ "dev": true, ++ "dependencies": { ++ "@babel/core": "^7.7.5", ++ "@istanbuljs/schema": "^0.1.2", ++ "istanbul-lib-coverage": "^3.0.0", ++ "semver": "^6.3.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/istanbul-lib-processinfo": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", ++ "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", ++ "dev": true, ++ "dependencies": { ++ "archy": "^1.0.0", ++ "cross-spawn": "^7.0.0", ++ "istanbul-lib-coverage": "^3.0.0-alpha.1", ++ "make-dir": "^3.0.0", ++ "p-map": "^3.0.0", ++ "rimraf": "^3.0.0", ++ "uuid": "^3.3.3" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/istanbul-lib-report": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", ++ "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", ++ "dev": true, ++ "dependencies": { ++ "istanbul-lib-coverage": "^3.0.0", ++ "make-dir": "^3.0.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/istanbul-lib-report/node_modules/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, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/istanbul-lib-report/node_modules/supports-color": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", ++ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "dev": true, ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/istanbul-lib-source-maps": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", ++ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", ++ "dev": true, ++ "dependencies": { ++ "debug": "^4.1.1", ++ "istanbul-lib-coverage": "^3.0.0", ++ "source-map": "^0.6.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/istanbul-lib-source-maps/node_modules/source-map": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", ++ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/istanbul-reports": { ++ "version": "3.1.4", ++ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", ++ "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", ++ "dev": true, ++ "dependencies": { ++ "html-escaper": "^2.0.0", ++ "istanbul-lib-report": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/jackspeak": { ++ "version": "1.4.1", ++ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.4.1.tgz", ++ "integrity": "sha512-npN8f+M4+IQ8xD3CcWi3U62VQwKlT3Tj4GxbdT/fYTmeogD9eBF9OFdpoFG/VPNoshRjPUijdkp/p2XrzUHaVg==", ++ "dev": true, ++ "dependencies": { ++ "cliui": "^7.0.4" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/js-tokens": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", ++ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", ++ "dev": true ++ }, ++ "node_modules/js-yaml": { ++ "version": "3.14.1", ++ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", ++ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", ++ "dev": true, ++ "dependencies": { ++ "argparse": "^1.0.7", ++ "esprima": "^4.0.0" ++ }, ++ "bin": { ++ "js-yaml": "bin/js-yaml.js" ++ } ++ }, ++ "node_modules/jsbn": { ++ "version": "0.1.1", ++ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", ++ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", ++ "dev": true ++ }, ++ "node_modules/jsesc": { ++ "version": "2.5.2", ++ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", ++ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", ++ "dev": true, ++ "bin": { ++ "jsesc": "bin/jsesc" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/json-schema": { ++ "version": "0.4.0", ++ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", ++ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", ++ "dev": true ++ }, ++ "node_modules/json-schema-traverse": { ++ "version": "0.4.1", ++ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", ++ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", ++ "dev": true ++ }, ++ "node_modules/json-stringify-safe": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", ++ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", ++ "dev": true ++ }, ++ "node_modules/json5": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", ++ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", ++ "dev": true, ++ "dependencies": { ++ "minimist": "^1.2.5" ++ }, ++ "bin": { ++ "json5": "lib/cli.js" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/jsprim": { ++ "version": "1.4.2", ++ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", ++ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", ++ "dev": true, ++ "dependencies": { ++ "assert-plus": "1.0.0", ++ "extsprintf": "1.3.0", ++ "json-schema": "0.4.0", ++ "verror": "1.10.0" ++ }, ++ "engines": { ++ "node": ">=0.6.0" ++ } ++ }, ++ "node_modules/lcov-parse": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", ++ "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", ++ "dev": true, ++ "bin": { ++ "lcov-parse": "bin/cli.js" ++ } ++ }, ++ "node_modules/libtap": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.1.4.tgz", ++ "integrity": "sha512-jM+QyAeRdVs1bJrNpjlu+l8gRdDkAehqls31AwSnqXghVLUP6nbYeU2Xfs2svYS7ZdksvnHvrxCKRBFEz/BCjA==", ++ "dev": true, ++ "dependencies": { ++ "async-hook-domain": "^2.0.4", ++ "bind-obj-methods": "^3.0.0", ++ "diff": "^4.0.2", ++ "function-loop": "^2.0.1", ++ "minipass": "^3.1.5", ++ "own-or": "^1.0.0", ++ "own-or-env": "^1.0.2", ++ "signal-exit": "^3.0.4", ++ "stack-utils": "^2.0.4", ++ "tap-parser": "^10.0.1", ++ "tap-yaml": "^1.0.0", ++ "tcompare": "^5.0.6", ++ "trivial-deferred": "^1.0.1", ++ "yapool": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/isaacs" ++ } ++ }, ++ "node_modules/locate-path": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", ++ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", ++ "dev": true, ++ "dependencies": { ++ "p-locate": "^4.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/lodash.flattendeep": { ++ "version": "4.4.0", ++ "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", ++ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", ++ "dev": true ++ }, ++ "node_modules/log-driver": { ++ "version": "1.2.7", ++ "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", ++ "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.8.6" ++ } ++ }, ++ "node_modules/make-dir": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", ++ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", ++ "dev": true, ++ "dependencies": { ++ "semver": "^6.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/mime-db": { ++ "version": "1.51.0", ++ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", ++ "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", ++ "dev": true, ++ "engines": { ++ "node": ">= 0.6" ++ } ++ }, ++ "node_modules/mime-types": { ++ "version": "2.1.34", ++ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", ++ "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", ++ "dev": true, ++ "dependencies": { ++ "mime-db": "1.51.0" ++ }, ++ "engines": { ++ "node": ">= 0.6" ++ } ++ }, ++ "node_modules/minimatch": { ++ "version": "3.0.4", ++ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", ++ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", ++ "dev": true, ++ "dependencies": { ++ "brace-expansion": "^1.1.7" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/minimist": { ++ "version": "1.2.5", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", ++ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", ++ "dev": true ++ }, ++ "node_modules/minipass": { ++ "version": "3.1.6", ++ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", ++ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", ++ "dev": true, ++ "dependencies": { ++ "yallist": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/mkdirp": { ++ "version": "1.0.4", ++ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", ++ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", ++ "dev": true, ++ "bin": { ++ "mkdirp": "bin/cmd.js" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/node-preload": { ++ "version": "0.2.1", ++ "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", ++ "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", ++ "dev": true, ++ "dependencies": { ++ "process-on-spawn": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/node-releases": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", ++ "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", ++ "dev": true ++ }, ++ "node_modules/normalize-path": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", ++ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/nyc": { ++ "version": "15.1.0", ++ "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", ++ "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", ++ "dev": true, ++ "dependencies": { ++ "@istanbuljs/load-nyc-config": "^1.0.0", ++ "@istanbuljs/schema": "^0.1.2", ++ "caching-transform": "^4.0.0", ++ "convert-source-map": "^1.7.0", ++ "decamelize": "^1.2.0", ++ "find-cache-dir": "^3.2.0", ++ "find-up": "^4.1.0", ++ "foreground-child": "^2.0.0", ++ "get-package-type": "^0.1.0", ++ "glob": "^7.1.6", ++ "istanbul-lib-coverage": "^3.0.0", ++ "istanbul-lib-hook": "^3.0.0", ++ "istanbul-lib-instrument": "^4.0.0", ++ "istanbul-lib-processinfo": "^2.0.2", ++ "istanbul-lib-report": "^3.0.0", ++ "istanbul-lib-source-maps": "^4.0.0", ++ "istanbul-reports": "^3.0.2", ++ "make-dir": "^3.0.0", ++ "node-preload": "^0.2.1", ++ "p-map": "^3.0.0", ++ "process-on-spawn": "^1.0.0", ++ "resolve-from": "^5.0.0", ++ "rimraf": "^3.0.0", ++ "signal-exit": "^3.0.2", ++ "spawn-wrap": "^2.0.0", ++ "test-exclude": "^6.0.0", ++ "yargs": "^15.0.2" ++ }, ++ "bin": { ++ "nyc": "bin/nyc.js" ++ }, ++ "engines": { ++ "node": ">=8.9" ++ } ++ }, ++ "node_modules/oauth-sign": { ++ "version": "0.9.0", ++ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", ++ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", ++ "dev": true, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/once": { ++ "version": "1.4.0", ++ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", ++ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", ++ "dev": true, ++ "dependencies": { ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/opener": { ++ "version": "1.5.2", ++ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", ++ "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", ++ "dev": true, ++ "bin": { ++ "opener": "bin/opener-bin.js" ++ } ++ }, ++ "node_modules/own-or": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", ++ "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", ++ "dev": true ++ }, ++ "node_modules/own-or-env": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.2.tgz", ++ "integrity": "sha512-NQ7v0fliWtK7Lkb+WdFqe6ky9XAzYmlkXthQrBbzlYbmFKoAYbDDcwmOm6q8kOuwSRXW8bdL5ORksploUJmWgw==", ++ "dev": true, ++ "dependencies": { ++ "own-or": "^1.0.0" ++ } ++ }, ++ "node_modules/p-limit": { ++ "version": "2.3.0", ++ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", ++ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", ++ "dev": true, ++ "dependencies": { ++ "p-try": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/p-locate": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", ++ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", ++ "dev": true, ++ "dependencies": { ++ "p-limit": "^2.2.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/p-map": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", ++ "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", ++ "dev": true, ++ "dependencies": { ++ "aggregate-error": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/p-try": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", ++ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/package-hash": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", ++ "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", ++ "dev": true, ++ "dependencies": { ++ "graceful-fs": "^4.1.15", ++ "hasha": "^5.0.0", ++ "lodash.flattendeep": "^4.4.0", ++ "release-zalgo": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/path-exists": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", ++ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/path-is-absolute": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", ++ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/path-key": { ++ "version": "3.1.1", ++ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", ++ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/performance-now": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", ++ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", ++ "dev": true ++ }, ++ "node_modules/picocolors": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", ++ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", ++ "dev": true ++ }, ++ "node_modules/picomatch": { ++ "version": "2.3.1", ++ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", ++ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8.6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/jonschlinkert" ++ } ++ }, ++ "node_modules/pkg-dir": { ++ "version": "4.2.0", ++ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", ++ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", ++ "dev": true, ++ "dependencies": { ++ "find-up": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/process-on-spawn": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", ++ "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", ++ "dev": true, ++ "dependencies": { ++ "fromentries": "^1.2.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/psl": { ++ "version": "1.8.0", ++ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", ++ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", ++ "dev": true ++ }, ++ "node_modules/punycode": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", ++ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", ++ "dev": true, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/qs": { ++ "version": "6.5.3", ++ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", ++ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.6" ++ } ++ }, ++ "node_modules/readdirp": { ++ "version": "3.6.0", ++ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", ++ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", ++ "dev": true, ++ "dependencies": { ++ "picomatch": "^2.2.1" ++ }, ++ "engines": { ++ "node": ">=8.10.0" ++ } ++ }, ++ "node_modules/release-zalgo": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", ++ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", ++ "dev": true, ++ "dependencies": { ++ "es6-error": "^4.0.1" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/request": { ++ "version": "2.88.2", ++ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", ++ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", ++ "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", ++ "dev": true, ++ "dependencies": { ++ "aws-sign2": "~0.7.0", ++ "aws4": "^1.8.0", ++ "caseless": "~0.12.0", ++ "combined-stream": "~1.0.6", ++ "extend": "~3.0.2", ++ "forever-agent": "~0.6.1", ++ "form-data": "~2.3.2", ++ "har-validator": "~5.1.3", ++ "http-signature": "~1.2.0", ++ "is-typedarray": "~1.0.0", ++ "isstream": "~0.1.2", ++ "json-stringify-safe": "~5.0.1", ++ "mime-types": "~2.1.19", ++ "oauth-sign": "~0.9.0", ++ "performance-now": "^2.1.0", ++ "qs": "~6.5.2", ++ "safe-buffer": "^5.1.2", ++ "tough-cookie": "~2.5.0", ++ "tunnel-agent": "^0.6.0", ++ "uuid": "^3.3.2" ++ }, ++ "engines": { ++ "node": ">= 6" ++ } ++ }, ++ "node_modules/require-directory": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", ++ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/require-main-filename": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", ++ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", ++ "dev": true ++ }, ++ "node_modules/resolve-from": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", ++ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/rimraf": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", ++ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", ++ "dev": true, ++ "dependencies": { ++ "glob": "^7.1.3" ++ }, ++ "bin": { ++ "rimraf": "bin.js" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/isaacs" ++ } ++ }, ++ "node_modules/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 ++ }, ++ "node_modules/safer-buffer": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", ++ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", ++ "dev": true ++ }, ++ "node_modules/semver": { ++ "version": "6.3.0", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", ++ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", ++ "dev": true, ++ "bin": { ++ "semver": "bin/semver.js" ++ } ++ }, ++ "node_modules/set-blocking": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", ++ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", ++ "dev": true ++ }, ++ "node_modules/shebang-command": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", ++ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", ++ "dev": true, ++ "dependencies": { ++ "shebang-regex": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/shebang-regex": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", ++ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/signal-exit": { ++ "version": "3.0.7", ++ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", ++ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", ++ "dev": true ++ }, ++ "node_modules/source-map": { ++ "version": "0.5.7", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", ++ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/source-map-support": { ++ "version": "0.5.21", ++ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", ++ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", ++ "dev": true, ++ "dependencies": { ++ "buffer-from": "^1.0.0", ++ "source-map": "^0.6.0" ++ } ++ }, ++ "node_modules/source-map-support/node_modules/source-map": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", ++ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/spawn-wrap": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", ++ "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", ++ "dev": true, ++ "dependencies": { ++ "foreground-child": "^2.0.0", ++ "is-windows": "^1.0.2", ++ "make-dir": "^3.0.0", ++ "rimraf": "^3.0.0", ++ "signal-exit": "^3.0.2", ++ "which": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/sprintf-js": { ++ "version": "1.0.3", ++ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", ++ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", ++ "dev": true ++ }, ++ "node_modules/sshpk": { ++ "version": "1.17.0", ++ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", ++ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", ++ "dev": true, ++ "dependencies": { ++ "asn1": "~0.2.3", ++ "assert-plus": "^1.0.0", ++ "bcrypt-pbkdf": "^1.0.0", ++ "dashdash": "^1.12.0", ++ "ecc-jsbn": "~0.1.1", ++ "getpass": "^0.1.1", ++ "jsbn": "~0.1.0", ++ "safer-buffer": "^2.0.2", ++ "tweetnacl": "~0.14.0" ++ }, ++ "bin": { ++ "sshpk-conv": "bin/sshpk-conv", ++ "sshpk-sign": "bin/sshpk-sign", ++ "sshpk-verify": "bin/sshpk-verify" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/stack-utils": { ++ "version": "2.0.5", ++ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", ++ "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", ++ "dev": true, ++ "dependencies": { ++ "escape-string-regexp": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/stack-utils/node_modules/escape-string-regexp": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", ++ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/strip-ansi": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", ++ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", ++ "dev": true, ++ "dependencies": { ++ "ansi-regex": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/strip-bom": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", ++ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "has-flag": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/tap": { ++ "version": "15.1.6", ++ "resolved": "https://registry.npmjs.org/tap/-/tap-15.1.6.tgz", ++ "integrity": "sha512-TN7xH6Q2tUPTd6qwmkhuFJcx1vUR8e4dDUpBKc61G0krOzne7Ia6aKIFb8O/0kVazachSSuVME1V8nQ2xwWL8w==", ++ "bundleDependencies": [ ++ "ink", ++ "treport", ++ "@types/react", ++ "@isaacs/import-jsx", ++ "react" ++ ], ++ "dev": true, ++ "dependencies": { ++ "@isaacs/import-jsx": "*", ++ "@types/react": "*", ++ "chokidar": "^3.3.0", ++ "coveralls": "^3.0.11", ++ "findit": "^2.0.0", ++ "foreground-child": "^2.0.0", ++ "fs-exists-cached": "^1.0.0", ++ "glob": "^7.1.6", ++ "ink": "*", ++ "isexe": "^2.0.0", ++ "istanbul-lib-processinfo": "^2.0.2", ++ "jackspeak": "^1.4.1", ++ "libtap": "^1.1.4", ++ "minipass": "^3.1.1", ++ "mkdirp": "^1.0.4", ++ "nyc": "^15.1.0", ++ "opener": "^1.5.1", ++ "react": "*", ++ "rimraf": "^3.0.0", ++ "signal-exit": "^3.0.6", ++ "source-map-support": "^0.5.16", ++ "tap-mocha-reporter": "^5.0.0", ++ "tap-parser": "^10.0.1", ++ "tap-yaml": "^1.0.0", ++ "tcompare": "^5.0.7", ++ "treport": "*", ++ "which": "^2.0.2" ++ }, ++ "bin": { ++ "tap": "bin/run.js" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/isaacs" ++ }, ++ "peerDependencies": { ++ "flow-remove-types": ">=2.112.0", ++ "ts-node": ">=8.5.2", ++ "typescript": ">=3.7.2" ++ }, ++ "peerDependenciesMeta": { ++ "flow-remove-types": { ++ "optional": true ++ }, ++ "ts-node": { ++ "optional": true ++ }, ++ "typescript": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/tap-mocha-reporter": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-5.0.1.tgz", ++ "integrity": "sha512-1knFWOwd4khx/7uSEnUeaP9IPW3w+sqTgJMhrwah6t46nZ8P25atOKAjSvVDsT67lOPu0nfdOqUwoyKn+3E5pA==", ++ "dev": true, ++ "dependencies": { ++ "color-support": "^1.1.0", ++ "debug": "^4.1.1", ++ "diff": "^4.0.1", ++ "escape-string-regexp": "^2.0.0", ++ "glob": "^7.0.5", ++ "tap-parser": "^10.0.0", ++ "tap-yaml": "^1.0.0", ++ "unicode-length": "^2.0.2" ++ }, ++ "bin": { ++ "tap-mocha-reporter": "index.js" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/tap-mocha-reporter/node_modules/escape-string-regexp": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", ++ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap-parser": { ++ "version": "10.1.0", ++ "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-10.1.0.tgz", ++ "integrity": "sha512-FujQeciDaOiOvaIVGS1Rpb0v4R6XkOjvWCWowlz5oKuhPkEJ8U6pxgqt38xuzYhPt8dWEnfHn2jqpZdJEkW7pA==", ++ "dev": true, ++ "dependencies": { ++ "events-to-array": "^1.0.1", ++ "minipass": "^3.0.0", ++ "tap-yaml": "^1.0.0" ++ }, ++ "bin": { ++ "tap-parser": "bin/cmd.js" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/tap-yaml": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.0.tgz", ++ "integrity": "sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==", ++ "dev": true, ++ "dependencies": { ++ "yaml": "^1.5.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/code-frame": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/highlight": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/compat-data": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/core": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/code-frame": "^7.16.0", ++ "@babel/generator": "^7.16.0", ++ "@babel/helper-compilation-targets": "^7.16.0", ++ "@babel/helper-module-transforms": "^7.16.0", ++ "@babel/helpers": "^7.16.0", ++ "@babel/parser": "^7.16.0", ++ "@babel/template": "^7.16.0", ++ "@babel/traverse": "^7.16.0", ++ "@babel/types": "^7.16.0", ++ "convert-source-map": "^1.7.0", ++ "debug": "^4.1.0", ++ "gensync": "^1.0.0-beta.2", ++ "json5": "^2.1.2", ++ "semver": "^6.3.0", ++ "source-map": "^0.5.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ }, ++ "funding": { ++ "type": "opencollective", ++ "url": "https://opencollective.com/babel" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/generator": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/types": "^7.16.0", ++ "jsesc": "^2.5.1", ++ "source-map": "^0.5.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-annotate-as-pure": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-compilation-targets": { ++ "version": "7.16.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/compat-data": "^7.16.0", ++ "@babel/helper-validator-option": "^7.14.5", ++ "browserslist": "^4.17.5", ++ "semver": "^6.3.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.0.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-function-name": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/helper-get-function-arity": "^7.16.0", ++ "@babel/template": "^7.16.0", ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-get-function-arity": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-hoist-variables": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-member-expression-to-functions": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-module-imports": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-module-transforms": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/helper-module-imports": "^7.16.0", ++ "@babel/helper-replace-supers": "^7.16.0", ++ "@babel/helper-simple-access": "^7.16.0", ++ "@babel/helper-split-export-declaration": "^7.16.0", ++ "@babel/helper-validator-identifier": "^7.15.7", ++ "@babel/template": "^7.16.0", ++ "@babel/traverse": "^7.16.0", ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-optimise-call-expression": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-plugin-utils": { ++ "version": "7.14.5", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-replace-supers": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/helper-member-expression-to-functions": "^7.16.0", ++ "@babel/helper-optimise-call-expression": "^7.16.0", ++ "@babel/traverse": "^7.16.0", ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-simple-access": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-split-export-declaration": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-validator-identifier": { ++ "version": "7.15.7", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helper-validator-option": { ++ "version": "7.14.5", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/helpers": { ++ "version": "7.16.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/template": "^7.16.0", ++ "@babel/traverse": "^7.16.3", ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/highlight": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/helper-validator-identifier": "^7.15.7", ++ "chalk": "^2.0.0", ++ "js-tokens": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/parser": { ++ "version": "7.16.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "bin": { ++ "parser": "bin/babel-parser.js" ++ }, ++ "engines": { ++ "node": ">=6.0.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/plugin-proposal-object-rest-spread": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/compat-data": "^7.16.0", ++ "@babel/helper-compilation-targets": "^7.16.0", ++ "@babel/helper-plugin-utils": "^7.14.5", ++ "@babel/plugin-syntax-object-rest-spread": "^7.8.3", ++ "@babel/plugin-transform-parameters": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.0.0-0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/plugin-syntax-jsx": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/helper-plugin-utils": "^7.14.5" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.0.0-0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/plugin-syntax-object-rest-spread": { ++ "version": "7.8.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/helper-plugin-utils": "^7.8.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.0.0-0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/plugin-transform-destructuring": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/helper-plugin-utils": "^7.14.5" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.0.0-0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/plugin-transform-parameters": { ++ "version": "7.16.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/helper-plugin-utils": "^7.14.5" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.0.0-0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/plugin-transform-react-jsx": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/helper-annotate-as-pure": "^7.16.0", ++ "@babel/helper-module-imports": "^7.16.0", ++ "@babel/helper-plugin-utils": "^7.14.5", ++ "@babel/plugin-syntax-jsx": "^7.16.0", ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.0.0-0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/template": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/code-frame": "^7.16.0", ++ "@babel/parser": "^7.16.0", ++ "@babel/types": "^7.16.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/traverse": { ++ "version": "7.16.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/code-frame": "^7.16.0", ++ "@babel/generator": "^7.16.0", ++ "@babel/helper-function-name": "^7.16.0", ++ "@babel/helper-hoist-variables": "^7.16.0", ++ "@babel/helper-split-export-declaration": "^7.16.0", ++ "@babel/parser": "^7.16.3", ++ "@babel/types": "^7.16.0", ++ "debug": "^4.1.0", ++ "globals": "^11.1.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@babel/types": { ++ "version": "7.16.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/helper-validator-identifier": "^7.15.7", ++ "to-fast-properties": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/@isaacs/import-jsx": { ++ "version": "4.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@babel/core": "^7.5.5", ++ "@babel/plugin-proposal-object-rest-spread": "^7.5.5", ++ "@babel/plugin-transform-destructuring": "^7.5.0", ++ "@babel/plugin-transform-react-jsx": "^7.3.0", ++ "caller-path": "^3.0.1", ++ "find-cache-dir": "^3.2.0", ++ "make-dir": "^3.0.2", ++ "resolve-from": "^3.0.0", ++ "rimraf": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/tap/node_modules/@isaacs/import-jsx/node_modules/caller-callsite": { ++ "version": "4.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "callsites": "^3.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/@isaacs/import-jsx/node_modules/caller-path": { ++ "version": "3.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "caller-callsite": "^4.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/@isaacs/import-jsx/node_modules/callsites": { ++ "version": "3.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/tap/node_modules/@types/prop-types": { ++ "version": "15.7.4", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/@types/react": { ++ "version": "17.0.34", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@types/prop-types": "*", ++ "@types/scheduler": "*", ++ "csstype": "^3.0.2" ++ } ++ }, ++ "node_modules/tap/node_modules/@types/scheduler": { ++ "version": "0.16.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/@types/yoga-layout": { ++ "version": "1.9.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/ansi-escapes": { ++ "version": "4.3.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "type-fest": "^0.21.3" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/tap/node_modules/ansi-escapes/node_modules/type-fest": { ++ "version": "0.21.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "(MIT OR CC0-1.0)", ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/tap/node_modules/ansi-regex": { ++ "version": "5.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/ansi-styles": { ++ "version": "3.2.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "color-convert": "^1.9.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/tap/node_modules/ansicolors": { ++ "version": "0.3.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/astral-regex": { ++ "version": "2.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/auto-bind": { ++ "version": "4.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/tap/node_modules/balanced-match": { ++ "version": "1.0.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/brace-expansion": { ++ "version": "1.1.11", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "balanced-match": "^1.0.0", ++ "concat-map": "0.0.1" ++ } ++ }, ++ "node_modules/tap/node_modules/browserslist": { ++ "version": "4.17.6", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "caniuse-lite": "^1.0.30001274", ++ "electron-to-chromium": "^1.3.886", ++ "escalade": "^3.1.1", ++ "node-releases": "^2.0.1", ++ "picocolors": "^1.0.0" ++ }, ++ "bin": { ++ "browserslist": "cli.js" ++ }, ++ "engines": { ++ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" ++ }, ++ "funding": { ++ "type": "opencollective", ++ "url": "https://opencollective.com/browserslist" ++ } ++ }, ++ "node_modules/tap/node_modules/caniuse-lite": { ++ "version": "1.0.30001279", ++ "dev": true, ++ "inBundle": true, ++ "license": "CC-BY-4.0", ++ "funding": { ++ "type": "opencollective", ++ "url": "https://opencollective.com/browserslist" ++ } ++ }, ++ "node_modules/tap/node_modules/cardinal": { ++ "version": "2.1.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansicolors": "~0.3.2", ++ "redeyed": "~2.1.0" ++ }, ++ "bin": { ++ "cdl": "bin/cdl.js" ++ } ++ }, ++ "node_modules/tap/node_modules/chalk": { ++ "version": "2.4.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-styles": "^3.2.1", ++ "escape-string-regexp": "^1.0.5", ++ "supports-color": "^5.3.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/tap/node_modules/ci-info": { ++ "version": "2.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/cli-boxes": { ++ "version": "2.2.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/tap/node_modules/cli-cursor": { ++ "version": "3.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "restore-cursor": "^3.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/cli-truncate": { ++ "version": "2.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "slice-ansi": "^3.0.0", ++ "string-width": "^4.2.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/tap/node_modules/code-excerpt": { ++ "version": "3.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "convert-to-spaces": "^1.0.1" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/tap/node_modules/color-convert": { ++ "version": "1.9.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "color-name": "1.1.3" ++ } ++ }, ++ "node_modules/tap/node_modules/color-name": { ++ "version": "1.1.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/commondir": { ++ "version": "1.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/concat-map": { ++ "version": "0.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/convert-source-map": { ++ "version": "1.8.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "safe-buffer": "~5.1.1" ++ } ++ }, ++ "node_modules/tap/node_modules/convert-to-spaces": { ++ "version": "1.0.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">= 4" ++ } ++ }, ++ "node_modules/tap/node_modules/csstype": { ++ "version": "3.0.9", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/debug": { ++ "version": "4.3.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ms": "2.1.2" ++ }, ++ "engines": { ++ "node": ">=6.0" ++ }, ++ "peerDependenciesMeta": { ++ "supports-color": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/tap/node_modules/electron-to-chromium": { ++ "version": "1.3.893", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC" ++ }, ++ "node_modules/tap/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/escalade": { ++ "version": "3.1.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/tap/node_modules/escape-string-regexp": { ++ "version": "1.0.5", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=0.8.0" ++ } ++ }, ++ "node_modules/tap/node_modules/esprima": { ++ "version": "4.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "BSD-2-Clause", ++ "bin": { ++ "esparse": "bin/esparse.js", ++ "esvalidate": "bin/esvalidate.js" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/tap/node_modules/events-to-array": { ++ "version": "1.1.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC" ++ }, ++ "node_modules/tap/node_modules/find-cache-dir": { ++ "version": "3.3.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "commondir": "^1.0.1", ++ "make-dir": "^3.0.2", ++ "pkg-dir": "^4.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" ++ } ++ }, ++ "node_modules/tap/node_modules/find-up": { ++ "version": "4.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "locate-path": "^5.0.0", ++ "path-exists": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/fs.realpath": { ++ "version": "1.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC" ++ }, ++ "node_modules/tap/node_modules/gensync": { ++ "version": "1.0.0-beta.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6.9.0" ++ } ++ }, ++ "node_modules/tap/node_modules/glob": { ++ "version": "7.2.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC", ++ "dependencies": { ++ "fs.realpath": "^1.0.0", ++ "inflight": "^1.0.4", ++ "inherits": "2", ++ "minimatch": "^3.0.4", ++ "once": "^1.3.0", ++ "path-is-absolute": "^1.0.0" ++ }, ++ "engines": { ++ "node": "*" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/isaacs" ++ } ++ }, ++ "node_modules/tap/node_modules/globals": { ++ "version": "11.12.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/tap/node_modules/has-flag": { ++ "version": "3.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/tap/node_modules/indent-string": { ++ "version": "4.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/inflight": { ++ "version": "1.0.6", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC", ++ "dependencies": { ++ "once": "^1.3.0", ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/tap/node_modules/inherits": { ++ "version": "2.0.4", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC" ++ }, ++ "node_modules/tap/node_modules/ink": { ++ "version": "3.2.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-escapes": "^4.2.1", ++ "auto-bind": "4.0.0", ++ "chalk": "^4.1.0", ++ "cli-boxes": "^2.2.0", ++ "cli-cursor": "^3.1.0", ++ "cli-truncate": "^2.1.0", ++ "code-excerpt": "^3.0.0", ++ "indent-string": "^4.0.0", ++ "is-ci": "^2.0.0", ++ "lodash": "^4.17.20", ++ "patch-console": "^1.0.0", ++ "react-devtools-core": "^4.19.1", ++ "react-reconciler": "^0.26.2", ++ "scheduler": "^0.20.2", ++ "signal-exit": "^3.0.2", ++ "slice-ansi": "^3.0.0", ++ "stack-utils": "^2.0.2", ++ "string-width": "^4.2.2", ++ "type-fest": "^0.12.0", ++ "widest-line": "^3.1.0", ++ "wrap-ansi": "^6.2.0", ++ "ws": "^7.5.5", ++ "yoga-layout-prebuilt": "^1.9.6" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "peerDependencies": { ++ "@types/react": ">=16.8.0", ++ "react": ">=16.8.0" ++ }, ++ "peerDependenciesMeta": { ++ "@types/react": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/tap/node_modules/ink/node_modules/ansi-styles": { ++ "version": "4.3.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/tap/node_modules/ink/node_modules/chalk": { ++ "version": "4.1.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" ++ } ++ }, ++ "node_modules/tap/node_modules/ink/node_modules/color-convert": { ++ "version": "2.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/tap/node_modules/ink/node_modules/color-name": { ++ "version": "1.1.4", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/ink/node_modules/has-flag": { ++ "version": "4.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/ink/node_modules/supports-color": { ++ "version": "7.2.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/is-ci": { ++ "version": "2.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ci-info": "^2.0.0" ++ }, ++ "bin": { ++ "is-ci": "bin.js" ++ } ++ }, ++ "node_modules/tap/node_modules/is-fullwidth-code-point": { ++ "version": "3.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/js-tokens": { ++ "version": "4.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/jsesc": { ++ "version": "2.5.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "bin": { ++ "jsesc": "bin/jsesc" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/tap/node_modules/json5": { ++ "version": "2.2.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "minimist": "^1.2.5" ++ }, ++ "bin": { ++ "json5": "lib/cli.js" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/tap/node_modules/locate-path": { ++ "version": "5.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "p-locate": "^4.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/lodash": { ++ "version": "4.17.21", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/loose-envify": { ++ "version": "1.4.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "js-tokens": "^3.0.0 || ^4.0.0" ++ }, ++ "bin": { ++ "loose-envify": "cli.js" ++ } ++ }, ++ "node_modules/tap/node_modules/make-dir": { ++ "version": "3.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "semver": "^6.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/tap/node_modules/mimic-fn": { ++ "version": "2.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/tap/node_modules/minimatch": { ++ "version": "3.0.4", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC", ++ "dependencies": { ++ "brace-expansion": "^1.1.7" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/tap/node_modules/minimist": { ++ "version": "1.2.5", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/minipass": { ++ "version": "3.1.5", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC", ++ "dependencies": { ++ "yallist": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/ms": { ++ "version": "2.1.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/node-releases": { ++ "version": "2.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/object-assign": { ++ "version": "4.1.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/tap/node_modules/once": { ++ "version": "1.4.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC", ++ "dependencies": { ++ "wrappy": "1" ++ } ++ }, ++ "node_modules/tap/node_modules/onetime": { ++ "version": "5.1.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "mimic-fn": "^2.1.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/tap/node_modules/p-limit": { ++ "version": "2.3.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "p-try": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/tap/node_modules/p-locate": { ++ "version": "4.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "p-limit": "^2.2.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/p-try": { ++ "version": "2.2.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/tap/node_modules/patch-console": { ++ "version": "1.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/tap/node_modules/path-exists": { ++ "version": "4.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/path-is-absolute": { ++ "version": "1.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/tap/node_modules/picocolors": { ++ "version": "1.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC" ++ }, ++ "node_modules/tap/node_modules/pkg-dir": { ++ "version": "4.2.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "find-up": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/punycode": { ++ "version": "2.1.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/tap/node_modules/react": { ++ "version": "17.0.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "loose-envify": "^1.1.0", ++ "object-assign": "^4.1.1" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/tap/node_modules/react-devtools-core": { ++ "version": "4.21.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "shell-quote": "^1.6.1", ++ "ws": "^7" ++ } ++ }, ++ "node_modules/tap/node_modules/react-reconciler": { ++ "version": "0.26.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "loose-envify": "^1.1.0", ++ "object-assign": "^4.1.1", ++ "scheduler": "^0.20.2" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ }, ++ "peerDependencies": { ++ "react": "^17.0.2" ++ } ++ }, ++ "node_modules/tap/node_modules/redeyed": { ++ "version": "2.1.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "esprima": "~4.0.0" ++ } ++ }, ++ "node_modules/tap/node_modules/resolve-from": { ++ "version": "3.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/tap/node_modules/restore-cursor": { ++ "version": "3.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "onetime": "^5.1.0", ++ "signal-exit": "^3.0.2" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/rimraf": { ++ "version": "3.0.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC", ++ "dependencies": { ++ "glob": "^7.1.3" ++ }, ++ "bin": { ++ "rimraf": "bin.js" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/isaacs" ++ } ++ }, ++ "node_modules/tap/node_modules/safe-buffer": { ++ "version": "5.1.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/scheduler": { ++ "version": "0.20.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "loose-envify": "^1.1.0", ++ "object-assign": "^4.1.1" ++ } ++ }, ++ "node_modules/tap/node_modules/semver": { ++ "version": "6.3.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC", ++ "bin": { ++ "semver": "bin/semver.js" ++ } ++ }, ++ "node_modules/tap/node_modules/shell-quote": { ++ "version": "1.7.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/signal-exit": { ++ "version": "3.0.6", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC" ++ }, ++ "node_modules/tap/node_modules/slice-ansi": { ++ "version": "3.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-styles": "^4.0.0", ++ "astral-regex": "^2.0.0", ++ "is-fullwidth-code-point": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/slice-ansi/node_modules/ansi-styles": { ++ "version": "4.3.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/tap/node_modules/slice-ansi/node_modules/color-convert": { ++ "version": "2.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/tap/node_modules/slice-ansi/node_modules/color-name": { ++ "version": "1.1.4", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/source-map": { ++ "version": "0.5.7", ++ "dev": true, ++ "inBundle": true, ++ "license": "BSD-3-Clause", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/tap/node_modules/stack-utils": { ++ "version": "2.0.5", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "escape-string-regexp": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/tap/node_modules/stack-utils/node_modules/escape-string-regexp": { ++ "version": "2.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/string-width": { ++ "version": "4.2.3", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/strip-ansi": { ++ "version": "6.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-regex": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/supports-color": { ++ "version": "5.5.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "has-flag": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/tap/node_modules/tap-parser": { ++ "version": "10.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "events-to-array": "^1.0.1", ++ "minipass": "^3.0.0", ++ "tap-yaml": "^1.0.0" ++ }, ++ "bin": { ++ "tap-parser": "bin/cmd.js" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/tap/node_modules/tap-yaml": { ++ "version": "1.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC", ++ "dependencies": { ++ "yaml": "^1.5.0" ++ } ++ }, ++ "node_modules/tap/node_modules/to-fast-properties": { ++ "version": "2.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/tap/node_modules/treport": { ++ "version": "3.0.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC", ++ "dependencies": { ++ "@isaacs/import-jsx": "^4.0.1", ++ "cardinal": "^2.1.1", ++ "chalk": "^3.0.0", ++ "ink": "^3.2.0", ++ "ms": "^2.1.2", ++ "tap-parser": "^10.0.1", ++ "unicode-length": "^2.0.2" ++ }, ++ "peerDependencies": { ++ "react": "^17.0.2" ++ } ++ }, ++ "node_modules/tap/node_modules/treport/node_modules/ansi-styles": { ++ "version": "4.3.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/tap/node_modules/treport/node_modules/chalk": { ++ "version": "3.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/treport/node_modules/color-convert": { ++ "version": "2.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/tap/node_modules/treport/node_modules/color-name": { ++ "version": "1.1.4", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/treport/node_modules/has-flag": { ++ "version": "4.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/treport/node_modules/supports-color": { ++ "version": "7.2.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/type-fest": { ++ "version": "0.12.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "(MIT OR CC0-1.0)", ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/tap/node_modules/unicode-length": { ++ "version": "2.0.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "punycode": "^2.0.0", ++ "strip-ansi": "^3.0.1" ++ } ++ }, ++ "node_modules/tap/node_modules/unicode-length/node_modules/ansi-regex": { ++ "version": "2.1.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/tap/node_modules/unicode-length/node_modules/strip-ansi": { ++ "version": "3.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-regex": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/tap/node_modules/widest-line": { ++ "version": "3.1.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "string-width": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/wrap-ansi": { ++ "version": "6.2.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-styles": "^4.0.0", ++ "string-width": "^4.1.0", ++ "strip-ansi": "^6.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tap/node_modules/wrap-ansi/node_modules/ansi-styles": { ++ "version": "4.3.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/tap/node_modules/wrap-ansi/node_modules/color-convert": { ++ "version": "2.0.1", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/tap/node_modules/wrap-ansi/node_modules/color-name": { ++ "version": "1.1.4", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT" ++ }, ++ "node_modules/tap/node_modules/wrappy": { ++ "version": "1.0.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC" ++ }, ++ "node_modules/tap/node_modules/ws": { ++ "version": "7.5.5", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8.3.0" ++ }, ++ "peerDependencies": { ++ "bufferutil": "^4.0.1", ++ "utf-8-validate": "^5.0.2" ++ }, ++ "peerDependenciesMeta": { ++ "bufferutil": { ++ "optional": true ++ }, ++ "utf-8-validate": { ++ "optional": true ++ } ++ } ++ }, ++ "node_modules/tap/node_modules/yallist": { ++ "version": "4.0.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC" ++ }, ++ "node_modules/tap/node_modules/yaml": { ++ "version": "1.10.2", ++ "dev": true, ++ "inBundle": true, ++ "license": "ISC", ++ "engines": { ++ "node": ">= 6" ++ } ++ }, ++ "node_modules/tap/node_modules/yoga-layout-prebuilt": { ++ "version": "1.10.0", ++ "dev": true, ++ "inBundle": true, ++ "license": "MIT", ++ "dependencies": { ++ "@types/yoga-layout": "1.9.2" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/tcompare": { ++ "version": "5.0.7", ++ "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-5.0.7.tgz", ++ "integrity": "sha512-d9iddt6YYGgyxJw5bjsN7UJUO1kGOtjSlNy/4PoGYAjQS5pAT/hzIoLf1bZCw+uUxRmZJh7Yy1aA7xKVRT9B4w==", ++ "dev": true, ++ "dependencies": { ++ "diff": "^4.0.2" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, ++ "node_modules/test-exclude": { ++ "version": "6.0.0", ++ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", ++ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", ++ "dev": true, ++ "dependencies": { ++ "@istanbuljs/schema": "^0.1.2", ++ "glob": "^7.1.4", ++ "minimatch": "^3.0.4" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/to-fast-properties": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", ++ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", ++ "dev": true, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "is-number": "^7.0.0" ++ }, ++ "engines": { ++ "node": ">=8.0" ++ } ++ }, ++ "node_modules/tough-cookie": { ++ "version": "2.5.0", ++ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", ++ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", ++ "dev": true, ++ "dependencies": { ++ "psl": "^1.1.28", ++ "punycode": "^2.1.1" ++ }, ++ "engines": { ++ "node": ">=0.8" ++ } ++ }, ++ "node_modules/trivial-deferred": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", ++ "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", ++ "dev": true ++ }, ++ "node_modules/tunnel-agent": { ++ "version": "0.6.0", ++ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", ++ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", ++ "dev": true, ++ "dependencies": { ++ "safe-buffer": "^5.0.1" ++ }, ++ "engines": { ++ "node": "*" ++ } ++ }, ++ "node_modules/tweetnacl": { ++ "version": "0.14.5", ++ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", ++ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", ++ "dev": true ++ }, ++ "node_modules/type-fest": { ++ "version": "0.8.1", ++ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", ++ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", ++ "dev": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/typedarray-to-buffer": { ++ "version": "3.1.5", ++ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", ++ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", ++ "dev": true, ++ "dependencies": { ++ "is-typedarray": "^1.0.0" ++ } ++ }, ++ "node_modules/unicode-length": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-2.0.2.tgz", ++ "integrity": "sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg==", ++ "dev": true, ++ "dependencies": { ++ "punycode": "^2.0.0", ++ "strip-ansi": "^3.0.1" ++ } ++ }, ++ "node_modules/unicode-length/node_modules/ansi-regex": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", ++ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", ++ "dev": true, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/unicode-length/node_modules/strip-ansi": { ++ "version": "3.0.1", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", ++ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", ++ "dev": true, ++ "dependencies": { ++ "ansi-regex": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/uri-js": { ++ "version": "4.4.1", ++ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", ++ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", ++ "dev": true, ++ "dependencies": { ++ "punycode": "^2.1.0" ++ } ++ }, ++ "node_modules/uuid": { ++ "version": "3.4.0", ++ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", ++ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", ++ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", ++ "dev": true, ++ "bin": { ++ "uuid": "bin/uuid" ++ } ++ }, ++ "node_modules/verror": { ++ "version": "1.10.0", ++ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", ++ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", ++ "dev": true, ++ "engines": [ ++ "node >=0.6.0" ++ ], ++ "dependencies": { ++ "assert-plus": "^1.0.0", ++ "core-util-is": "1.0.2", ++ "extsprintf": "^1.2.0" ++ } ++ }, ++ "node_modules/which": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", ++ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", ++ "dev": true, ++ "dependencies": { ++ "isexe": "^2.0.0" ++ }, ++ "bin": { ++ "node-which": "bin/node-which" ++ }, ++ "engines": { ++ "node": ">= 8" ++ } ++ }, ++ "node_modules/which-module": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", ++ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", ++ "dev": true ++ }, ++ "node_modules/wrap-ansi": { ++ "version": "7.0.0", ++ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", ++ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", ++ "dev": true, ++ "dependencies": { ++ "ansi-styles": "^4.0.0", ++ "string-width": "^4.1.0", ++ "strip-ansi": "^6.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" ++ } ++ }, ++ "node_modules/wrap-ansi/node_modules/ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "dev": true, ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/wrap-ansi/node_modules/color-convert": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ++ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "dev": true, ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/wrap-ansi/node_modules/color-name": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", ++ "dev": true ++ }, ++ "node_modules/wrappy": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", ++ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", ++ "dev": true ++ }, ++ "node_modules/write-file-atomic": { ++ "version": "3.0.3", ++ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", ++ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", ++ "dev": true, ++ "dependencies": { ++ "imurmurhash": "^0.1.4", ++ "is-typedarray": "^1.0.0", ++ "signal-exit": "^3.0.2", ++ "typedarray-to-buffer": "^3.1.5" ++ } ++ }, ++ "node_modules/y18n": { ++ "version": "4.0.3", ++ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", ++ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", ++ "dev": true ++ }, ++ "node_modules/yallist": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", ++ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", ++ "dev": true ++ }, ++ "node_modules/yaml": { ++ "version": "1.10.2", ++ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", ++ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", ++ "dev": true, ++ "engines": { ++ "node": ">= 6" ++ } ++ }, ++ "node_modules/yapool": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", ++ "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", ++ "dev": true ++ }, ++ "node_modules/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, ++ "dependencies": { ++ "cliui": "^6.0.0", ++ "decamelize": "^1.2.0", ++ "find-up": "^4.1.0", ++ "get-caller-file": "^2.0.1", ++ "require-directory": "^2.1.1", ++ "require-main-filename": "^2.0.0", ++ "set-blocking": "^2.0.0", ++ "string-width": "^4.2.0", ++ "which-module": "^2.0.0", ++ "y18n": "^4.0.0", ++ "yargs-parser": "^18.1.2" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/yargs-parser": { ++ "version": "18.1.3", ++ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", ++ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", ++ "dev": true, ++ "dependencies": { ++ "camelcase": "^5.0.0", ++ "decamelize": "^1.2.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/yargs/node_modules/ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "dev": true, ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/yargs/node_modules/cliui": { ++ "version": "6.0.0", ++ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", ++ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", ++ "dev": true, ++ "dependencies": { ++ "string-width": "^4.2.0", ++ "strip-ansi": "^6.0.0", ++ "wrap-ansi": "^6.2.0" ++ } ++ }, ++ "node_modules/yargs/node_modules/color-convert": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ++ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "dev": true, ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/yargs/node_modules/color-name": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", ++ "dev": true ++ }, ++ "node_modules/yargs/node_modules/wrap-ansi": { ++ "version": "6.2.0", ++ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", ++ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", ++ "dev": true, ++ "dependencies": { ++ "ansi-styles": "^4.0.0", ++ "string-width": "^4.1.0", ++ "strip-ansi": "^6.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ } ++ }, + "dependencies": { ++ "@ampproject/remapping": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.0.4.tgz", ++ "integrity": "sha512-zU3pj3pf//YhaoozRTYKaL20KopXrzuZFc/8Ylc49AuV8grYKH23TTq9JJoR70F8zQbil58KjSchZTWeX+jrIQ==", ++ "dev": true, ++ "requires": { ++ "@jridgewell/trace-mapping": "^0.3.0" ++ } ++ }, ++ "@babel/code-frame": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", ++ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", ++ "dev": true, ++ "requires": { ++ "@babel/highlight": "^7.16.7" ++ } ++ }, ++ "@babel/compat-data": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz", ++ "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==", ++ "dev": true ++ }, ++ "@babel/core": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.0.tgz", ++ "integrity": "sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==", ++ "dev": true, ++ "requires": { ++ "@ampproject/remapping": "^2.0.0", ++ "@babel/code-frame": "^7.16.7", ++ "@babel/generator": "^7.17.0", ++ "@babel/helper-compilation-targets": "^7.16.7", ++ "@babel/helper-module-transforms": "^7.16.7", ++ "@babel/helpers": "^7.17.0", ++ "@babel/parser": "^7.17.0", ++ "@babel/template": "^7.16.7", ++ "@babel/traverse": "^7.17.0", ++ "@babel/types": "^7.17.0", ++ "convert-source-map": "^1.7.0", ++ "debug": "^4.1.0", ++ "gensync": "^1.0.0-beta.2", ++ "json5": "^2.1.2", ++ "semver": "^6.3.0" ++ } ++ }, ++ "@babel/generator": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.0.tgz", ++ "integrity": "sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==", ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.17.0", ++ "jsesc": "^2.5.1", ++ "source-map": "^0.5.0" ++ } ++ }, ++ "@babel/helper-compilation-targets": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", ++ "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", ++ "dev": true, ++ "requires": { ++ "@babel/compat-data": "^7.16.4", ++ "@babel/helper-validator-option": "^7.16.7", ++ "browserslist": "^4.17.5", ++ "semver": "^6.3.0" ++ } ++ }, ++ "@babel/helper-environment-visitor": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", ++ "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.7" ++ } ++ }, ++ "@babel/helper-function-name": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", ++ "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", ++ "dev": true, ++ "requires": { ++ "@babel/helper-get-function-arity": "^7.16.7", ++ "@babel/template": "^7.16.7", ++ "@babel/types": "^7.16.7" ++ } ++ }, ++ "@babel/helper-get-function-arity": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", ++ "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.7" ++ } ++ }, ++ "@babel/helper-hoist-variables": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", ++ "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.7" ++ } ++ }, ++ "@babel/helper-module-imports": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", ++ "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.7" ++ } ++ }, ++ "@babel/helper-module-transforms": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", ++ "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", ++ "dev": true, ++ "requires": { ++ "@babel/helper-environment-visitor": "^7.16.7", ++ "@babel/helper-module-imports": "^7.16.7", ++ "@babel/helper-simple-access": "^7.16.7", ++ "@babel/helper-split-export-declaration": "^7.16.7", ++ "@babel/helper-validator-identifier": "^7.16.7", ++ "@babel/template": "^7.16.7", ++ "@babel/traverse": "^7.16.7", ++ "@babel/types": "^7.16.7" ++ } ++ }, ++ "@babel/helper-simple-access": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", ++ "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.7" ++ } ++ }, ++ "@babel/helper-split-export-declaration": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", ++ "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.7" ++ } ++ }, ++ "@babel/helper-validator-identifier": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", ++ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", ++ "dev": true ++ }, ++ "@babel/helper-validator-option": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", ++ "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", ++ "dev": true ++ }, ++ "@babel/helpers": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.0.tgz", ++ "integrity": "sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==", ++ "dev": true, ++ "requires": { ++ "@babel/template": "^7.16.7", ++ "@babel/traverse": "^7.17.0", ++ "@babel/types": "^7.17.0" ++ } ++ }, ++ "@babel/highlight": { ++ "version": "7.16.10", ++ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", ++ "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", ++ "dev": true, ++ "requires": { ++ "@babel/helper-validator-identifier": "^7.16.7", ++ "chalk": "^2.0.0", ++ "js-tokens": "^4.0.0" ++ } ++ }, ++ "@babel/parser": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.0.tgz", ++ "integrity": "sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==", ++ "dev": true ++ }, ++ "@babel/template": { ++ "version": "7.16.7", ++ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", ++ "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", ++ "dev": true, ++ "requires": { ++ "@babel/code-frame": "^7.16.7", ++ "@babel/parser": "^7.16.7", ++ "@babel/types": "^7.16.7" ++ } ++ }, ++ "@babel/traverse": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.0.tgz", ++ "integrity": "sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==", ++ "dev": true, ++ "requires": { ++ "@babel/code-frame": "^7.16.7", ++ "@babel/generator": "^7.17.0", ++ "@babel/helper-environment-visitor": "^7.16.7", ++ "@babel/helper-function-name": "^7.16.7", ++ "@babel/helper-hoist-variables": "^7.16.7", ++ "@babel/helper-split-export-declaration": "^7.16.7", ++ "@babel/parser": "^7.17.0", ++ "@babel/types": "^7.17.0", ++ "debug": "^4.1.0", ++ "globals": "^11.1.0" ++ } ++ }, ++ "@babel/types": { ++ "version": "7.17.0", ++ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", ++ "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", ++ "dev": true, ++ "requires": { ++ "@babel/helper-validator-identifier": "^7.16.7", ++ "to-fast-properties": "^2.0.0" ++ } ++ }, ++ "@istanbuljs/load-nyc-config": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", ++ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", ++ "dev": true, ++ "requires": { ++ "camelcase": "^5.3.1", ++ "find-up": "^4.1.0", ++ "get-package-type": "^0.1.0", ++ "js-yaml": "^3.13.1", ++ "resolve-from": "^5.0.0" ++ } ++ }, ++ "@istanbuljs/schema": { ++ "version": "0.1.3", ++ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", ++ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", ++ "dev": true ++ }, ++ "@jridgewell/resolve-uri": { ++ "version": "3.0.4", ++ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz", ++ "integrity": "sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==", ++ "dev": true ++ }, ++ "@jridgewell/sourcemap-codec": { ++ "version": "1.4.10", ++ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz", ++ "integrity": "sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==", ++ "dev": true ++ }, ++ "@jridgewell/trace-mapping": { ++ "version": "0.3.2", ++ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.2.tgz", ++ "integrity": "sha512-9KzzH4kMjA2XmBRHfqG2/Vtl7s92l6uNDd0wW7frDE+EUvQFGqNXhWp0UGJjSkt3v2AYjzOZn1QO9XaTNJIt1Q==", ++ "dev": true, ++ "requires": { ++ "@jridgewell/resolve-uri": "^3.0.3", ++ "@jridgewell/sourcemap-codec": "^1.4.10" ++ } ++ }, ++ "aggregate-error": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", ++ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", ++ "dev": true, ++ "requires": { ++ "clean-stack": "^2.0.0", ++ "indent-string": "^4.0.0" ++ } ++ }, ++ "ajv": { ++ "version": "6.12.6", ++ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", ++ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", ++ "dev": true, ++ "requires": { ++ "fast-deep-equal": "^3.1.1", ++ "fast-json-stable-stringify": "^2.0.0", ++ "json-schema-traverse": "^0.4.1", ++ "uri-js": "^4.2.2" ++ } ++ }, ++ "ansi-regex": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", ++ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", ++ "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" ++ } ++ }, ++ "anymatch": { ++ "version": "3.1.2", ++ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", ++ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", ++ "dev": true, ++ "requires": { ++ "normalize-path": "^3.0.0", ++ "picomatch": "^2.0.4" ++ } ++ }, ++ "append-transform": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", ++ "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", ++ "dev": true, ++ "requires": { ++ "default-require-extensions": "^3.0.0" ++ } ++ }, ++ "archy": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", ++ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", ++ "dev": true ++ }, ++ "argparse": { ++ "version": "1.0.10", ++ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", ++ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", ++ "dev": true, ++ "requires": { ++ "sprintf-js": "~1.0.2" ++ } ++ }, ++ "asn1": { ++ "version": "0.2.6", ++ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", ++ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", ++ "dev": true, ++ "requires": { ++ "safer-buffer": "~2.1.0" ++ } ++ }, ++ "assert-plus": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", ++ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", ++ "dev": true ++ }, ++ "async-hook-domain": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/async-hook-domain/-/async-hook-domain-2.0.4.tgz", ++ "integrity": "sha512-14LjCmlK1PK8eDtTezR6WX8TMaYNIzBIsd2D1sGoGjgx0BuNMMoSdk7i/drlbtamy0AWv9yv2tkB+ASdmeqFIw==", ++ "dev": true ++ }, ++ "asynckit": { ++ "version": "0.4.0", ++ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", ++ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", ++ "dev": true ++ }, ++ "aws-sign2": { ++ "version": "0.7.0", ++ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", ++ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", ++ "dev": true ++ }, ++ "aws4": { ++ "version": "1.11.0", ++ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", ++ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", ++ "dev": true ++ }, + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + }, ++ "bcrypt-pbkdf": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", ++ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", ++ "dev": true, ++ "requires": { ++ "tweetnacl": "^0.14.3" ++ } ++ }, ++ "binary-extensions": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", ++ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", ++ "dev": true ++ }, ++ "bind-obj-methods": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-3.0.0.tgz", ++ "integrity": "sha512-nLEaaz3/sEzNSyPWRsN9HNsqwk1AUyECtGj+XwGdIi3xABnEqecvXtIJ0wehQXuuER5uZ/5fTs2usONgYjG+iw==", ++ "dev": true ++ }, + "brace-expansion": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", +- "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=" ++ "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", ++ "requires": { ++ "balanced-match": "^0.4.1", ++ "concat-map": "0.0.1" ++ } ++ }, ++ "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" ++ } ++ }, ++ "browserslist": { ++ "version": "4.19.1", ++ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", ++ "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", ++ "dev": true, ++ "requires": { ++ "caniuse-lite": "^1.0.30001286", ++ "electron-to-chromium": "^1.4.17", ++ "escalade": "^3.1.1", ++ "node-releases": "^2.0.1", ++ "picocolors": "^1.0.0" ++ } ++ }, ++ "buffer-from": { ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", ++ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", ++ "dev": true ++ }, ++ "caching-transform": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", ++ "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", ++ "dev": true, ++ "requires": { ++ "hasha": "^5.0.0", ++ "make-dir": "^3.0.0", ++ "package-hash": "^4.0.0", ++ "write-file-atomic": "^3.0.0" ++ } ++ }, ++ "camelcase": { ++ "version": "5.3.1", ++ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", ++ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", ++ "dev": true ++ }, ++ "caniuse-lite": { ++ "version": "1.0.30001307", ++ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001307.tgz", ++ "integrity": "sha512-+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng==", ++ "dev": true ++ }, ++ "caseless": { ++ "version": "0.12.0", ++ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", ++ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", ++ "dev": true ++ }, ++ "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" ++ } ++ }, ++ "chokidar": { ++ "version": "3.5.3", ++ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", ++ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", ++ "dev": true, ++ "requires": { ++ "anymatch": "~3.1.2", ++ "braces": "~3.0.2", ++ "fsevents": "~2.3.2", ++ "glob-parent": "~5.1.2", ++ "is-binary-path": "~2.1.0", ++ "is-glob": "~4.0.1", ++ "normalize-path": "~3.0.0", ++ "readdirp": "~3.6.0" ++ } ++ }, ++ "clean-stack": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", ++ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", ++ "dev": true ++ }, ++ "cliui": { ++ "version": "7.0.4", ++ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", ++ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", ++ "dev": true, ++ "requires": { ++ "string-width": "^4.2.0", ++ "strip-ansi": "^6.0.0", ++ "wrap-ansi": "^7.0.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 ++ }, ++ "color-support": { ++ "version": "1.1.3", ++ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", ++ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", ++ "dev": true ++ }, ++ "combined-stream": { ++ "version": "1.0.8", ++ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", ++ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", ++ "dev": true, ++ "requires": { ++ "delayed-stream": "~1.0.0" ++ } ++ }, ++ "commondir": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", ++ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", ++ "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" ++ }, ++ "convert-source-map": { ++ "version": "1.8.0", ++ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", ++ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", ++ "dev": true, ++ "requires": { ++ "safe-buffer": "~5.1.1" ++ } ++ }, ++ "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=", ++ "dev": true ++ }, ++ "coveralls": { ++ "version": "3.1.1", ++ "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", ++ "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", ++ "dev": true, ++ "requires": { ++ "js-yaml": "^3.13.1", ++ "lcov-parse": "^1.0.0", ++ "log-driver": "^1.2.7", ++ "minimist": "^1.2.5", ++ "request": "^2.88.2" ++ } ++ }, ++ "cross-spawn": { ++ "version": "7.0.3", ++ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", ++ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", ++ "dev": true, ++ "requires": { ++ "path-key": "^3.1.0", ++ "shebang-command": "^2.0.0", ++ "which": "^2.0.1" ++ } ++ }, ++ "dashdash": { ++ "version": "1.14.1", ++ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", ++ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", ++ "dev": true, ++ "requires": { ++ "assert-plus": "^1.0.0" ++ } ++ }, ++ "debug": { ++ "version": "4.3.3", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", ++ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", ++ "dev": true, ++ "requires": { ++ "ms": "2.1.2" ++ } ++ }, ++ "decamelize": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", ++ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", ++ "dev": true ++ }, ++ "default-require-extensions": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", ++ "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", ++ "dev": true, ++ "requires": { ++ "strip-bom": "^4.0.0" ++ } ++ }, ++ "delayed-stream": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", ++ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", ++ "dev": true ++ }, ++ "diff": { ++ "version": "4.0.2", ++ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", ++ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", ++ "dev": true ++ }, ++ "ecc-jsbn": { ++ "version": "0.1.2", ++ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", ++ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", ++ "dev": true, ++ "requires": { ++ "jsbn": "~0.1.0", ++ "safer-buffer": "^2.1.0" ++ } ++ }, ++ "electron-to-chromium": { ++ "version": "1.4.65", ++ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.65.tgz", ++ "integrity": "sha512-0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw==", ++ "dev": true ++ }, ++ "emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true ++ }, ++ "es6-error": { ++ "version": "4.1.1", ++ "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", ++ "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", ++ "dev": true ++ }, ++ "escalade": { ++ "version": "3.1.1", ++ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", ++ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", ++ "dev": true ++ }, ++ "escape-string-regexp": { ++ "version": "1.0.5", ++ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", ++ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", ++ "dev": true ++ }, ++ "esprima": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", ++ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", ++ "dev": true ++ }, ++ "events-to-array": { ++ "version": "1.1.2", ++ "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", ++ "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", ++ "dev": true ++ }, ++ "extend": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", ++ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", ++ "dev": true ++ }, ++ "extsprintf": { ++ "version": "1.3.0", ++ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", ++ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", ++ "dev": true ++ }, ++ "fast-deep-equal": { ++ "version": "3.1.3", ++ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", ++ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", ++ "dev": true ++ }, ++ "fast-json-stable-stringify": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", ++ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", ++ "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" ++ } ++ }, ++ "find-cache-dir": { ++ "version": "3.3.2", ++ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", ++ "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", ++ "dev": true, ++ "requires": { ++ "commondir": "^1.0.1", ++ "make-dir": "^3.0.2", ++ "pkg-dir": "^4.1.0" ++ } ++ }, ++ "find-up": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", ++ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", ++ "dev": true, ++ "requires": { ++ "locate-path": "^5.0.0", ++ "path-exists": "^4.0.0" ++ } ++ }, ++ "findit": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", ++ "integrity": "sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4=", ++ "dev": true ++ }, ++ "foreground-child": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", ++ "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", ++ "dev": true, ++ "requires": { ++ "cross-spawn": "^7.0.0", ++ "signal-exit": "^3.0.2" ++ } ++ }, ++ "forever-agent": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", ++ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", ++ "dev": true ++ }, ++ "form-data": { ++ "version": "2.3.3", ++ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", ++ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", ++ "dev": true, ++ "requires": { ++ "asynckit": "^0.4.0", ++ "combined-stream": "^1.0.6", ++ "mime-types": "^2.1.12" ++ } ++ }, ++ "fromentries": { ++ "version": "1.3.2", ++ "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", ++ "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", ++ "dev": true ++ }, ++ "fs-exists-cached": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", ++ "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", ++ "dev": true ++ }, ++ "fs.realpath": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", ++ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", ++ "dev": true ++ }, ++ "fsevents": { ++ "version": "2.3.2", ++ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", ++ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", ++ "dev": true, ++ "optional": true ++ }, ++ "function-loop": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-2.0.1.tgz", ++ "integrity": "sha512-ktIR+O6i/4h+j/ZhZJNdzeI4i9lEPeEK6UPR2EVyTVBqOwcU3Za9xYKLH64ZR9HmcROyRrOkizNyjjtWJzDDkQ==", ++ "dev": true ++ }, ++ "gensync": { ++ "version": "1.0.0-beta.2", ++ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", ++ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", ++ "dev": true ++ }, ++ "get-caller-file": { ++ "version": "2.0.5", ++ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", ++ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", ++ "dev": true ++ }, ++ "get-package-type": { ++ "version": "0.1.0", ++ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", ++ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", ++ "dev": true ++ }, ++ "getpass": { ++ "version": "0.1.7", ++ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", ++ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", ++ "dev": true, ++ "requires": { ++ "assert-plus": "^1.0.0" ++ } ++ }, ++ "glob": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", ++ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", ++ "dev": true, ++ "requires": { ++ "fs.realpath": "^1.0.0", ++ "inflight": "^1.0.4", ++ "inherits": "2", ++ "minimatch": "^3.0.4", ++ "once": "^1.3.0", ++ "path-is-absolute": "^1.0.0" ++ } ++ }, ++ "glob-parent": { ++ "version": "5.1.2", ++ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", ++ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", ++ "dev": true, ++ "requires": { ++ "is-glob": "^4.0.1" ++ } ++ }, ++ "globals": { ++ "version": "11.12.0", ++ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", ++ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", ++ "dev": true ++ }, ++ "graceful-fs": { ++ "version": "4.2.9", ++ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", ++ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", ++ "dev": true ++ }, ++ "har-schema": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", ++ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", ++ "dev": true ++ }, ++ "har-validator": { ++ "version": "5.1.5", ++ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", ++ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", ++ "dev": true, ++ "requires": { ++ "ajv": "^6.12.3", ++ "har-schema": "^2.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 ++ }, ++ "hasha": { ++ "version": "5.2.2", ++ "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", ++ "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", ++ "dev": true, ++ "requires": { ++ "is-stream": "^2.0.0", ++ "type-fest": "^0.8.0" ++ } ++ }, ++ "html-escaper": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", ++ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", ++ "dev": true ++ }, ++ "http-signature": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", ++ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", ++ "dev": true, ++ "requires": { ++ "assert-plus": "^1.0.0", ++ "jsprim": "^1.2.2", ++ "sshpk": "^1.7.0" ++ } ++ }, ++ "imurmurhash": { ++ "version": "0.1.4", ++ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", ++ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", ++ "dev": true ++ }, ++ "indent-string": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", ++ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", ++ "dev": true ++ }, ++ "inflight": { ++ "version": "1.0.6", ++ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", ++ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", ++ "dev": true, ++ "requires": { ++ "once": "^1.3.0", ++ "wrappy": "1" ++ } ++ }, ++ "inherits": { ++ "version": "2.0.4", ++ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", ++ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", ++ "dev": true ++ }, ++ "is-binary-path": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", ++ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", ++ "dev": true, ++ "requires": { ++ "binary-extensions": "^2.0.0" ++ } ++ }, ++ "is-extglob": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", ++ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", ++ "dev": true ++ }, ++ "is-fullwidth-code-point": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", ++ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", ++ "dev": true ++ }, ++ "is-glob": { ++ "version": "4.0.3", ++ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", ++ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", ++ "dev": true, ++ "requires": { ++ "is-extglob": "^2.1.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 ++ }, ++ "is-stream": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", ++ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", ++ "dev": true ++ }, ++ "is-typedarray": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", ++ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", ++ "dev": true ++ }, ++ "is-windows": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", ++ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", ++ "dev": true ++ }, ++ "isexe": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", ++ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", ++ "dev": true ++ }, ++ "isstream": { ++ "version": "0.1.2", ++ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", ++ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", ++ "dev": true ++ }, ++ "istanbul-lib-coverage": { ++ "version": "3.2.0", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", ++ "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", ++ "dev": true ++ }, ++ "istanbul-lib-hook": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", ++ "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", ++ "dev": true, ++ "requires": { ++ "append-transform": "^2.0.0" ++ } ++ }, ++ "istanbul-lib-instrument": { ++ "version": "4.0.3", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", ++ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", ++ "dev": true, ++ "requires": { ++ "@babel/core": "^7.7.5", ++ "@istanbuljs/schema": "^0.1.2", ++ "istanbul-lib-coverage": "^3.0.0", ++ "semver": "^6.3.0" ++ } ++ }, ++ "istanbul-lib-processinfo": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", ++ "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", ++ "dev": true, ++ "requires": { ++ "archy": "^1.0.0", ++ "cross-spawn": "^7.0.0", ++ "istanbul-lib-coverage": "^3.0.0-alpha.1", ++ "make-dir": "^3.0.0", ++ "p-map": "^3.0.0", ++ "rimraf": "^3.0.0", ++ "uuid": "^3.3.3" ++ } ++ }, ++ "istanbul-lib-report": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", ++ "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", ++ "dev": true, ++ "requires": { ++ "istanbul-lib-coverage": "^3.0.0", ++ "make-dir": "^3.0.0", ++ "supports-color": "^7.1.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-color": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", ++ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "dev": true, ++ "requires": { ++ "has-flag": "^4.0.0" ++ } ++ } ++ } ++ }, ++ "istanbul-lib-source-maps": { ++ "version": "4.0.1", ++ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", ++ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", ++ "dev": true, ++ "requires": { ++ "debug": "^4.1.1", ++ "istanbul-lib-coverage": "^3.0.0", ++ "source-map": "^0.6.1" ++ }, ++ "dependencies": { ++ "source-map": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", ++ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", ++ "dev": true ++ } ++ } ++ }, ++ "istanbul-reports": { ++ "version": "3.1.4", ++ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", ++ "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", ++ "dev": true, ++ "requires": { ++ "html-escaper": "^2.0.0", ++ "istanbul-lib-report": "^3.0.0" ++ } ++ }, ++ "jackspeak": { ++ "version": "1.4.1", ++ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.4.1.tgz", ++ "integrity": "sha512-npN8f+M4+IQ8xD3CcWi3U62VQwKlT3Tj4GxbdT/fYTmeogD9eBF9OFdpoFG/VPNoshRjPUijdkp/p2XrzUHaVg==", ++ "dev": true, ++ "requires": { ++ "cliui": "^7.0.4" ++ } ++ }, ++ "js-tokens": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", ++ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", ++ "dev": true ++ }, ++ "js-yaml": { ++ "version": "3.14.1", ++ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", ++ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", ++ "dev": true, ++ "requires": { ++ "argparse": "^1.0.7", ++ "esprima": "^4.0.0" ++ } ++ }, ++ "jsbn": { ++ "version": "0.1.1", ++ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", ++ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", ++ "dev": true ++ }, ++ "jsesc": { ++ "version": "2.5.2", ++ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", ++ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", ++ "dev": true ++ }, ++ "json-schema": { ++ "version": "0.4.0", ++ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", ++ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", ++ "dev": true ++ }, ++ "json-schema-traverse": { ++ "version": "0.4.1", ++ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", ++ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", ++ "dev": true ++ }, ++ "json-stringify-safe": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", ++ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", ++ "dev": true ++ }, ++ "json5": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", ++ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", ++ "dev": true, ++ "requires": { ++ "minimist": "^1.2.5" ++ } ++ }, ++ "jsprim": { ++ "version": "1.4.2", ++ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", ++ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", ++ "dev": true, ++ "requires": { ++ "assert-plus": "1.0.0", ++ "extsprintf": "1.3.0", ++ "json-schema": "0.4.0", ++ "verror": "1.10.0" ++ } ++ }, ++ "lcov-parse": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", ++ "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", ++ "dev": true ++ }, ++ "libtap": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.1.4.tgz", ++ "integrity": "sha512-jM+QyAeRdVs1bJrNpjlu+l8gRdDkAehqls31AwSnqXghVLUP6nbYeU2Xfs2svYS7ZdksvnHvrxCKRBFEz/BCjA==", ++ "dev": true, ++ "requires": { ++ "async-hook-domain": "^2.0.4", ++ "bind-obj-methods": "^3.0.0", ++ "diff": "^4.0.2", ++ "function-loop": "^2.0.1", ++ "minipass": "^3.1.5", ++ "own-or": "^1.0.0", ++ "own-or-env": "^1.0.2", ++ "signal-exit": "^3.0.4", ++ "stack-utils": "^2.0.4", ++ "tap-parser": "^10.0.1", ++ "tap-yaml": "^1.0.0", ++ "tcompare": "^5.0.6", ++ "trivial-deferred": "^1.0.1", ++ "yapool": "^1.0.0" ++ } ++ }, ++ "locate-path": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", ++ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", ++ "dev": true, ++ "requires": { ++ "p-locate": "^4.1.0" ++ } ++ }, ++ "lodash.flattendeep": { ++ "version": "4.4.0", ++ "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", ++ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", ++ "dev": true ++ }, ++ "log-driver": { ++ "version": "1.2.7", ++ "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", ++ "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", ++ "dev": true ++ }, ++ "make-dir": { ++ "version": "3.1.0", ++ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", ++ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", ++ "dev": true, ++ "requires": { ++ "semver": "^6.0.0" ++ } ++ }, ++ "mime-db": { ++ "version": "1.51.0", ++ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", ++ "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", ++ "dev": true ++ }, ++ "mime-types": { ++ "version": "2.1.34", ++ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", ++ "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", ++ "dev": true, ++ "requires": { ++ "mime-db": "1.51.0" ++ } ++ }, ++ "minimatch": { ++ "version": "3.0.4", ++ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", ++ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", ++ "dev": true, ++ "requires": { ++ "brace-expansion": "^1.1.7" ++ } ++ }, ++ "minimist": { ++ "version": "1.2.5", ++ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", ++ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", ++ "dev": true ++ }, ++ "minipass": { ++ "version": "3.1.6", ++ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", ++ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", ++ "dev": true, ++ "requires": { ++ "yallist": "^4.0.0" ++ } ++ }, ++ "mkdirp": { ++ "version": "1.0.4", ++ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", ++ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", ++ "dev": true ++ }, ++ "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 ++ }, ++ "node-preload": { ++ "version": "0.2.1", ++ "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", ++ "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", ++ "dev": true, ++ "requires": { ++ "process-on-spawn": "^1.0.0" ++ } ++ }, ++ "node-releases": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", ++ "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", ++ "dev": true ++ }, ++ "normalize-path": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", ++ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", ++ "dev": true ++ }, ++ "nyc": { ++ "version": "15.1.0", ++ "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", ++ "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", ++ "dev": true, ++ "requires": { ++ "@istanbuljs/load-nyc-config": "^1.0.0", ++ "@istanbuljs/schema": "^0.1.2", ++ "caching-transform": "^4.0.0", ++ "convert-source-map": "^1.7.0", ++ "decamelize": "^1.2.0", ++ "find-cache-dir": "^3.2.0", ++ "find-up": "^4.1.0", ++ "foreground-child": "^2.0.0", ++ "get-package-type": "^0.1.0", ++ "glob": "^7.1.6", ++ "istanbul-lib-coverage": "^3.0.0", ++ "istanbul-lib-hook": "^3.0.0", ++ "istanbul-lib-instrument": "^4.0.0", ++ "istanbul-lib-processinfo": "^2.0.2", ++ "istanbul-lib-report": "^3.0.0", ++ "istanbul-lib-source-maps": "^4.0.0", ++ "istanbul-reports": "^3.0.2", ++ "make-dir": "^3.0.0", ++ "node-preload": "^0.2.1", ++ "p-map": "^3.0.0", ++ "process-on-spawn": "^1.0.0", ++ "resolve-from": "^5.0.0", ++ "rimraf": "^3.0.0", ++ "signal-exit": "^3.0.2", ++ "spawn-wrap": "^2.0.0", ++ "test-exclude": "^6.0.0", ++ "yargs": "^15.0.2" ++ } ++ }, ++ "oauth-sign": { ++ "version": "0.9.0", ++ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", ++ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", ++ "dev": true ++ }, ++ "once": { ++ "version": "1.4.0", ++ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", ++ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", ++ "dev": true, ++ "requires": { ++ "wrappy": "1" ++ } ++ }, ++ "opener": { ++ "version": "1.5.2", ++ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", ++ "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", ++ "dev": true ++ }, ++ "own-or": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", ++ "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", ++ "dev": true ++ }, ++ "own-or-env": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.2.tgz", ++ "integrity": "sha512-NQ7v0fliWtK7Lkb+WdFqe6ky9XAzYmlkXthQrBbzlYbmFKoAYbDDcwmOm6q8kOuwSRXW8bdL5ORksploUJmWgw==", ++ "dev": true, ++ "requires": { ++ "own-or": "^1.0.0" ++ } ++ }, ++ "p-limit": { ++ "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" ++ } ++ }, ++ "p-locate": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", ++ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", ++ "dev": true, ++ "requires": { ++ "p-limit": "^2.2.0" ++ } ++ }, ++ "p-map": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", ++ "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", ++ "dev": true, ++ "requires": { ++ "aggregate-error": "^3.0.0" ++ } ++ }, ++ "p-try": { ++ "version": "2.2.0", ++ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", ++ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", ++ "dev": true ++ }, ++ "package-hash": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", ++ "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", ++ "dev": true, ++ "requires": { ++ "graceful-fs": "^4.1.15", ++ "hasha": "^5.0.0", ++ "lodash.flattendeep": "^4.4.0", ++ "release-zalgo": "^1.0.0" ++ } ++ }, ++ "path-exists": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", ++ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", ++ "dev": true ++ }, ++ "path-is-absolute": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", ++ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", ++ "dev": true ++ }, ++ "path-key": { ++ "version": "3.1.1", ++ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", ++ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", ++ "dev": true ++ }, ++ "performance-now": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", ++ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", ++ "dev": true ++ }, ++ "picocolors": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", ++ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", ++ "dev": true ++ }, ++ "picomatch": { ++ "version": "2.3.1", ++ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", ++ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", ++ "dev": true ++ }, ++ "pkg-dir": { ++ "version": "4.2.0", ++ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", ++ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", ++ "dev": true, ++ "requires": { ++ "find-up": "^4.0.0" ++ } ++ }, ++ "process-on-spawn": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", ++ "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", ++ "dev": true, ++ "requires": { ++ "fromentries": "^1.2.0" ++ } ++ }, ++ "psl": { ++ "version": "1.8.0", ++ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", ++ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", ++ "dev": true ++ }, ++ "punycode": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", ++ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", ++ "dev": true ++ }, ++ "qs": { ++ "version": "6.5.3", ++ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", ++ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", ++ "dev": true ++ }, ++ "readdirp": { ++ "version": "3.6.0", ++ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", ++ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", ++ "dev": true, ++ "requires": { ++ "picomatch": "^2.2.1" ++ } ++ }, ++ "release-zalgo": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", ++ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", ++ "dev": true, ++ "requires": { ++ "es6-error": "^4.0.1" ++ } ++ }, ++ "request": { ++ "version": "2.88.2", ++ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", ++ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", ++ "dev": true, ++ "requires": { ++ "aws-sign2": "~0.7.0", ++ "aws4": "^1.8.0", ++ "caseless": "~0.12.0", ++ "combined-stream": "~1.0.6", ++ "extend": "~3.0.2", ++ "forever-agent": "~0.6.1", ++ "form-data": "~2.3.2", ++ "har-validator": "~5.1.3", ++ "http-signature": "~1.2.0", ++ "is-typedarray": "~1.0.0", ++ "isstream": "~0.1.2", ++ "json-stringify-safe": "~5.0.1", ++ "mime-types": "~2.1.19", ++ "oauth-sign": "~0.9.0", ++ "performance-now": "^2.1.0", ++ "qs": "~6.5.2", ++ "safe-buffer": "^5.1.2", ++ "tough-cookie": "~2.5.0", ++ "tunnel-agent": "^0.6.0", ++ "uuid": "^3.3.2" ++ } ++ }, ++ "require-directory": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", ++ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", ++ "dev": true ++ }, ++ "require-main-filename": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", ++ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", ++ "dev": true ++ }, ++ "resolve-from": { ++ "version": "5.0.0", ++ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", ++ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", ++ "dev": true ++ }, ++ "rimraf": { ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", ++ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", ++ "dev": true, ++ "requires": { ++ "glob": "^7.1.3" ++ } ++ }, ++ "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 ++ }, ++ "safer-buffer": { ++ "version": "2.1.2", ++ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", ++ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", ++ "dev": true ++ }, ++ "semver": { ++ "version": "6.3.0", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", ++ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", ++ "dev": true ++ }, ++ "set-blocking": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", ++ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", ++ "dev": true ++ }, ++ "shebang-command": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", ++ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", ++ "dev": true, ++ "requires": { ++ "shebang-regex": "^3.0.0" ++ } ++ }, ++ "shebang-regex": { ++ "version": "3.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", ++ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", ++ "dev": true ++ }, ++ "signal-exit": { ++ "version": "3.0.7", ++ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", ++ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", ++ "dev": true ++ }, ++ "source-map": { ++ "version": "0.5.7", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", ++ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", ++ "dev": true ++ }, ++ "source-map-support": { ++ "version": "0.5.21", ++ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", ++ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", ++ "dev": true, ++ "requires": { ++ "buffer-from": "^1.0.0", ++ "source-map": "^0.6.0" ++ }, ++ "dependencies": { ++ "source-map": { ++ "version": "0.6.1", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", ++ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", ++ "dev": true ++ } ++ } ++ }, ++ "spawn-wrap": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", ++ "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", ++ "dev": true, ++ "requires": { ++ "foreground-child": "^2.0.0", ++ "is-windows": "^1.0.2", ++ "make-dir": "^3.0.0", ++ "rimraf": "^3.0.0", ++ "signal-exit": "^3.0.2", ++ "which": "^2.0.1" ++ } ++ }, ++ "sprintf-js": { ++ "version": "1.0.3", ++ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", ++ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", ++ "dev": true ++ }, ++ "sshpk": { ++ "version": "1.17.0", ++ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", ++ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", ++ "dev": true, ++ "requires": { ++ "asn1": "~0.2.3", ++ "assert-plus": "^1.0.0", ++ "bcrypt-pbkdf": "^1.0.0", ++ "dashdash": "^1.12.0", ++ "ecc-jsbn": "~0.1.1", ++ "getpass": "^0.1.1", ++ "jsbn": "~0.1.0", ++ "safer-buffer": "^2.0.2", ++ "tweetnacl": "~0.14.0" ++ } ++ }, ++ "stack-utils": { ++ "version": "2.0.5", ++ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", ++ "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", ++ "dev": true, ++ "requires": { ++ "escape-string-regexp": "^2.0.0" ++ }, ++ "dependencies": { ++ "escape-string-regexp": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", ++ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", ++ "dev": true ++ } ++ } ++ }, ++ "string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "requires": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ } ++ }, ++ "strip-ansi": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", ++ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", ++ "dev": true, ++ "requires": { ++ "ansi-regex": "^5.0.1" ++ } ++ }, ++ "strip-bom": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", ++ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", ++ "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" ++ } ++ }, ++ "tap": { ++ "version": "15.1.6", ++ "resolved": "https://registry.npmjs.org/tap/-/tap-15.1.6.tgz", ++ "integrity": "sha512-TN7xH6Q2tUPTd6qwmkhuFJcx1vUR8e4dDUpBKc61G0krOzne7Ia6aKIFb8O/0kVazachSSuVME1V8nQ2xwWL8w==", ++ "dev": true, ++ "requires": { ++ "@isaacs/import-jsx": "*", ++ "@types/react": "*", ++ "chokidar": "^3.3.0", ++ "coveralls": "^3.0.11", ++ "findit": "^2.0.0", ++ "foreground-child": "^2.0.0", ++ "fs-exists-cached": "^1.0.0", ++ "glob": "^7.1.6", ++ "ink": "*", ++ "isexe": "^2.0.0", ++ "istanbul-lib-processinfo": "^2.0.2", ++ "jackspeak": "^1.4.1", ++ "libtap": "^1.1.4", ++ "minipass": "^3.1.1", ++ "mkdirp": "^1.0.4", ++ "nyc": "^15.1.0", ++ "opener": "^1.5.1", ++ "react": "*", ++ "rimraf": "^3.0.0", ++ "signal-exit": "^3.0.6", ++ "source-map-support": "^0.5.16", ++ "tap-mocha-reporter": "^5.0.0", ++ "tap-parser": "^10.0.1", ++ "tap-yaml": "^1.0.0", ++ "tcompare": "^5.0.7", ++ "treport": "*", ++ "which": "^2.0.2" ++ }, ++ "dependencies": { ++ "@babel/code-frame": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/highlight": "^7.16.0" ++ } ++ }, ++ "@babel/compat-data": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "@babel/core": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/code-frame": "^7.16.0", ++ "@babel/generator": "^7.16.0", ++ "@babel/helper-compilation-targets": "^7.16.0", ++ "@babel/helper-module-transforms": "^7.16.0", ++ "@babel/helpers": "^7.16.0", ++ "@babel/parser": "^7.16.0", ++ "@babel/template": "^7.16.0", ++ "@babel/traverse": "^7.16.0", ++ "@babel/types": "^7.16.0", ++ "convert-source-map": "^1.7.0", ++ "debug": "^4.1.0", ++ "gensync": "^1.0.0-beta.2", ++ "json5": "^2.1.2", ++ "semver": "^6.3.0", ++ "source-map": "^0.5.0" ++ } ++ }, ++ "@babel/generator": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.0", ++ "jsesc": "^2.5.1", ++ "source-map": "^0.5.0" ++ } ++ }, ++ "@babel/helper-annotate-as-pure": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-compilation-targets": { ++ "version": "7.16.3", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/compat-data": "^7.16.0", ++ "@babel/helper-validator-option": "^7.14.5", ++ "browserslist": "^4.17.5", ++ "semver": "^6.3.0" ++ } ++ }, ++ "@babel/helper-function-name": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/helper-get-function-arity": "^7.16.0", ++ "@babel/template": "^7.16.0", ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-get-function-arity": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-hoist-variables": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-member-expression-to-functions": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-module-imports": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-module-transforms": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/helper-module-imports": "^7.16.0", ++ "@babel/helper-replace-supers": "^7.16.0", ++ "@babel/helper-simple-access": "^7.16.0", ++ "@babel/helper-split-export-declaration": "^7.16.0", ++ "@babel/helper-validator-identifier": "^7.15.7", ++ "@babel/template": "^7.16.0", ++ "@babel/traverse": "^7.16.0", ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-optimise-call-expression": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-plugin-utils": { ++ "version": "7.14.5", ++ "bundled": true, ++ "dev": true ++ }, ++ "@babel/helper-replace-supers": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/helper-member-expression-to-functions": "^7.16.0", ++ "@babel/helper-optimise-call-expression": "^7.16.0", ++ "@babel/traverse": "^7.16.0", ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-simple-access": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-split-export-declaration": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/helper-validator-identifier": { ++ "version": "7.15.7", ++ "bundled": true, ++ "dev": true ++ }, ++ "@babel/helper-validator-option": { ++ "version": "7.14.5", ++ "bundled": true, ++ "dev": true ++ }, ++ "@babel/helpers": { ++ "version": "7.16.3", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/template": "^7.16.0", ++ "@babel/traverse": "^7.16.3", ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/highlight": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/helper-validator-identifier": "^7.15.7", ++ "chalk": "^2.0.0", ++ "js-tokens": "^4.0.0" ++ } ++ }, ++ "@babel/parser": { ++ "version": "7.16.3", ++ "bundled": true, ++ "dev": true ++ }, ++ "@babel/plugin-proposal-object-rest-spread": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/compat-data": "^7.16.0", ++ "@babel/helper-compilation-targets": "^7.16.0", ++ "@babel/helper-plugin-utils": "^7.14.5", ++ "@babel/plugin-syntax-object-rest-spread": "^7.8.3", ++ "@babel/plugin-transform-parameters": "^7.16.0" ++ } ++ }, ++ "@babel/plugin-syntax-jsx": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/helper-plugin-utils": "^7.14.5" ++ } ++ }, ++ "@babel/plugin-syntax-object-rest-spread": { ++ "version": "7.8.3", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/helper-plugin-utils": "^7.8.0" ++ } ++ }, ++ "@babel/plugin-transform-destructuring": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/helper-plugin-utils": "^7.14.5" ++ } ++ }, ++ "@babel/plugin-transform-parameters": { ++ "version": "7.16.3", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/helper-plugin-utils": "^7.14.5" ++ } ++ }, ++ "@babel/plugin-transform-react-jsx": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/helper-annotate-as-pure": "^7.16.0", ++ "@babel/helper-module-imports": "^7.16.0", ++ "@babel/helper-plugin-utils": "^7.14.5", ++ "@babel/plugin-syntax-jsx": "^7.16.0", ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/template": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/code-frame": "^7.16.0", ++ "@babel/parser": "^7.16.0", ++ "@babel/types": "^7.16.0" ++ } ++ }, ++ "@babel/traverse": { ++ "version": "7.16.3", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/code-frame": "^7.16.0", ++ "@babel/generator": "^7.16.0", ++ "@babel/helper-function-name": "^7.16.0", ++ "@babel/helper-hoist-variables": "^7.16.0", ++ "@babel/helper-split-export-declaration": "^7.16.0", ++ "@babel/parser": "^7.16.3", ++ "@babel/types": "^7.16.0", ++ "debug": "^4.1.0", ++ "globals": "^11.1.0" ++ } ++ }, ++ "@babel/types": { ++ "version": "7.16.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/helper-validator-identifier": "^7.15.7", ++ "to-fast-properties": "^2.0.0" ++ } ++ }, ++ "@isaacs/import-jsx": { ++ "version": "4.0.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@babel/core": "^7.5.5", ++ "@babel/plugin-proposal-object-rest-spread": "^7.5.5", ++ "@babel/plugin-transform-destructuring": "^7.5.0", ++ "@babel/plugin-transform-react-jsx": "^7.3.0", ++ "caller-path": "^3.0.1", ++ "find-cache-dir": "^3.2.0", ++ "make-dir": "^3.0.2", ++ "resolve-from": "^3.0.0", ++ "rimraf": "^3.0.0" ++ }, ++ "dependencies": { ++ "caller-callsite": { ++ "version": "4.1.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "callsites": "^3.1.0" ++ } ++ }, ++ "caller-path": { ++ "version": "3.0.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "caller-callsite": "^4.1.0" ++ } ++ }, ++ "callsites": { ++ "version": "3.1.0", ++ "bundled": true, ++ "dev": true ++ } ++ } ++ }, ++ "@types/prop-types": { ++ "version": "15.7.4", ++ "bundled": true, ++ "dev": true ++ }, ++ "@types/react": { ++ "version": "17.0.34", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@types/prop-types": "*", ++ "@types/scheduler": "*", ++ "csstype": "^3.0.2" ++ } ++ }, ++ "@types/scheduler": { ++ "version": "0.16.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "@types/yoga-layout": { ++ "version": "1.9.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "ansi-escapes": { ++ "version": "4.3.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "type-fest": "^0.21.3" ++ }, ++ "dependencies": { ++ "type-fest": { ++ "version": "0.21.3", ++ "bundled": true, ++ "dev": true ++ } ++ } ++ }, ++ "ansi-regex": { ++ "version": "5.0.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "ansi-styles": { ++ "version": "3.2.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "color-convert": "^1.9.0" ++ } ++ }, ++ "ansicolors": { ++ "version": "0.3.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "astral-regex": { ++ "version": "2.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "auto-bind": { ++ "version": "4.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "balanced-match": { ++ "version": "1.0.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "brace-expansion": { ++ "version": "1.1.11", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "balanced-match": "^1.0.0", ++ "concat-map": "0.0.1" ++ } ++ }, ++ "browserslist": { ++ "version": "4.17.6", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "caniuse-lite": "^1.0.30001274", ++ "electron-to-chromium": "^1.3.886", ++ "escalade": "^3.1.1", ++ "node-releases": "^2.0.1", ++ "picocolors": "^1.0.0" ++ } ++ }, ++ "caniuse-lite": { ++ "version": "1.0.30001279", ++ "bundled": true, ++ "dev": true ++ }, ++ "cardinal": { ++ "version": "2.1.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ansicolors": "~0.3.2", ++ "redeyed": "~2.1.0" ++ } ++ }, ++ "chalk": { ++ "version": "2.4.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ansi-styles": "^3.2.1", ++ "escape-string-regexp": "^1.0.5", ++ "supports-color": "^5.3.0" ++ } ++ }, ++ "ci-info": { ++ "version": "2.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "cli-boxes": { ++ "version": "2.2.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "cli-cursor": { ++ "version": "3.1.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "restore-cursor": "^3.1.0" ++ } ++ }, ++ "cli-truncate": { ++ "version": "2.1.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "slice-ansi": "^3.0.0", ++ "string-width": "^4.2.0" ++ } ++ }, ++ "code-excerpt": { ++ "version": "3.0.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "convert-to-spaces": "^1.0.1" ++ } ++ }, ++ "color-convert": { ++ "version": "1.9.3", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "color-name": "1.1.3" ++ } ++ }, ++ "color-name": { ++ "version": "1.1.3", ++ "bundled": true, ++ "dev": true ++ }, ++ "commondir": { ++ "version": "1.0.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "concat-map": { ++ "version": "0.0.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "convert-source-map": { ++ "version": "1.8.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "safe-buffer": "~5.1.1" ++ } ++ }, ++ "convert-to-spaces": { ++ "version": "1.0.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "csstype": { ++ "version": "3.0.9", ++ "bundled": true, ++ "dev": true ++ }, ++ "debug": { ++ "version": "4.3.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ms": "2.1.2" ++ } ++ }, ++ "electron-to-chromium": { ++ "version": "1.3.893", ++ "bundled": true, ++ "dev": true ++ }, ++ "emoji-regex": { ++ "version": "8.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "escalade": { ++ "version": "3.1.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "escape-string-regexp": { ++ "version": "1.0.5", ++ "bundled": true, ++ "dev": true ++ }, ++ "esprima": { ++ "version": "4.0.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "events-to-array": { ++ "version": "1.1.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "find-cache-dir": { ++ "version": "3.3.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "commondir": "^1.0.1", ++ "make-dir": "^3.0.2", ++ "pkg-dir": "^4.1.0" ++ } ++ }, ++ "find-up": { ++ "version": "4.1.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "locate-path": "^5.0.0", ++ "path-exists": "^4.0.0" ++ } ++ }, ++ "fs.realpath": { ++ "version": "1.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "gensync": { ++ "version": "1.0.0-beta.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "glob": { ++ "version": "7.2.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "fs.realpath": "^1.0.0", ++ "inflight": "^1.0.4", ++ "inherits": "2", ++ "minimatch": "^3.0.4", ++ "once": "^1.3.0", ++ "path-is-absolute": "^1.0.0" ++ } ++ }, ++ "globals": { ++ "version": "11.12.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "has-flag": { ++ "version": "3.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "indent-string": { ++ "version": "4.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "inflight": { ++ "version": "1.0.6", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "once": "^1.3.0", ++ "wrappy": "1" ++ } ++ }, ++ "inherits": { ++ "version": "2.0.4", ++ "bundled": true, ++ "dev": true ++ }, ++ "ink": { ++ "version": "3.2.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ansi-escapes": "^4.2.1", ++ "auto-bind": "4.0.0", ++ "chalk": "^4.1.0", ++ "cli-boxes": "^2.2.0", ++ "cli-cursor": "^3.1.0", ++ "cli-truncate": "^2.1.0", ++ "code-excerpt": "^3.0.0", ++ "indent-string": "^4.0.0", ++ "is-ci": "^2.0.0", ++ "lodash": "^4.17.20", ++ "patch-console": "^1.0.0", ++ "react-devtools-core": "^4.19.1", ++ "react-reconciler": "^0.26.2", ++ "scheduler": "^0.20.2", ++ "signal-exit": "^3.0.2", ++ "slice-ansi": "^3.0.0", ++ "stack-utils": "^2.0.2", ++ "string-width": "^4.2.2", ++ "type-fest": "^0.12.0", ++ "widest-line": "^3.1.0", ++ "wrap-ansi": "^6.2.0", ++ "ws": "^7.5.5", ++ "yoga-layout-prebuilt": "^1.9.6" ++ }, ++ "dependencies": { ++ "ansi-styles": { ++ "version": "4.3.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "color-convert": "^2.0.1" ++ } ++ }, ++ "chalk": { ++ "version": "4.1.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ } ++ }, ++ "color-convert": { ++ "version": "2.0.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "color-name": "~1.1.4" ++ } ++ }, ++ "color-name": { ++ "version": "1.1.4", ++ "bundled": true, ++ "dev": true ++ }, ++ "has-flag": { ++ "version": "4.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "supports-color": { ++ "version": "7.2.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "has-flag": "^4.0.0" ++ } ++ } ++ } ++ }, ++ "is-ci": { ++ "version": "2.0.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ci-info": "^2.0.0" ++ } ++ }, ++ "is-fullwidth-code-point": { ++ "version": "3.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "js-tokens": { ++ "version": "4.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "jsesc": { ++ "version": "2.5.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "json5": { ++ "version": "2.2.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "minimist": "^1.2.5" ++ } ++ }, ++ "locate-path": { ++ "version": "5.0.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "p-locate": "^4.1.0" ++ } ++ }, ++ "lodash": { ++ "version": "4.17.21", ++ "bundled": true, ++ "dev": true ++ }, ++ "loose-envify": { ++ "version": "1.4.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "js-tokens": "^3.0.0 || ^4.0.0" ++ } ++ }, ++ "make-dir": { ++ "version": "3.1.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "semver": "^6.0.0" ++ } ++ }, ++ "mimic-fn": { ++ "version": "2.1.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "minimatch": { ++ "version": "3.0.4", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "brace-expansion": "^1.1.7" ++ } ++ }, ++ "minimist": { ++ "version": "1.2.5", ++ "bundled": true, ++ "dev": true ++ }, ++ "minipass": { ++ "version": "3.1.5", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "yallist": "^4.0.0" ++ } ++ }, ++ "ms": { ++ "version": "2.1.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "node-releases": { ++ "version": "2.0.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "object-assign": { ++ "version": "4.1.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "once": { ++ "version": "1.4.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "wrappy": "1" ++ } ++ }, ++ "onetime": { ++ "version": "5.1.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "mimic-fn": "^2.1.0" ++ } ++ }, ++ "p-limit": { ++ "version": "2.3.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "p-try": "^2.0.0" ++ } ++ }, ++ "p-locate": { ++ "version": "4.1.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "p-limit": "^2.2.0" ++ } ++ }, ++ "p-try": { ++ "version": "2.2.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "patch-console": { ++ "version": "1.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "path-exists": { ++ "version": "4.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "path-is-absolute": { ++ "version": "1.0.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "picocolors": { ++ "version": "1.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "pkg-dir": { ++ "version": "4.2.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "find-up": "^4.0.0" ++ } ++ }, ++ "punycode": { ++ "version": "2.1.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "react": { ++ "version": "17.0.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "loose-envify": "^1.1.0", ++ "object-assign": "^4.1.1" ++ } ++ }, ++ "react-devtools-core": { ++ "version": "4.21.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "shell-quote": "^1.6.1", ++ "ws": "^7" ++ } ++ }, ++ "react-reconciler": { ++ "version": "0.26.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "loose-envify": "^1.1.0", ++ "object-assign": "^4.1.1", ++ "scheduler": "^0.20.2" ++ } ++ }, ++ "redeyed": { ++ "version": "2.1.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "esprima": "~4.0.0" ++ } ++ }, ++ "resolve-from": { ++ "version": "3.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "restore-cursor": { ++ "version": "3.1.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "onetime": "^5.1.0", ++ "signal-exit": "^3.0.2" ++ } ++ }, ++ "rimraf": { ++ "version": "3.0.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "glob": "^7.1.3" ++ } ++ }, ++ "safe-buffer": { ++ "version": "5.1.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "scheduler": { ++ "version": "0.20.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "loose-envify": "^1.1.0", ++ "object-assign": "^4.1.1" ++ } ++ }, ++ "semver": { ++ "version": "6.3.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "shell-quote": { ++ "version": "1.7.3", ++ "bundled": true, ++ "dev": true ++ }, ++ "signal-exit": { ++ "version": "3.0.6", ++ "bundled": true, ++ "dev": true ++ }, ++ "slice-ansi": { ++ "version": "3.0.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ansi-styles": "^4.0.0", ++ "astral-regex": "^2.0.0", ++ "is-fullwidth-code-point": "^3.0.0" ++ }, ++ "dependencies": { ++ "ansi-styles": { ++ "version": "4.3.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "color-convert": "^2.0.1" ++ } ++ }, ++ "color-convert": { ++ "version": "2.0.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "color-name": "~1.1.4" ++ } ++ }, ++ "color-name": { ++ "version": "1.1.4", ++ "bundled": true, ++ "dev": true ++ } ++ } ++ }, ++ "source-map": { ++ "version": "0.5.7", ++ "bundled": true, ++ "dev": true ++ }, ++ "stack-utils": { ++ "version": "2.0.5", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "escape-string-regexp": "^2.0.0" ++ }, ++ "dependencies": { ++ "escape-string-regexp": { ++ "version": "2.0.0", ++ "bundled": true, ++ "dev": true ++ } ++ } ++ }, ++ "string-width": { ++ "version": "4.2.3", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ } ++ }, ++ "strip-ansi": { ++ "version": "6.0.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ansi-regex": "^5.0.1" ++ } ++ }, ++ "supports-color": { ++ "version": "5.5.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "has-flag": "^3.0.0" ++ } ++ }, ++ "tap-parser": { ++ "version": "10.1.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "events-to-array": "^1.0.1", ++ "minipass": "^3.0.0", ++ "tap-yaml": "^1.0.0" ++ } ++ }, ++ "tap-yaml": { ++ "version": "1.0.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "yaml": "^1.5.0" ++ } ++ }, ++ "to-fast-properties": { ++ "version": "2.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "treport": { ++ "version": "3.0.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@isaacs/import-jsx": "^4.0.1", ++ "cardinal": "^2.1.1", ++ "chalk": "^3.0.0", ++ "ink": "^3.2.0", ++ "ms": "^2.1.2", ++ "tap-parser": "^10.0.1", ++ "unicode-length": "^2.0.2" ++ }, ++ "dependencies": { ++ "ansi-styles": { ++ "version": "4.3.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "color-convert": "^2.0.1" ++ } ++ }, ++ "chalk": { ++ "version": "3.0.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ } ++ }, ++ "color-convert": { ++ "version": "2.0.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "color-name": "~1.1.4" ++ } ++ }, ++ "color-name": { ++ "version": "1.1.4", ++ "bundled": true, ++ "dev": true ++ }, ++ "has-flag": { ++ "version": "4.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "supports-color": { ++ "version": "7.2.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "has-flag": "^4.0.0" ++ } ++ } ++ } ++ }, ++ "type-fest": { ++ "version": "0.12.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "unicode-length": { ++ "version": "2.0.2", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "punycode": "^2.0.0", ++ "strip-ansi": "^3.0.1" ++ }, ++ "dependencies": { ++ "ansi-regex": { ++ "version": "2.1.1", ++ "bundled": true, ++ "dev": true ++ }, ++ "strip-ansi": { ++ "version": "3.0.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ansi-regex": "^2.0.0" ++ } ++ } ++ } ++ }, ++ "widest-line": { ++ "version": "3.1.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "string-width": "^4.0.0" ++ } ++ }, ++ "wrap-ansi": { ++ "version": "6.2.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "ansi-styles": "^4.0.0", ++ "string-width": "^4.1.0", ++ "strip-ansi": "^6.0.0" ++ }, ++ "dependencies": { ++ "ansi-styles": { ++ "version": "4.3.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "color-convert": "^2.0.1" ++ } ++ }, ++ "color-convert": { ++ "version": "2.0.1", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "color-name": "~1.1.4" ++ } ++ }, ++ "color-name": { ++ "version": "1.1.4", ++ "bundled": true, ++ "dev": true ++ } ++ } ++ }, ++ "wrappy": { ++ "version": "1.0.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "ws": { ++ "version": "7.5.5", ++ "bundled": true, ++ "dev": true, ++ "requires": {} ++ }, ++ "yallist": { ++ "version": "4.0.0", ++ "bundled": true, ++ "dev": true ++ }, ++ "yaml": { ++ "version": "1.10.2", ++ "bundled": true, ++ "dev": true ++ }, ++ "yoga-layout-prebuilt": { ++ "version": "1.10.0", ++ "bundled": true, ++ "dev": true, ++ "requires": { ++ "@types/yoga-layout": "1.9.2" ++ } ++ } ++ } ++ }, ++ "tap-mocha-reporter": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-5.0.1.tgz", ++ "integrity": "sha512-1knFWOwd4khx/7uSEnUeaP9IPW3w+sqTgJMhrwah6t46nZ8P25atOKAjSvVDsT67lOPu0nfdOqUwoyKn+3E5pA==", ++ "dev": true, ++ "requires": { ++ "color-support": "^1.1.0", ++ "debug": "^4.1.1", ++ "diff": "^4.0.1", ++ "escape-string-regexp": "^2.0.0", ++ "glob": "^7.0.5", ++ "tap-parser": "^10.0.0", ++ "tap-yaml": "^1.0.0", ++ "unicode-length": "^2.0.2" ++ }, ++ "dependencies": { ++ "escape-string-regexp": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", ++ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", ++ "dev": true ++ } ++ } ++ }, ++ "tap-parser": { ++ "version": "10.1.0", ++ "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-10.1.0.tgz", ++ "integrity": "sha512-FujQeciDaOiOvaIVGS1Rpb0v4R6XkOjvWCWowlz5oKuhPkEJ8U6pxgqt38xuzYhPt8dWEnfHn2jqpZdJEkW7pA==", ++ "dev": true, ++ "requires": { ++ "events-to-array": "^1.0.1", ++ "minipass": "^3.0.0", ++ "tap-yaml": "^1.0.0" ++ } ++ }, ++ "tap-yaml": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.0.tgz", ++ "integrity": "sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==", ++ "dev": true, ++ "requires": { ++ "yaml": "^1.5.0" ++ } ++ }, ++ "tcompare": { ++ "version": "5.0.7", ++ "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-5.0.7.tgz", ++ "integrity": "sha512-d9iddt6YYGgyxJw5bjsN7UJUO1kGOtjSlNy/4PoGYAjQS5pAT/hzIoLf1bZCw+uUxRmZJh7Yy1aA7xKVRT9B4w==", ++ "dev": true, ++ "requires": { ++ "diff": "^4.0.2" ++ } ++ }, ++ "test-exclude": { ++ "version": "6.0.0", ++ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", ++ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", ++ "dev": true, ++ "requires": { ++ "@istanbuljs/schema": "^0.1.2", ++ "glob": "^7.1.4", ++ "minimatch": "^3.0.4" ++ } ++ }, ++ "to-fast-properties": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", ++ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", ++ "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" ++ } ++ }, ++ "tough-cookie": { ++ "version": "2.5.0", ++ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", ++ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", ++ "dev": true, ++ "requires": { ++ "psl": "^1.1.28", ++ "punycode": "^2.1.1" ++ } ++ }, ++ "trivial-deferred": { ++ "version": "1.0.1", ++ "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", ++ "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", ++ "dev": true ++ }, ++ "tunnel-agent": { ++ "version": "0.6.0", ++ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", ++ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", ++ "dev": true, ++ "requires": { ++ "safe-buffer": "^5.0.1" ++ } ++ }, ++ "tweetnacl": { ++ "version": "0.14.5", ++ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", ++ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", ++ "dev": true ++ }, ++ "type-fest": { ++ "version": "0.8.1", ++ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", ++ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", ++ "dev": true ++ }, ++ "typedarray-to-buffer": { ++ "version": "3.1.5", ++ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", ++ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", ++ "dev": true, ++ "requires": { ++ "is-typedarray": "^1.0.0" ++ } ++ }, ++ "unicode-length": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-2.0.2.tgz", ++ "integrity": "sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg==", ++ "dev": true, ++ "requires": { ++ "punycode": "^2.0.0", ++ "strip-ansi": "^3.0.1" ++ }, ++ "dependencies": { ++ "ansi-regex": { ++ "version": "2.1.1", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", ++ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", ++ "dev": true ++ }, ++ "strip-ansi": { ++ "version": "3.0.1", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", ++ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", ++ "dev": true, ++ "requires": { ++ "ansi-regex": "^2.0.0" ++ } ++ } ++ } ++ }, ++ "uri-js": { ++ "version": "4.4.1", ++ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", ++ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", ++ "dev": true, ++ "requires": { ++ "punycode": "^2.1.0" ++ } ++ }, ++ "uuid": { ++ "version": "3.4.0", ++ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", ++ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", ++ "dev": true ++ }, ++ "verror": { ++ "version": "1.10.0", ++ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", ++ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", ++ "dev": true, ++ "requires": { ++ "assert-plus": "^1.0.0", ++ "core-util-is": "1.0.2", ++ "extsprintf": "^1.2.0" ++ } ++ }, ++ "which": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", ++ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", ++ "dev": true, ++ "requires": { ++ "isexe": "^2.0.0" ++ } ++ }, ++ "which-module": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", ++ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", ++ "dev": true ++ }, ++ "wrap-ansi": { ++ "version": "7.0.0", ++ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", ++ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", ++ "dev": true, ++ "requires": { ++ "ansi-styles": "^4.0.0", ++ "string-width": "^4.1.0", ++ "strip-ansi": "^6.0.0" ++ }, ++ "dependencies": { ++ "ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "dev": true, ++ "requires": { ++ "color-convert": "^2.0.1" ++ } ++ }, ++ "color-convert": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ++ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "dev": true, ++ "requires": { ++ "color-name": "~1.1.4" ++ } ++ }, ++ "color-name": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", ++ "dev": true ++ } ++ } ++ }, ++ "wrappy": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", ++ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", ++ "dev": true ++ }, ++ "write-file-atomic": { ++ "version": "3.0.3", ++ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", ++ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", ++ "dev": true, ++ "requires": { ++ "imurmurhash": "^0.1.4", ++ "is-typedarray": "^1.0.0", ++ "signal-exit": "^3.0.2", ++ "typedarray-to-buffer": "^3.1.5" ++ } ++ }, ++ "y18n": { ++ "version": "4.0.3", ++ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", ++ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", ++ "dev": true ++ }, ++ "yallist": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", ++ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", ++ "dev": true ++ }, ++ "yaml": { ++ "version": "1.10.2", ++ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", ++ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", ++ "dev": true ++ }, ++ "yapool": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", ++ "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", ++ "dev": true ++ }, ++ "yargs": { ++ "version": "15.4.1", ++ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", ++ "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", ++ "dev": true, ++ "requires": { ++ "cliui": "^6.0.0", ++ "decamelize": "^1.2.0", ++ "find-up": "^4.1.0", ++ "get-caller-file": "^2.0.1", ++ "require-directory": "^2.1.1", ++ "require-main-filename": "^2.0.0", ++ "set-blocking": "^2.0.0", ++ "string-width": "^4.2.0", ++ "which-module": "^2.0.0", ++ "y18n": "^4.0.0", ++ "yargs-parser": "^18.1.2" ++ }, ++ "dependencies": { ++ "ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "dev": true, ++ "requires": { ++ "color-convert": "^2.0.1" ++ } ++ }, ++ "cliui": { ++ "version": "6.0.0", ++ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", ++ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", ++ "dev": true, ++ "requires": { ++ "string-width": "^4.2.0", ++ "strip-ansi": "^6.0.0", ++ "wrap-ansi": "^6.2.0" ++ } ++ }, ++ "color-convert": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ++ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "dev": true, ++ "requires": { ++ "color-name": "~1.1.4" ++ } ++ }, ++ "color-name": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", ++ "dev": true ++ }, ++ "wrap-ansi": { ++ "version": "6.2.0", ++ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", ++ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", ++ "dev": true, ++ "requires": { ++ "ansi-styles": "^4.0.0", ++ "string-width": "^4.1.0", ++ "strip-ansi": "^6.0.0" ++ } ++ } ++ } ++ }, ++ "yargs-parser": { ++ "version": "18.1.3", ++ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", ++ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", ++ "dev": true, ++ "requires": { ++ "camelcase": "^5.0.0", ++ "decamelize": "^1.2.0" ++ } + } + } + } +--- a/package.json ++++ b/package.json +@@ -9,7 +9,7 @@ + }, + "main": "minimatch.js", + "scripts": { +- "test": "tap test/*.js --cov", ++ "test": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --all; git push origin --tags" +@@ -21,7 +21,7 @@ + "brace-expansion": "^1.1.7" + }, + "devDependencies": { +- "tap": "^10.3.2" ++ "tap": "^15.1.6" + }, + "license": "ISC", + "files": [ +--- a/test/basic.js ++++ b/test/basic.js +@@ -27,10 +27,16 @@ + // options.debug = true + var m = new mm.Minimatch(pattern, options) + var r = m.makeRe() ++ var r2 = mm.makeRe(pattern, options) ++ t.equal(String(r), String(r2), 'same results from both makeRe fns') + var expectRe = regexps[re++] +- expectRe = '/' + expectRe.slice(1, -1).replace(new RegExp('([^\\\\])/', 'g'), '$1\\\/') + '/' +- tapOpts.re = String(r) || JSON.stringify(r) +- tapOpts.re = '/' + tapOpts.re.slice(1, -1).replace(new RegExp('([^\\\\])/', 'g'), '$1\\\/') + '/' ++ if (expectRe !== false) { ++ expectRe = '/' + expectRe.slice(1, -1).replace(new RegExp('([^\\\\])/', 'g'), '$1\\\/') + '/' ++ tapOpts.re = String(r) || JSON.stringify(r) ++ tapOpts.re = '/' + tapOpts.re.slice(1, -1).replace(new RegExp('([^\\\\])/', 'g'), '$1\\\/') + '/' ++ } else { ++ tapOpts.re = r ++ } + tapOpts.files = JSON.stringify(f) + tapOpts.pattern = pattern + tapOpts.set = m.set +@@ -39,7 +45,7 @@ + var actual = mm.match(f, pattern, options) + actual.sort(alpha) + +- t.equivalent( ++ t.same( + actual, expect, + JSON.stringify(pattern) + ' ' + JSON.stringify(expect), + tapOpts +@@ -56,10 +62,53 @@ + var globalAfter = Object.keys(global).filter(function (k) { + return (k !== '__coverage__' && k !== '__core-js_shared__') + }) +- t.equivalent(globalAfter, globalBefore, 'no new globals, please') ++ t.same(globalAfter, globalBefore, 'no new globals, please') + t.end() + }) + ++tap.test('invalid patterns', t => { ++ const toolong = 'x'.repeat(64 * 1024) + 'y' ++ const expectTooLong = { message: 'pattern is too long' } ++ t.throws(() => mm.braceExpand(toolong), expectTooLong) ++ t.throws(() => new mm.Minimatch(toolong), expectTooLong) ++ t.throws(() => mm('xy', toolong), expectTooLong) ++ t.throws(() => mm.match(['xy'], toolong), expectTooLong) ++ ++ const invalid = { message: 'invalid pattern' } ++ const invalids = [ ++ null, ++ 1234, ++ NaN, ++ Infinity, ++ undefined, ++ {a: 1}, ++ true, ++ false, ++ ] ++ for (const i of invalids) { ++ t.throws(() => mm.braceExpand(i), invalid) ++ t.throws(() => new mm.Minimatch(i), invalid) ++ t.throws(() => mm('xy', i), invalid) ++ t.throws(() => mm.match(['xy'], i), invalid) ++ } ++ ++ t.end() ++}) ++ ++tap.test('ctor is generator', t => { ++ const m = mm.Minimatch('asdf') ++ t.type(m, mm.Minimatch) ++ t.equal(m.pattern, 'asdf') ++ t.end() ++}) ++ ++tap.test('nocomment matches nothing', t => { ++ t.equal(mm('#comment', '#comment', { nocomment: false }), false) ++ t.equal(mm('#comment', '#comment', { nocomment: true }), true) ++ t.end() ++}) ++ ++ + function alpha (a, b) { + return a > b ? 1 : -1 + } +--- a/test/brace-expand.js ++++ b/test/brace-expand.js +@@ -66,7 +66,7 @@ + patterns.forEach(function (tc) { + var p = tc[0], + expect = tc[1] +- t.equivalent(minimatch.braceExpand(p), expect, p) ++ t.same(minimatch.braceExpand(p), expect, p) + }) + t.end() + }) +--- a/test/defaults.js ++++ b/test/defaults.js +@@ -36,7 +36,7 @@ + var actual = mm.match(f, pattern, options) + actual.sort(alpha) + +- t.equivalent( ++ t.same( + actual, + expect, + JSON.stringify(pattern) + ' ' + JSON.stringify(expect), +@@ -52,7 +52,38 @@ + var globalAfter = Object.keys(global).filter(function (k) { + return (k !== '__coverage__') + }) +- t.equivalent(globalAfter, globalBefore, 'no new globals, please') ++ t.same(globalAfter, globalBefore, 'no new globals, please') ++ t.end() ++}) ++ ++tap.test('empty defaults obj returns original ctor', t => { ++ for (const empty of [{}, undefined, null, false, 1234, 'xyz']) { ++ const defmm = mm.defaults({}) ++ t.equal(defmm, mm) ++ const Class = mm.Minimatch.defaults({}) ++ t.equal(Class, mm.Minimatch) ++ } ++ t.end() ++}) ++ ++tap.test('call defaults mm function', t => { ++ const defmm = mm.defaults({ nocomment: true }) ++ t.equal(mm('# nocomment', '# nocomment'), false) ++ t.equal(defmm('# nocomment', '# nocomment'), true) ++ t.equal(defmm('# nocomment', '# nocomment', { nocomment: false }), false) ++ const undef = defmm.defaults({ nocomment: false }) ++ t.equal(undef('# nocomment', '# nocomment'), false) ++ const unm = new undef.Minimatch('asdf') ++ t.same(unm.options, { nocomment: false }) ++ const UndefClass = defmm.Minimatch.defaults({ nocomment: false }) ++ const unmm = new UndefClass('asfd') ++ t.same(unmm.options, { nocomment: false }) ++ ++ const f = defmm.filter('#nc') ++ t.same(['x','#nc', 'y'].filter(f), ['#nc']) ++ t.same(defmm.match(['x','#nc', 'y'], '#nc'), ['#nc']) ++ t.same(defmm.braceExpand('# {a,b}'), ['# a', '# b']) ++ t.same(defmm.makeRe('# {a,b}'), /^(?:\#\ a|\#\ b)$/) + t.end() + }) + +--- a/test/patterns.js ++++ b/test/patterns.js +@@ -259,7 +259,10 @@ + 'https://github.com/isaacs/minimatch/issues/59', + ['[z-a]', []], + ['a/[2015-03-10T00:23:08.647Z]/z', []], +- ['[a-0][a-\u0100]', []] ++ ['[a-0][a-\u0100]', []], ++ ++ 'comments match nothing', ++ ['# ignore this', []], + ] + + module.exports.regexps = [ +@@ -327,7 +330,7 @@ + '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?)$/', + '/^(?:\\[\\])$/', + '/^(?:\\[abc)$/', +- '/^(?:(?=.)XYZ)$/i', ++ '/^(?:XYZ)$/i', + '/^(?:(?=.)ab[^/]*?)$/i', + '/^(?:(?!\\.)(?=.)[ia][^/][ck])$/i', + '/^(?:\\/(?!\\.)(?=.)[^/]*?|(?!\\.)(?=.)[^/]*?)$/', +@@ -358,7 +361,8 @@ + '/^(?:(?:(?!(?:\\/|^)\\.).)*?\\/\\.x\\/(?:(?!(?:\\/|^)\\.).)*?)$/', + '/^(?:\\[z\\-a\\])$/', + '/^(?:a\\/\\[2015\\-03\\-10T00:23:08\\.647Z\\]\\/z)$/', +- '/^(?:(?=.)\\[a-0\\][a-Ā])$/' ++ '/^(?:(?=.)\\[a-0\\][a-Ā])$/', ++ false, + ] + + Object.defineProperty(module.exports, 'files', { diff -Nru node-minimatch-3.0.4+~3.0.3/debian/patches/series node-minimatch-3.0.4+~3.0.3/debian/patches/series --- node-minimatch-3.0.4+~3.0.3/debian/patches/series 2020-02-18 20:45:00.000000000 +0000 +++ node-minimatch-3.0.4+~3.0.3/debian/patches/series 2022-10-20 15:18:50.000000000 +0000 @@ -1 +1,2 @@ test-tap.patch +CVE-2022-3517.patch