\n\n\u002F\u002F like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n\u002F\u002F also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n\u002F\u002F common in the npm registry.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?'\n\nvar LOOSE = R++\nsrc[LOOSE] = '^' + LOOSEPLAIN + '
\n\nvar GTLT = R++\nsrc[GTLT] = '((?:\u003C|\u003E)?=?)'\n\n\u002F\u002F Something like \"2.*\" or \"1.2.x\".\n\u002F\u002F Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n\u002F\u002F Only the first item is strictly required.\nvar XRANGEIDENTIFIERLOOSE = R++\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\nvar XRANGEIDENTIFIER = R++\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\nvar XRANGEPLAIN = R++\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGEPLAINLOOSE = R++\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGE = R++\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '
\nvar XRANGELOOSE = R++\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '
\n\n\u002F\u002F Coercion.\n\u002F\u002F Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++\nsrc[COERCE] = '(?:^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])'\n\n\u002F\u002F Tilde ranges.\n\u002F\u002F Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++\nsrc[LONETILDE] = '(?:~\u003E?)'\n\nvar TILDETRIM = R++\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+'\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')\nvar tildeTrimReplace = '$1~'\n\nvar TILDE = R++\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '
\nvar TILDELOOSE = R++\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '
\n\n\u002F\u002F Caret ranges.\n\u002F\u002F Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++\nsrc[LONECARET] = '(?:\\\\^)'\n\nvar CARETTRIM = R++\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+'\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')\nvar caretTrimReplace = '$1^'\n\nvar CARET = R++\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '
\nvar CARETLOOSE = R++\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '
\n\n\u002F\u002F A simple gt\u002Flt\u002Feq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^
\nvar COMPARATOR = R++\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + FULLPLAIN + ')$|^
\n\n\u002F\u002F An expression to strip any whitespace between the gtlt and the thing\n\u002F\u002F it modifies, so that `\u003E 1.2.3` ==\u003E `\u003E1.2.3`\nvar COMPARATORTRIM = R++\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'\n\n\u002F\u002F this one has to use the \u002Fg flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')\nvar comparatorTrimReplace = '$1$2$3'\n\n\u002F\u002F Something like `1.2.3 - 1.2.4`\n\u002F\u002F Note that these all use the loose form, because they'll be\n\u002F\u002F checked against either the strict or loose comparator form\n\u002F\u002F later.\nvar HYPHENRANGE = R++\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*
\n\nvar HYPHENRANGELOOSE = R++\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*
\n\n\u002F\u002F Star ranges basically just allow anything at all.\nvar STAR = R++\nsrc[STAR] = '(\u003C|\u003E)?=?\\\\s*\\\\*'\n\n\u002F\u002F Compile to actual regexp objects.\n\u002F\u002F All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i \u003C R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length \u003E MAX_LENGTH) {\n return null\n }\n\n var r = options.loose ? re[LOOSE] : re[FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(\u002F^[=v]+\u002F, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n if (version.length \u003E MAX_LENGTH) {\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])\n\n if (!m) {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n this.raw = version\n\n \u002F\u002F these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major \u003E MAX_SAFE_INTEGER || this.major \u003C 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor \u003E MAX_SAFE_INTEGER || this.minor \u003C 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch \u003E MAX_SAFE_INTEGER || this.patch \u003C 0) {\n throw new TypeError('Invalid patch version')\n }\n\n \u002F\u002F numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (\u002F^[0-9]+$\u002F.test(id)) {\n var num = +id\n if (num \u003E= 0 && num \u003C MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n}\n\nSemVer.prototype.format = function () {\n this.version = this.major + '.' + this.minor + '.' + this.patch\n if (this.prerelease.length) {\n this.version += '-' + this.prerelease.join('.')\n }\n return this.version\n}\n\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n \u002F\u002F NOT having a prerelease is \u003E having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n var i = 0\n do {\n var a = this.prerelease[i]\n var b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\n\u002F\u002F preminor will bump the version up to the next minor release, and immediately\n\u002F\u002F down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n \u002F\u002F If this is already a prerelease, it will bump to the next version\n \u002F\u002F drop any prereleases that might already exist, since they are not\n \u002F\u002F relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n \u002F\u002F If the input is a non-prerelease version, this acts the same as\n \u002F\u002F prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n \u002F\u002F If this is a pre-major version, bump up to the same major version.\n \u002F\u002F Otherwise increment major.\n \u002F\u002F 1.0.0-5 bumps to 1.0.0\n \u002F\u002F 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n \u002F\u002F If this is a pre-minor version, bump up to the same minor version.\n \u002F\u002F Otherwise increment minor.\n \u002F\u002F 1.2.0-5 bumps to 1.2.0\n \u002F\u002F 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n \u002F\u002F If this is not a pre-release version, it will increment the patch.\n \u002F\u002F If it is a pre-release it will bump up to the same patch version.\n \u002F\u002F 1.2.0-5 patches to 1.2.0\n \u002F\u002F 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n \u002F\u002F This probably shouldn't be used publicly.\n \u002F\u002F 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n var i = this.prerelease.length\n while (--i \u003E= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n \u002F\u002F didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n \u002F\u002F 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n \u002F\u002F 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error('invalid increment argument: ' + release)\n }\n this.format()\n this.raw = this.version\n return this\n}\n\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult \u002F\u002F may be undefined\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = \u002F^[0-9]+$\u002F\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a \u003C b ? -1\n : 1\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compare(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.rcompare(a, b, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) \u003E 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) \u003C 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) \u003E= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) \u003C= 0\n}\n\nexports.cmp = cmp\nfunction cmp (a, op, b, loose) {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '\u003E':\n return gt(a, b, loose)\n\n case '\u003E=':\n return gte(a, b, loose)\n\n case '\u003C':\n return lt(a, b, loose)\n\n case '\u003C=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError('Invalid operator: ' + op)\n }\n}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n}\n\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = m[1]\n if (this.operator === '=') {\n this.operator = ''\n }\n\n \u002F\u002F if it literally is just '\u003E' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n}\n\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n var rangeTmp\n\n if (this.operator === '') {\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '\u003E=' || this.operator === '\u003E') &&\n (comp.operator === '\u003E=' || comp.operator === '\u003E')\n var sameDirectionDecreasing =\n (this.operator === '\u003C=' || this.operator === '\u003C') &&\n (comp.operator === '\u003C=' || comp.operator === '\u003C')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '\u003E=' || this.operator === '\u003C=') &&\n (comp.operator === '\u003E=' || comp.operator === '\u003C=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '\u003C', comp.semver, options) &&\n ((this.operator === '\u003E=' || this.operator === '\u003E') &&\n (comp.operator === '\u003C=' || comp.operator === '\u003C'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '\u003E', comp.semver, options) &&\n ((this.operator === '\u003C=' || this.operator === '\u003C') &&\n (comp.operator === '\u003E=' || comp.operator === '\u003E'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n \u002F\u002F First, split based on boolean or ||\n this.raw = range\n this.set = range.split(\u002F\\s*\\|\\|\\s*\u002F).map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n \u002F\u002F throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n range = range.trim()\n \u002F\u002F `1.2.3 - 1.2.4` =\u003E `\u003E=1.2.3 \u003C=1.2.4`\n var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n \u002F\u002F `\u003E 1.2.3 \u003C 1.2.5` =\u003E `\u003E1.2.3 \u003C1.2.5`\n range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[COMPARATORTRIM])\n\n \u002F\u002F `~ 1.2.3` =\u003E `~1.2.3`\n range = range.replace(re[TILDETRIM], tildeTrimReplace)\n\n \u002F\u002F `^ 1.2.3` =\u003E `^1.2.3`\n range = range.replace(re[CARETTRIM], caretTrimReplace)\n\n \u002F\u002F normalize spaces\n range = range.split(\u002F\\s+\u002F).join(' ')\n\n \u002F\u002F At this point, the range is completely trimmed and\n \u002F\u002F ready to be split into comparators.\n\n var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(\u002F\\s+\u002F)\n if (this.options.loose) {\n \u002F\u002F in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some(function (rangeComparators) {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every(function (thisComparator) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n}\n\n\u002F\u002F take a set of comparators and determine whether there\n\u002F\u002F exists a version which can satisfy it\nfunction isSatisfiable (comparators, options) {\n var result = true\n var remainingComparators = comparators.slice()\n var testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every(function (otherComparator) {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n\u002F\u002F Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\n}\n\n\u002F\u002F comprised of xranges, tildes, stars, and gtlt's at this point.\n\u002F\u002F already replaced the hyphen ranges\n\u002F\u002F turn into a set of JUST comparators.\nfunction parseComparator (comp, options) {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n\u002F\u002F ~, ~\u003E --\u003E * (any, kinda silly)\n\u002F\u002F ~2, ~2.x, ~2.x.x, ~\u003E2, ~\u003E2.x ~\u003E2.x.x --\u003E \u003E=2.0.0 \u003C3.0.0\n\u002F\u002F ~2.0, ~2.0.x, ~\u003E2.0, ~\u003E2.0.x --\u003E \u003E=2.0.0 \u003C2.1.0\n\u002F\u002F ~1.2, ~1.2.x, ~\u003E1.2, ~\u003E1.2.x --\u003E \u003E=1.2.0 \u003C1.3.0\n\u002F\u002F ~1.2.3, ~\u003E1.2.3 --\u003E \u003E=1.2.3 \u003C1.3.0\n\u002F\u002F ~1.2.0, ~\u003E1.2.0 --\u003E \u003E=1.2.0 \u003C1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(\u002F\\s+\u002F).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? re[TILDELOOSE] : re[TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '\u003E=' + M + '.0.0 \u003C' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n \u002F\u002F ~1.2 == \u003E=1.2.0 \u003C1.3.0\n ret = '\u003E=' + M + '.' + m + '.0 \u003C' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '\u003E=' + M + '.' + m + '.' + p + '-' + pr +\n ' \u003C' + M + '.' + (+m + 1) + '.0'\n } else {\n \u002F\u002F ~1.2.3 == \u003E=1.2.3 \u003C1.3.0\n ret = '\u003E=' + M + '.' + m + '.' + p +\n ' \u003C' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n\u002F\u002F ^ --\u003E * (any, kinda silly)\n\u002F\u002F ^2, ^2.x, ^2.x.x --\u003E \u003E=2.0.0 \u003C3.0.0\n\u002F\u002F ^2.0, ^2.0.x --\u003E \u003E=2.0.0 \u003C3.0.0\n\u002F\u002F ^1.2, ^1.2.x --\u003E \u003E=1.2.0 \u003C2.0.0\n\u002F\u002F ^1.2.3 --\u003E \u003E=1.2.3 \u003C2.0.0\n\u002F\u002F ^1.2.0 --\u003E \u003E=1.2.0 \u003C2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(\u002F\\s+\u002F).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? re[CARETLOOSE] : re[CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '\u003E=' + M + '.0.0 \u003C' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '\u003E=' + M + '.' + m + '.0 \u003C' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '\u003E=' + M + '.' + m + '.0 \u003C' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '\u003E=' + M + '.' + m + '.' + p + '-' + pr +\n ' \u003C' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '\u003E=' + M + '.' + m + '.' + p + '-' + pr +\n ' \u003C' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '\u003E=' + M + '.' + m + '.' + p + '-' + pr +\n ' \u003C' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '\u003E=' + M + '.' + m + '.' + p +\n ' \u003C' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '\u003E=' + M + '.' + m + '.' + p +\n ' \u003C' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '\u003E=' + M + '.' + m + '.' + p +\n ' \u003C' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(\u002F\\s+\u002F).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n if (xM) {\n if (gtlt === '\u003E' || gtlt === '\u003C') {\n \u002F\u002F nothing is allowed\n ret = '\u003C0.0.0'\n } else {\n \u002F\u002F nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n \u002F\u002F we know patch is an x, because we have any x at all.\n \u002F\u002F replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '\u003E') {\n \u002F\u002F \u003E1 =\u003E \u003E=2.0.0\n \u002F\u002F \u003E1.2 =\u003E \u003E=1.3.0\n \u002F\u002F \u003E1.2.3 =\u003E \u003E= 1.2.4\n gtlt = '\u003E='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '\u003C=') {\n \u002F\u002F \u003C=0.7.x is actually \u003C0.8.0, since any 0.7.x should\n \u002F\u002F pass. Similarly, \u003C=7.x is actually \u003C8.0.0, etc.\n gtlt = '\u003C'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p\n } else if (xm) {\n ret = '\u003E=' + M + '.0.0 \u003C' + (+M + 1) + '.0.0'\n } else if (xp) {\n ret = '\u003E=' + M + '.' + m + '.0 \u003C' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n\u002F\u002F Because * is AND-ed with everything else in the comparator,\n\u002F\u002F and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n \u002F\u002F Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[STAR], '')\n}\n\n\u002F\u002F This function is passed to string.replace(re[HYPHENRANGE])\n\u002F\u002F M, m, patch, prerelease, build\n\u002F\u002F 1.2 - 3.4.5 =\u003E \u003E=1.2.0 \u003C=3.4.5\n\u002F\u002F 1.2.3 - 3.4 =\u003E \u003E=1.2.0 \u003C3.5.0 Any 3.4.x will do\n\u002F\u002F 1.2 - 3.4 =\u003E \u003E=1.2.0 \u003C3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '\u003E=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '\u003E=' + fM + '.' + fm + '.0'\n } else {\n from = '\u003E=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '\u003C' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '\u003C' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '\u003C=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '\u003C=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n\u002F\u002F if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n for (var i = 0; i \u003C this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i \u003C set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n \u002F\u002F Find the set of versions that are allowed to have prereleases\n \u002F\u002F For example, ^1.2.3-pr.1 desugars to \u003E=1.2.3-pr.1 \u003C2.0.0\n \u002F\u002F That should allow `1.2.3-pr.2` to pass.\n \u002F\u002F However, `1.2.4-alpha.notready` should NOT be allowed,\n \u002F\u002F even though it's within the range set by the comparators.\n for (i = 0; i \u003C set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length \u003E 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n \u002F\u002F Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n \u002F\u002F satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n \u002F\u002F compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n \u002F\u002F satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n \u002F\u002F compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i \u003C range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n \u002F\u002F Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '\u003E':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n \u002F* fallthrough *\u002F\n case '':\n case '\u003E=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '\u003C':\n case '\u003C=':\n \u002F* Ignore maximum versions *\u002F\n break\n \u002F* istanbul ignore next *\u002F\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n \u002F\u002F Return '*' instead of '' so that truthiness works.\n \u002F\u002F This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n\u002F\u002F Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '\u003C', options)\n}\n\n\u002F\u002F Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '\u003E', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '\u003E':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '\u003E'\n ecomp = '\u003E='\n break\n case '\u003C':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '\u003C'\n ecomp = '\u003C='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"\u003C\" or \"\u003E\"')\n }\n\n \u002F\u002F If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n \u002F\u002F From now on, variable terms are as if we're in \"gtr\" mode.\n \u002F\u002F but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i \u003C range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('\u003E=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n \u002F\u002F If the edge version comparator has a operator then our version\n \u002F\u002F isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n \u002F\u002F If the lowest version comparator has an operator and our version\n \u002F\u002F is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n var match = version.match(re[COERCE])\n\n if (match == null) {\n return null\n }\n\n return parse(match[1] +\n '.' + (match[2] || '0') +\n '.' + (match[3] || '0'))\n}\n\n\n\u002F***\u002F }),\n\n\u002F***\u002F \".\u002Fsrc\u002Findex.js\":\n\u002F*!**********************************!*\\\n !*** .\u002Fsrc\u002Findex.js + 8 modules ***!\n \\**********************************\u002F\n\u002F*! exports provided: verifySystem, installDeps, setup *\u002F\n\u002F*! ModuleConcatenation bailout: Cannot concat with .\u002Fnode_modules\u002Findent-string\u002Findex.js (\u003C- Module is not an ECMAScript module) *\u002F\n\u002F*! ModuleConcatenation bailout: Cannot concat with .\u002Fnode_modules\u002Fsemver\u002Fsemver.js (\u003C- Module is not an ECMAScript module) *\u002F\n\u002F*! ModuleConcatenation bailout: Cannot concat with external \"child_process\" (\u003C- Module is not an ECMAScript module) *\u002F\n\u002F*! ModuleConcatenation bailout: Cannot concat with external \"fs\" (\u003C- Module is not an ECMAScript module) *\u002F\n\u002F*! ModuleConcatenation bailout: Cannot concat with external \"path\" (\u003C- Module is not an ECMAScript module) *\u002F\n\u002F*! ModuleConcatenation bailout: Cannot concat with external \"process\" (\u003C- Module is not an ECMAScript module) *\u002F\n\u002F***\u002F (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n\u002F\u002F EXTERNAL MODULE: .\u002Fnode_modules\u002Findent-string\u002Findex.js\nvar indent_string = __webpack_require__(\".\u002Fnode_modules\u002Findent-string\u002Findex.js\");\nvar indent_string_default = \u002F*#__PURE__*\u002F__webpack_require__.n(indent_string);\n\n\u002F\u002F EXTERNAL MODULE: .\u002Fnode_modules\u002Fsemver\u002Fsemver.js\nvar semver = __webpack_require__(\".\u002Fnode_modules\u002Fsemver\u002Fsemver.js\");\nvar semver_default = \u002F*#__PURE__*\u002F__webpack_require__.n(semver);\n\n\u002F\u002F CONCATENATED MODULE: .\u002Fsrc\u002Futils\u002Fone-line.js\nfunction oneLine(strings, ...interpolations) {\n const string = strings.map((s, i) =\u003E `${s}${interpolations[i] === undefined ? '' : interpolations[i]}`).join('').split('\\n').join(' ').split(' ').filter(Boolean).join(' ');\n return string;\n}\n\n\u002F* harmony default export *\u002F var one_line = (oneLine);\n\u002F\u002F EXTERNAL MODULE: external \"process\"\nvar external_process_ = __webpack_require__(\"process\");\nvar external_process_default = \u002F*#__PURE__*\u002F__webpack_require__.n(external_process_);\n\n\u002F\u002F CONCATENATED MODULE: .\u002Fsrc\u002Fverify-system\u002Fnode.js\n\n\n\n\u002F* harmony default export *\u002F var verify_system_node = (getNodeValidator);\n\nfunction getNodeValidator(desired) {\n return validateNode;\n\n function validateNode() {\n const actual = external_process_default.a.versions.node;\n\n if (!semver_default.a.satisfies(actual, desired)) {\n return one_line`\n The installed version of node (${actual}) does not satisfy\n the desired range of ${desired}.\n Please install a version within the range. You can use\n http:\u002F\u002Fgit.io\u002Fnvm or https:\u002F\u002Fgithub.com\u002Fcoreybutler\u002Fnvm-windows\n to make changing The installed version of node easier.\n `;\n }\n\n return null;\n }\n}\n\u002F\u002F EXTERNAL MODULE: external \"child_process\"\nvar external_child_process_ = __webpack_require__(\"child_process\");\nvar external_child_process_default = \u002F*#__PURE__*\u002F__webpack_require__.n(external_child_process_);\n\n\u002F\u002F CONCATENATED MODULE: .\u002Fsrc\u002Fverify-system\u002Fexec-validator.js\n\n\n\n\u002F* harmony default export *\u002F var exec_validator = (execValidator);\n\nfunction execValidator(desired, command, message) {\n let actual = '0.0.0';\n\n try {\n actual = Object(external_child_process_[\"execSync\"])(command).toString().trim();\n } catch (error) {\n return one_line`\n There was an error running the command \\`${command}\\`:\n ${error.message}\n `;\n }\n\n return semver_default.a.satisfies(actual, desired) ? null : message(actual, desired);\n}\n\u002F\u002F CONCATENATED MODULE: .\u002Fsrc\u002Fverify-system\u002Fnpm.js\n\n\n\u002F* harmony default export *\u002F var verify_system_npm = (getNPMValidator);\n\nfunction getNPMValidator(desired) {\n return validateNpm;\n\n function validateNpm() {\n return exec_validator(desired, 'npm --version', actual =\u003E {\n return one_line`\n The installed version of npm (${actual}) does not satisfy\n the desired range of ${desired}.\n Please at least have a version within the specified version range.\n You can install the latest version by running\n \\`npm install --global npm@${desired}\\`.\n `;\n });\n }\n}\n\u002F\u002F CONCATENATED MODULE: .\u002Fsrc\u002Fverify-system\u002Fyarn.js\n\n\n\u002F* harmony default export *\u002F var verify_system_yarn = (getYarnValidator);\n\nfunction getYarnValidator(desired) {\n return validateYarn;\n\n function validateYarn() {\n return exec_validator(desired, 'yarn --version', actual =\u003E {\n return one_line`\n The installed version of yarn (${actual}) does not satisfy\n the desired range of ${desired}.\n Please at least have a version within the specified version range.\n Updating to the latest version of yarn depends on how you installed it\n in the first place. Please see more information here:\n https:\u002F\u002Fyarnpkg.com\u002Fen\u002Fdocs\u002Finstall\n `;\n });\n }\n}\n\u002F\u002F CONCATENATED MODULE: .\u002Fsrc\u002Fverify-system\u002Findex.js\n\n\n\n\n\n\n\n\u002F* harmony default export *\u002F var verify_system = (validateAll);\nObject.assign(validateAll, {\n utils: {\n execValidator: exec_validator,\n oneLine: one_line,\n semver: semver_default.a\n },\n validators: {\n node: verify_system_node,\n npm: verify_system_npm,\n yarn: verify_system_yarn\n }\n});\n\nfunction validateAll(validators = []) {\n const promises = validators.filter(Boolean).map(v =\u003E Promise.resolve(v()));\n return Promise.all(promises).then(results =\u003E {\n const errors = results.filter(Boolean);\n const errorCount = errors.length;\n\n if (errorCount) {\n const errorMessages = errors.map(error =\u003E `- ${error}`).join('\\n');\n const one = errorCount === 1;\n return Promise.reject([one_line`\n There ${one ? 'is an issue' : 'are some issues'} with your system.\n `, indent_string_default()(errorMessages, 2)].join('\\n'));\n } else {\n return null;\n }\n });\n}\n\u002F\u002F EXTERNAL MODULE: external \"path\"\nvar external_path_ = __webpack_require__(\"path\");\nvar external_path_default = \u002F*#__PURE__*\u002F__webpack_require__.n(external_path_);\n\n\u002F\u002F EXTERNAL MODULE: external \"fs\"\nvar external_fs_ = __webpack_require__(\"fs\");\nvar external_fs_default = \u002F*#__PURE__*\u002F__webpack_require__.n(external_fs_);\n\n\u002F\u002F CONCATENATED MODULE: .\u002Fsrc\u002Finstall-deps\u002Findex.js\n\n\n\n\u002F* harmony default export *\u002F var install_deps = (installDeps);\n\nfunction installDeps(directories = [process.cwd()], {\n yarnOk\n} = {}) {\n if (!Array.isArray(directories)) {\n directories = [directories];\n }\n\n let promise = Promise.resolve();\n directories.forEach(dir =\u003E {\n promise = promise.then(() =\u003E spawnInstall(dir));\n });\n return promise;\n\n function spawnInstall(cwd) {\n return new Promise((resolve, reject) =\u003E {\n const hasPkgLock = external_fs_default.a.existsSync(external_path_default.a.join(process.cwd(), 'package-lock.json'));\n const hasYarnLock = external_fs_default.a.existsSync(external_path_default.a.join(process.cwd(), 'yarn.lock'));\n const useYarn = yarnOk && (hasYarnLock || !hasPkgLock);\n let installer = 'npm';\n let installerArgs = [hasPkgLock ? 'ci' : 'install', hasPkgLock ? null : '--no-package-lock'].filter(Boolean);\n\n if (useYarn) {\n installer = 'yarn';\n installerArgs = [hasYarnLock ? null : '--no-lockfile'].filter(Boolean);\n } else if (!yarnOk && hasYarnLock && !hasPkgLock) {\n console.warn(`⚠️ \"${cwd}\" has a yarn.lock file, but this system does not have the right version of yarn installed.`, `We'll install using npm instead, but you may experience issues. Install the correct version of yarn to get rid of this warning.`);\n }\n\n const command = [installer, ...installerArgs].join(' ');\n console.log(`📦 starting \\`${command}\\` in \"${cwd}\"`);\n const child = external_child_process_default.a.spawn(installer, installerArgs, {\n stdio: 'inherit',\n shell: true,\n cwd\n });\n child.on('exit', onExit);\n\n function onExit(code) {\n if (code === 0) {\n console.log(`🎉 finished installing dependencies in \"${cwd}\"`);\n resolve();\n } else {\n console.error(`💀 error installing dependencies in \"${cwd}\"`);\n reject(cwd);\n }\n }\n });\n }\n}\n\u002F\u002F CONCATENATED MODULE: .\u002Fsrc\u002Fsetup.js\n\n\n\u002F* harmony default export *\u002F var setup = (setup_setup);\n\nasync function setup_setup({\n directories,\n node,\n yarn,\n npm\n}) {\n const nodeError = await verify_system.validators.node(node)();\n\n if (nodeError) {\n return Promise.reject(nodeError);\n }\n\n const npmError = await verify_system.validators.npm(npm)();\n const yarnError = await verify_system.validators.yarn(yarn)();\n\n if (yarnError && npmError) {\n const errorMessage = [verify_system.utils.oneLine`\n We tried to validate The installed version of npm and yarn and both failed.\n We recommend you fix yarn, but fixing either will resolve this issue.\n Here are the validation error messages for each:\n `, '', yarnError, '', npmError].join('\\n');\n return Promise.reject(errorMessage);\n }\n\n return install_deps(directories, {\n yarnOk: !yarnError\n });\n}\n\u002F\u002F CONCATENATED MODULE: .\u002Fsrc\u002Findex.js\n\u002F* concated harmony reexport verifySystem *\u002F__webpack_require__.d(__webpack_exports__, \"verifySystem\", function() { return verify_system; });\n\u002F* concated harmony reexport installDeps *\u002F__webpack_require__.d(__webpack_exports__, \"installDeps\", function() { return install_deps; });\n\u002F* concated harmony reexport setup *\u002F__webpack_require__.d(__webpack_exports__, \"setup\", function() { return setup; });\n\n\n\n\n\n\u002F***\u002F }),\n\n\u002F***\u002F \"child_process\":\n\u002F*!********************************!*\\\n !*** external \"child_process\" ***!\n \\********************************\u002F\n\u002F*! no static exports found *\u002F\n\u002F*! ModuleConcatenation bailout: Module is not an ECMAScript module *\u002F\n\u002F***\u002F (function(module, exports) {\n\nmodule.exports = require(\"child_process\");\n\n\u002F***\u002F }),\n\n\u002F***\u002F \"fs\":\n\u002F*!*********************!*\\\n !*** external \"fs\" ***!\n \\*********************\u002F\n\u002F*! no static exports found *\u002F\n\u002F*! ModuleConcatenation bailout: Module is not an ECMAScript module *\u002F\n\u002F***\u002F (function(module, exports) {\n\nmodule.exports = require(\"fs\");\n\n\u002F***\u002F }),\n\n\u002F***\u002F \"path\":\n\u002F*!***********************!*\\\n !*** external \"path\" ***!\n \\***********************\u002F\n\u002F*! no static exports found *\u002F\n\u002F*! ModuleConcatenation bailout: Module is not an ECMAScript module *\u002F\n\u002F***\u002F (function(module, exports) {\n\nmodule.exports = require(\"path\");\n\n\u002F***\u002F }),\n\n\u002F***\u002F \"process\":\n\u002F*!**************************!*\\\n !*** external \"process\" ***!\n \\**************************\u002F\n\u002F*! no static exports found *\u002F\n\u002F*! ModuleConcatenation bailout: Module is not an ECMAScript module *\u002F\n\u002F***\u002F (function(module, exports) {\n\nmodule.exports = require(\"process\");\n\n\u002F***\u002F })\n\n\u002F******\u002F });\n\u002F\u002F# sourceMappingURL=index.js.map","id":"e47f2625-9456-4849-a15d-ed76697df267","is_binary":false,"title":"workshop-setup.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"SkDWdwQ3QII","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SyGODQ278L"},{"code":"{\n \"rules\": {\n \"no-func-assign\": \"off\",\n \"import\u002Fno-webpack-loader-syntax\": \"off\"\n }\n}\n","id":"1d9401b4-6a71-4d1b-ac1a-5fa95102d85a","is_binary":false,"title":".eslintrc","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"SkdZ_vX3QLI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"code":"import '@testing-library\u002Fjest-dom\u002Fextend-expect'\n","id":"133fd8ce-c9ef-41a5-afdb-e6f5d05fe8bf","is_binary":false,"title":"global.d.ts","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"HyYZuvX2XUL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"BkEuwmn7II"},{"code":"import React from 'react'\nimport {\n BrowserRouter as Router,\n Switch,\n Route,\n Link,\n useParams,\n} from 'react-router-dom'\nimport {createBrowserHistory} from 'history'\nimport preval from 'preval.macro'\nimport pkg from '..\u002Fpackage.json'\n\nconst {title: projectTitle} = pkg\n\nif (!projectTitle) {\n throw new Error('The package.json must have a title!')\n}\n\nconst exerciseInfo = preval`module.exports = require('.\u002Fload-exercises')`\n\nfor (const infoKey in exerciseInfo) {\n const info = exerciseInfo[infoKey]\n info.exercise.Component = React.lazy(() =\u003E import(`.\u002Fexercises\u002F${infoKey}`))\n info.final.Component = React.lazy(() =\u003E\n import(`.\u002Fexercises-final\u002F${infoKey}`),\n )\n}\n\nconst history = createBrowserHistory()\nfunction handleAnchorClick(event) {\n if (event.metaKey || event.shiftKey) {\n return\n }\n event.preventDefault()\n history.push(event.target.getAttribute('href'))\n}\n\nfunction ComponentContainer({label, ...props}) {\n return (\n \u003Cdiv\u003E\n \u003Ch2 style={{textAlign: 'center'}}\u003E{label}\u003C\u002Fh2\u003E\n \u003Cdiv\n style={{\n flex: 1,\n padding: 20,\n border: '1px solid',\n display: 'grid',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n {...props}\n \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction ExtraCreditLinks({exerciseId}) {\n const {extraCreditTitles} = exerciseInfo[exerciseId]\n if (!extraCreditTitles) {\n return null\n }\n\n return (\n \u003Cdiv style={{gridColumn: 'span 2'}}\u003E\n {`Extra Credits: `}\n {Object.entries(extraCreditTitles).map(([id, title], index, array) =\u003E (\n \u003Cspan key={id}\u003E\n \u003Ca\n href={`\u002Fisolated\u002Fexercises-final\u002F${exerciseId}-extra.${id}`}\n onClick={handleAnchorClick}\n \u003E\n {title}\n \u003C\u002Fa\u003E\n {array.length - 1 === index ? null : ' | '}\n \u003C\u002Fspan\u003E\n ))}\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction ExerciseContainer() {\n let {exerciseId} = useParams()\n const {\n title,\n exercise,\n final,\n exercise: {Component: Exercise},\n final: {Component: Final},\n } = exerciseInfo[exerciseId]\n return (\n \u003Cdiv\n style={{\n padding: '20px 20px 40px 20px',\n minHeight: '100%',\n display: 'grid',\n gridGap: '20px',\n gridTemplateColumns: '1fr 1fr',\n gridTemplateRows: '30px 1fr 30px',\n }}\n \u003E\n \u003Ch1 style={{gridColumn: 'span 2', textAlign: 'center'}}\u003E{title}\u003C\u002Fh1\u003E\n \u003CComponentContainer\n label={\n \u003Ca href={exercise.isolatedPath} onClick={handleAnchorClick}\u003E\n Exercise\n \u003C\u002Fa\u003E\n }\n \u003E\n \u003CExercise \u002F\u003E\n \u003C\u002FComponentContainer\u003E\n \u003CComponentContainer\n label={\n \u003Ca href={final.isolatedPath} onClick={handleAnchorClick}\u003E\n Final\n \u003C\u002Fa\u003E\n }\n \u003E\n \u003CFinal \u002F\u003E\n \u003C\u002FComponentContainer\u003E\n \u003CNavigationFooter exerciseId={exerciseId} type=\"page\" \u002F\u003E\n \u003CExtraCreditLinks exerciseId={exerciseId} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction NavigationFooter({exerciseId, type}) {\n const current = exerciseInfo[exerciseId]\n let suffix = ''\n let info = current.final\n if (type === 'exercise') {\n suffix = '\u002Fexercise'\n info = current.exercise\n } else if (type === 'final') {\n suffix = '\u002Ffinal'\n }\n return (\n \u003Cdiv\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n gridColumn: 'span 2',\n }}\n \u003E\n \u003Cdiv style={{flex: 1}}\u003E\n {info.previous ? (\n \u003CLink to={`\u002F${info.previous}${suffix}`}\u003E\n {exerciseInfo[info.previous].title}{' '}\n \u003Cspan role=\"img\" aria-label=\"previous\"\u003E\n 👈\n \u003C\u002Fspan\u003E\n \u003C\u002FLink\u003E\n ) : null}\n \u003C\u002Fdiv\u003E\n \u003Cdiv style={{flex: 1, textAlign: 'center'}}\u003E\n \u003CLink to=\"\u002F\"\u003EHome\u003C\u002FLink\u003E\n \u003C\u002Fdiv\u003E\n \u003Cdiv style={{flex: 1, textAlign: 'right'}}\u003E\n {info.next ? (\n \u003CLink to={`\u002F${info.next}${suffix}`}\u003E\n \u003Cspan role=\"img\" aria-label=\"next\"\u003E\n 👉\n \u003C\u002Fspan\u003E{' '}\n {exerciseInfo[info.next].title}\n \u003C\u002FLink\u003E\n ) : null}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction Home() {\n return (\n \u003Cdiv\n style={{\n maxWidth: 800,\n marginLeft: 'auto',\n marginRight: 'auto',\n paddingTop: 30,\n }}\n \u003E\n \u003Ch1 style={{textAlign: 'center'}}\u003E{projectTitle}\u003C\u002Fh1\u003E\n \u003Cdiv\u003E\n {Object.entries(exerciseInfo).map(\n ([filename, {title, final, exercise}]) =\u003E {\n return (\n \u003Cdiv key={filename} style={{margin: 10}}\u003E\n {filename}\n {'. '}\n \u003CLink to={`\u002F${filename}`}\u003E{title}\u003C\u002FLink\u003E{' '}\n \u003Csmall\u003E\n \u003Ca href={exercise.isolatedPath} onClick={handleAnchorClick}\u003E\n (exercise)\n \u003C\u002Fa\u003E{' '}\n \u003Ca href={final.isolatedPath} onClick={handleAnchorClick}\u003E\n (final)\n \u003C\u002Fa\u003E\n \u003C\u002Fsmall\u003E\n \u003C\u002Fdiv\u003E\n )\n },\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction NotFound() {\n return (\n \u003Cdiv\n style={{\n height: '100%',\n display: 'grid',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n \u003E\n \u003Cdiv\u003E\n Sorry... nothing here. To open one of the exercises, go to{' '}\n \u003Ccode\u003E{`\u002FexerciseId`}\u003C\u002Fcode\u003E, for example:{' '}\n \u003CLink to=\"\u002F01\"\u003E\n \u003Ccode\u003E{`\u002F01`}\u003C\u002Fcode\u003E\n \u003C\u002FLink\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction Routes() {\n return (\n \u003CRouter\u003E\n \u003CSwitch\u003E\n \u003CRoute exact path=\"\u002F\"\u003E\n \u003CHome \u002F\u003E\n \u003C\u002FRoute\u003E\n \u003CRoute exact path=\"\u002F:exerciseId\"\u003E\n \u003CExerciseContainer \u002F\u003E\n \u003C\u002FRoute\u003E\n \u003CRoute\u003E\n \u003CNotFound \u002F\u003E\n \u003C\u002FRoute\u003E\n \u003C\u002FSwitch\u003E\n \u003C\u002FRouter\u003E\n )\n}\n\n\u002F\u002F cache\nconst lazyComps = {final: {}, exercise: {}, examples: {}}\n\nfunction useIsolatedComponent({pathname}) {\n const isIsolated = pathname.startsWith('\u002Fisolated')\n const isFinal = pathname.includes('\u002Fexercises-final\u002F')\n const isExercise = pathname.includes('\u002Fexercises\u002F')\n const isExample = pathname.includes('\u002Fexamples\u002F')\n const moduleName = isIsolated\n ? pathname.split(\u002F\\\u002Fisolated\\\u002F.*?\\\u002F\u002F).slice(-1)[0]\n : null\n const IsolatedComponent = React.useMemo(() =\u003E {\n if (!moduleName) {\n return null\n }\n if (isFinal) {\n return (lazyComps.final[moduleName] =\n lazyComps.final[moduleName] ||\n React.lazy(() =\u003E import(`.\u002Fexercises-final\u002F${moduleName}`)))\n } else if (isExercise) {\n return (lazyComps.exercise[moduleName] =\n lazyComps.exercise[moduleName] ||\n React.lazy(() =\u003E import(`.\u002Fexercises\u002F${moduleName}`)))\n } else if (isExample) {\n return (lazyComps.examples[moduleName] =\n lazyComps.examples[moduleName] ||\n React.lazy(() =\u003E import(`.\u002Fexamples\u002F${moduleName}`)))\n }\n }, [isExample, isExercise, isFinal, moduleName])\n return moduleName ? IsolatedComponent : null\n}\n\nfunction useExerciseTitle({pathname}) {\n const isIsolated = pathname.startsWith('\u002Fisolated')\n const isFinal = pathname.includes('\u002Fexercises-final\u002F')\n const isExercise = pathname.includes('\u002Fexercises\u002F')\n const exerciseName = isIsolated\n ? pathname.split(\u002F\\\u002Fisolated\\\u002F.*?\\\u002F\u002F).slice(-1)[0]\n : pathname.split('\u002F').slice(-1)[0]\n\n React.useEffect(() =\u003E {\n document.title = [\n projectTitle,\n exerciseName,\n isExercise ? 'Exercise' : null,\n isFinal ? 'Final' : null,\n ]\n .filter(Boolean)\n .join(' | ')\n }, [exerciseName, isExercise, isFinal])\n}\n\nfunction useLocationBodyClassName({pathname}) {\n const className = pathname.replace(\u002F\\\u002F\u002Fg, '_')\n React.useEffect(() =\u003E {\n document.body.classList.add(className)\n return () =\u003E document.body.classList.remove(className)\n }, [className])\n}\n\n\u002F\u002F The reason we don't put the Isolated components as regular routes\n\u002F\u002F and do all this complex stuff instead is so the React DevTools component\n\u002F\u002F tree is as small as possible to make it easier for people to figure\n\u002F\u002F out what is relevant to the example.\nfunction MainApp() {\n const [location, setLocation] = React.useState(history.location)\n React.useEffect(() =\u003E history.listen(l =\u003E setLocation(l)), [])\n useExerciseTitle(location)\n useLocationBodyClassName(location)\n\n const IsolatedComponent = useIsolatedComponent(location)\n\n return (\n \u003CReact.Suspense\n fallback={\n \u003Cdiv style={{height: '100vh'}} className=\"totally-centered\"\u003E\n Loading...\n \u003C\u002Fdiv\u003E\n }\n \u003E\n {IsolatedComponent ? (\n \u003Cdiv className=\"isolated-top-container\"\u003E\n \u003Cdiv className=\"isolated-div-wrapper\"\u003E\n \u003CIsolatedComponent \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n ) : (\n \u003CRoutes \u002F\u003E\n )}\n \u003C\u002FReact.Suspense\u003E\n )\n}\n\nexport default MainApp\n","id":"3d2ab9c8-b3e1-4d54-a133-94797caf3fd9","is_binary":false,"title":"app.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"Skj-dwQnXIL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"code":"import React from 'react'\n\u002F\u002F import chalk from 'chalk'\nimport {render} from '@testing-library\u002Freact'\nimport Usage from '..\u002Fexercises-final\u002F01'\n\u002F\u002F import Usage from '..\u002Fexercises\u002F01'\n\ntest('loads the tile component asynchronously', async () =\u003E {\n render(\u003CUsage \u002F\u003E)\n\n \u002F\u002F try {\n \u002F\u002F expect(queryByDisplayValue(tilted)).not.toBeInTheDocument()\n \u002F\u002F } catch (error) {\n \u002F\u002F \u002F\u002F\n \u002F\u002F \u002F\u002F\n \u002F\u002F \u002F\u002F\n \u002F\u002F \u002F\u002F these comment lines are just here to keep the next line out of the codeframe\n \u002F\u002F \u002F\u002F so it doesn't confuse people when they see the error message twice.\n \u002F\u002F error.message = `🚨 ${chalk.red(\n \u002F\u002F 'The tilt component must be loaded asynchronously via React.lazy and React.Suspense',\n \u002F\u002F )}`\n\n \u002F\u002F throw error\n \u002F\u002F }\n})\n","id":"2ace105e-2536-437e-b369-7c9970f9739b","is_binary":false,"title":"01.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"BJq-dv737LI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"BkHOvQnQII"},{"code":"\u002F\u002F Fetch on render 👎\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexamples\u002Ffetch-approaches\u002Ffetch-on-render\n\nimport React from 'react'\nimport {PokemonForm} from '..\u002F..\u002Futils'\n\nconst PokemonInfo = React.lazy(() =\u003E\n import('.\u002Flazy\u002Fpokemon-info-fetch-on-render'),\n)\n\nwindow.fetch.restoreOriginalFetch()\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className=\"pokemon-info\"\u003E\n {pokemonName ? (\n \u003CPokemonInfo pokemonName={pokemonName} \u002F\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"0a0f1370-13bb-4ed2-b285-e3d0467e5f34","is_binary":false,"title":"fetch-on-render.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"Skn-uD72XLL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SkvOv7hXU8"},{"code":"\u002F\u002F Fetch then render 👎\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexamples\u002Ffetch-approaches\u002Ffetch-then-render\n\nimport React from 'react'\nimport fetchPokemon from '..\u002F..\u002Ffetch-pokemon'\nimport {PokemonForm, PokemonInfoFallback} from '..\u002F..\u002Futils'\n\nconst PokemonInfo = React.lazy(() =\u003E\n import('.\u002Flazy\u002Fpokemon-info-fetch-then-render'),\n)\n\nwindow.fetch.restoreOriginalFetch()\n\nfunction usePokemon(pokemonName) {\n const [state, setState] = React.useReducer((s, a) =\u003E ({...s, ...a}), {\n pokemon: null,\n error: null,\n status: 'pending',\n })\n\n React.useEffect(() =\u003E {\n if (!pokemonName) {\n return\n }\n let current = true\n setState({status: 'pending'})\n fetchPokemon(pokemonName).then(\n p =\u003E {\n if (current) setState({pokemon: p, status: 'success'})\n },\n e =\u003E {\n if (current) setState({error: e, status: 'error'})\n },\n )\n return () =\u003E (current = false)\n }, [pokemonName])\n\n return state\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState(null)\n const {pokemon, error, status} = usePokemon(pokemonName)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className=\"pokemon-info\"\u003E\n {pokemonName ? (\n status === 'pending' ? (\n \u003CPokemonInfoFallback name={pokemonName} \u002F\u003E\n ) : status === 'error' ? (\n \u003Cdiv\u003E\n There was an error.\n \u003Cpre style={{whiteSpace: 'normal'}}\u003E{error.message}\u003C\u002Fpre\u003E\n \u003C\u002Fdiv\u003E\n ) : status === 'success' ? (\n \u003CPokemonInfo pokemon={pokemon} \u002F\u003E\n ) : null\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"dd1378cf-9583-4250-98ba-5ba543bd814d","is_binary":false,"title":"fetch-then-render.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"ryp-uv7nXUI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SkvOv7hXU8"},{"code":"import React from 'react'\nimport fetchPokemon from '..\u002F..\u002F..\u002Ffetch-pokemon'\nimport {PokemonInfoFallback, PokemonDataView} from '..\u002F..\u002F..\u002Futils'\n\nfunction PokemonInfo({pokemonName}) {\n const [state, setState] = React.useReducer((s, a) =\u003E ({...s, ...a}), {\n pokemon: null,\n error: null,\n status: 'pending',\n })\n\n const {pokemon, error, status} = state\n\n React.useEffect(() =\u003E {\n let current = true\n setState({status: 'pending'})\n fetchPokemon(pokemonName).then(\n p =\u003E {\n if (current) setState({pokemon: p, status: 'success'})\n },\n e =\u003E {\n if (current) setState({error: e, status: 'error'})\n },\n )\n return () =\u003E (current = false)\n }, [pokemonName])\n\n if (status === 'pending') {\n return \u003CPokemonInfoFallback name={pokemonName} \u002F\u003E\n }\n\n if (status === 'error') {\n return (\n \u003Cdiv\u003E\n There was an error.\n \u003Cpre style={{whiteSpace: 'normal'}}\u003E{error.message}\u003C\u002Fpre\u003E\n \u003C\u002Fdiv\u003E\n )\n }\n\n if (status === 'success') {\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n }\n}\n\nexport default PokemonInfo\n","id":"ed573386-9a23-4482-8738-30cfe8d711f7","is_binary":false,"title":"pokemon-info-fetch-on-render.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"rkAZdDmn7LL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"BJuuPm2mLI"},{"code":"import React from 'react'\nimport {PokemonDataView} from '..\u002F..\u002F..\u002Futils'\n\nfunction PokemonInfo({pokemon}) {\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default PokemonInfo\n","id":"f1fbe65a-0df0-4aa3-86b6-adf2006b713f","is_binary":false,"title":"pokemon-info-fetch-then-render.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"rJ1GdvXnQ8I","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"BJuuPm2mLI"},{"code":"import {createResource, preloadImage} from '..\u002F..\u002F..\u002Futils'\nimport fetchPokemon, {getImageUrlForPokemon} from '..\u002F..\u002F..\u002Ffetch-pokemon'\n\nfunction createPokemonResource(pokemonName) {\n const lowerName = pokemonName\n const data = createResource(() =\u003E fetchPokemon(lowerName))\n const image = createResource(() =\u003E\n preloadImage(getImageUrlForPokemon(lowerName)),\n )\n return {data, image}\n}\n\nexport default createPokemonResource\n","id":"81c7b21e-bda5-409e-acc0-d69457080b15","is_binary":false,"title":"pokemon-info-render-as-you-fetch.data.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"SygfdwQ3XI8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"BJuuPm2mLI"},{"code":"import React from 'react'\nimport {PokemonDataView} from '..\u002F..\u002F..\u002Futils'\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.data.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemonResource.image.read()} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default PokemonInfo\n","id":"d34bed6e-56f2-4e98-9cf6-710120a4016c","is_binary":false,"title":"pokemon-info-render-as-you-fetch.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"BJbfdD72QUI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"BJuuPm2mLI"},{"code":"\u002F\u002F Render as you Fetch 👍\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexamples\u002Ffetch-approaches\u002Frender-as-you-fetch\n\nimport React from 'react'\nimport {ErrorBoundary, PokemonInfoFallback, PokemonForm} from '..\u002F..\u002Futils'\nimport createPokemonInfoResource from '.\u002Flazy\u002Fpokemon-info-render-as-you-fetch.data'\n\nconst PokemonInfo = React.lazy(() =\u003E\n import('.\u002Flazy\u002Fpokemon-info-render-as-you-fetch'),\n)\n\nwindow.fetch.restoreOriginalFetch()\n\nconst SUSPENSE_CONFIG = {\n timeoutMs: 4000,\n busyDelayMs: 300, \u002F\u002F this time is slightly shorter than our css transition delay\n busyMinDurationMs: 700,\n}\n\nconst pokemonResourceCache = {}\n\nfunction getPokemonResource(name) {\n const lowerName = name.toLowerCase()\n let resource = pokemonResourceCache[lowerName]\n if (!resource) {\n resource = createPokemonInfoResource(lowerName)\n pokemonResourceCache[lowerName] = resource\n }\n return resource\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState('')\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n startTransition(() =\u003E {\n setPokemonResource(getPokemonResource(newPokemonName))\n })\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className={`pokemon-info ${isPending ? 'pokemon-loading' : ''}`}\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"8e8aaa9d-c37f-4a5d-9b1a-6cf3b32f4c8c","is_binary":false,"title":"render-as-you-fetch.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"HyzzuvXhXIU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SkvOv7hXU8"},{"code":"import React from 'react'\nimport {getImageUrlForPokemon} from '..\u002Ffetch-pokemon'\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexamples\u002Fpreload-image\n\nconst bulbasaurImageUrl = getImageUrlForPokemon('bulbasaur')\nconst dittoImageUrl = getImageUrlForPokemon('ditto')\n\nconst preloadImage = url =\u003E (document.createElement('img').src = url)\nconst preloadBulbasaur = () =\u003E preloadImage(bulbasaurImageUrl)\nconst preloadDitto = () =\u003E preloadImage(dittoImageUrl)\n\nfunction PreloadImageExample() {\n const [showImages, setShowImages] = React.useState(false)\n\n return (\n \u003Cdiv\u003E\n \u003Cbutton onClick={() =\u003E setShowImages(true)}\u003EShow Images\u003C\u002Fbutton\u003E\n \u003Cdiv style={{display: 'flex'}}\u003E\n \u003Cdiv style={{border: '1px solid'}}\u003E\n \u003Cdiv\u003E\n \u003Cbutton onClick={preloadBulbasaur}\u003EPreload Bulbasaur\u003C\u002Fbutton\u003E\n \u003Cdiv\u003E\n {showImages ? (\n \u003Cimg src={bulbasaurImageUrl} alt=\"Bulbasaur\" \u002F\u003E\n ) : null}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n \u003Cdiv style={{border: '1px solid'}}\u003E\n \u003Cbutton onClick={preloadDitto}\u003EPreload Ditto\u003C\u002Fbutton\u003E\n \u003Cdiv\u003E\n {showImages ? \u003Cimg src={dittoImageUrl} alt=\"Ditto\" \u002F\u003E : null}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default PreloadImageExample\n","id":"a64b8701-9729-488d-8d54-1a1bafabc334","is_binary":false,"title":"preload-image.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"S1mf_Dm2mUU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkUdw73XL8"},{"code":"\u002F\u002F Simple Data-fetching\n\u002F\u002F 💯 add error handling with an Error Boundary\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F01-extra.1\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {ErrorBoundary, PokemonDataView} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nlet pokemon\nlet pokemonError\nlet pokemonPromise = fetchPokemon('pikachu').then(\n p =\u003E (pokemon = p),\n e =\u003E (pokemonError = e),\n)\n\nfunction PokemonInfo() {\n if (pokemonError) {\n throw pokemonError\n }\n if (!pokemon) {\n throw pokemonPromise\n }\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction App() {\n return (\n \u003Cdiv className=\"pokemon-info\"\u003E\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense fallback={\u003Cdiv\u003ELoading Pokemon...\u003C\u002Fdiv\u003E}\u003E\n \u003CPokemonInfo \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"b314f766-8383-4697-9e9d-fd8f4d703480","is_binary":false,"title":"01-extra.1.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"BJ4MuDmh7LU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Simple Data-fetching\n\u002F\u002F 💯 make more generic createResource\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F01-extra.2\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {ErrorBoundary, PokemonDataView} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nlet pokemonResource = createResource(() =\u003E fetchPokemon('pikachu'))\n\nfunction createResource(asyncFn) {\n let status = 'pending'\n let result\n let promise = asyncFn().then(\n r =\u003E {\n status = 'success'\n result = r\n },\n e =\u003E {\n status = 'error'\n result = e\n },\n )\n return {\n read() {\n if (status === 'pending') throw promise\n if (status === 'error') throw result\n if (status === 'success') return result\n throw new Error('This should be impossible')\n },\n }\n}\n\nfunction Pokemon() {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction App() {\n return (\n \u003Cdiv className=\"pokemon-info\"\u003E\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense fallback={\u003Cdiv\u003ELoading Pokemon...\u003C\u002Fdiv\u003E}\u003E\n \u003CPokemon \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"874596fd-acb5-4d7f-b0f4-f60a601ba26a","is_binary":false,"title":"01-extra.2.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"r1Hzdvm2XUL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Simple Data-fetching\n\u002F\u002F 💯 Use utils\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F01-extra.3\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n PokemonInfoFallback,\n createResource,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nlet pokemonResource = createResource(() =\u003E fetchPokemon('pikachu'))\n\nfunction Pokemon() {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction App() {\n return (\n \u003Cdiv className=\"pokemon-info\"\u003E\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense fallback={\u003CPokemonInfoFallback name=\"Pikachu\" \u002F\u003E}\u003E\n \u003CPokemon \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"a561a5c5-222c-4a07-8327-04dcd6067799","is_binary":false,"title":"01-extra.3.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"ryUMuPXnXU8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Simple Data-fetching\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F01\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {PokemonDataView} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nlet pokemon\nlet pokemonPromise = fetchPokemon('pikachu').then(p =\u003E (pokemon = p))\n\nfunction PokemonInfo() {\n if (!pokemon) {\n throw pokemonPromise\n }\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction App() {\n return (\n \u003Cdiv className=\"pokemon-info\"\u003E\n \u003CReact.Suspense fallback={\u003Cdiv\u003ELoading Pokemon...\u003C\u002Fdiv\u003E}\u003E\n \u003CPokemonInfo \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"b04f750b-e52c-49fe-abb9-f32adf43e3ed","is_binary":false,"title":"01.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"S1wz_DX2QL8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Refactor useEffect to Suspense\n\u002F\u002F 💯 Suspense and Error Boundary positioning\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F02-extra.1\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction createPokemonResource(pokemonName) {\n return createResource(() =\u003E fetchPokemon(pokemonName))\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState(null)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n setPokemonResource(createPokemonResource(newPokemonName))\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003CReact.Suspense\n fallback={\n \u003Cdiv className=\"pokemon-info\"\u003E\n \u003CPokemonInfoFallback name={pokemonName} \u002F\u003E\n \u003C\u002Fdiv\u003E\n }\n \u003E\n \u003Cdiv className=\"pokemon-info\"\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"fa100aba-00cc-4da0-9310-db0c90200978","is_binary":false,"title":"02-extra.1.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"r1_fdPm3QUI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Refactor useEffect to Suspense\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F02\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction createPokemonResource(pokemonName) {\n return createResource(() =\u003E fetchPokemon(pokemonName))\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState(null)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n setPokemonResource(createPokemonResource(newPokemonName))\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className=\"pokemon-info\"\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"d917d954-ffd0-429a-a30a-36e12b843c32","is_binary":false,"title":"02.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"r1FMODQhXUL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F useTransition for improved loading states\n\u002F\u002F 💯 use css transitions\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F03-extra.1\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\n\u002F\u002F shows busy indicator, and it stays for 500ms\n\u002F\u002F window.FETCH_TIME = 450\n\n\u002F\u002F shows busy indicator, then suspense fallback\n\u002F\u002F window.FETCH_TIME = 5000\n\n\u002F\u002F never shows busy indicator\n\u002F\u002F window.FETCH_TIME = 200\n\nconst SUSPENSE_CONFIG = {timeoutMs: 4000}\n\nfunction createPokemonResource(pokemonName) {\n return createResource(() =\u003E fetchPokemon(pokemonName))\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState('')\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n startTransition(() =\u003E {\n setPokemonResource(createPokemonResource(newPokemonName))\n })\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className={`pokemon-info ${isPending ? 'pokemon-loading' : ''}`}\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"757166c1-b1bc-4f40-90c1-4b4f60ec507c","is_binary":false,"title":"03-extra.1.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"HkcG_DQnQIU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F useTransition for improved loading states\n\u002F\u002F 💯 avoid flash of loading content\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F03-extra.2\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nconst SUSPENSE_CONFIG = {\n timeoutMs: 4000,\n busyDelayMs: 300, \u002F\u002F this time is slightly shorter than our css transition delay\n busyMinDurationMs: 700,\n}\n\nfunction createPokemonResource(pokemonName) {\n \u002F\u002F fetchPokemon takes an optional second argument called \"delay\" which\n \u002F\u002F allows you to arbitrarily delay the fetch request by a given number\n \u002F\u002F of milliseconds. For example:\n \u002F\u002F fetchPokemon(pokemonName, 400)\n \u002F\u002F would delay it to at least take 400 milliseconds\n return createResource(() =\u003E fetchPokemon(pokemonName))\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState('')\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n startTransition(() =\u003E {\n setPokemonResource(createPokemonResource(newPokemonName))\n })\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className={`pokemon-info ${isPending ? 'pokemon-loading' : ''}`}\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"989d6cf8-6409-4857-a85c-f28d8a986333","is_binary":false,"title":"03-extra.2.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"rJjfuwQhmIU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F useTransition for improved loading states\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F03\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\n\u002F\u002F try a few of these fetch times:\n\u002F\u002F shows busy indicator\n\u002F\u002F window.FETCH_TIME = 450\n\n\u002F\u002F shows busy indicator, then suspense fallback\n\u002F\u002F window.FETCH_TIME = 5000\n\n\u002F\u002F shows busy indicator for a split second\n\u002F\u002F 💯 this is what the extra credit improves\n\u002F\u002F window.FETCH_TIME = 200\n\nconst SUSPENSE_CONFIG = {timeoutMs: 4000}\n\nfunction createPokemonResource(pokemonName) {\n return createResource(() =\u003E fetchPokemon(pokemonName))\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState(null)\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n startTransition(() =\u003E {\n setPokemonResource(createPokemonResource(newPokemonName))\n })\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv style={{opacity: isPending ? 0.6 : 1}} className=\"pokemon-info\"\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"2a778f89-243b-4fbc-b8cf-9fbca9409e6f","is_binary":false,"title":"03.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"Sy3Guwm37LI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Cache resources\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F04\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nconst SUSPENSE_CONFIG = {\n timeoutMs: 4000,\n busyDelayMs: 300, \u002F\u002F this time is slightly shorter than our css transition delay\n busyMinDurationMs: 700,\n}\n\nconst pokemonResourceCache = {}\n\nfunction getPokemonResource(name) {\n const lowerName = name.toLowerCase()\n let resource = pokemonResourceCache[lowerName]\n if (!resource) {\n resource = createPokemonResource(lowerName)\n pokemonResourceCache[lowerName] = resource\n }\n return resource\n}\n\nfunction createPokemonResource(pokemonName) {\n return createResource(() =\u003E fetchPokemon(pokemonName))\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState('')\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n startTransition(() =\u003E {\n setPokemonResource(getPokemonResource(newPokemonName))\n })\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className={`pokemon-info ${isPending ? 'pokemon-loading' : ''}`}\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"d34135d0-0b10-49fa-b2f1-232b1c2a0b25","is_binary":false,"title":"04.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"Sy6zuPm278U","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Suspense Image\n\u002F\u002F 💯 avoid waterfall\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F05-extra.1\n\nimport React from 'react'\nimport fetchPokemon, {getImageUrlForPokemon} from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\n\u002F\u002F 🦉 On this one, make sure that you uncheck the \"Disable cache\" checkbox.\n\u002F\u002F We're relying on that cache for this approach to work!\n\nfunction preloadImage(src) {\n return new Promise(resolve =\u003E {\n const img = document.createElement('img')\n img.src = src\n img.onload = () =\u003E resolve(src)\n })\n}\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.data.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemonResource.image.read()} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nconst SUSPENSE_CONFIG = {\n timeoutMs: 4000,\n busyDelayMs: 300, \u002F\u002F this time is slightly shorter than our css transition delay\n busyMinDurationMs: 700,\n}\n\nconst pokemonResourceCache = {}\n\nfunction getPokemonResource(name) {\n const lowerName = name.toLowerCase()\n let resource = pokemonResourceCache[lowerName]\n if (!resource) {\n resource = createPokemonResource(lowerName)\n pokemonResourceCache[lowerName] = resource\n }\n return resource\n}\n\nfunction createPokemonResource(pokemonName) {\n const lowerName = pokemonName\n const data = createResource(() =\u003E fetchPokemon(lowerName))\n const image = createResource(() =\u003E\n preloadImage(getImageUrlForPokemon(lowerName)),\n )\n return {data, image}\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState('')\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n startTransition(() =\u003E {\n setPokemonResource(getPokemonResource(newPokemonName))\n })\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className={`pokemon-info ${isPending ? 'pokemon-loading' : ''}`}\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"770de563-70f2-4d8e-8a8f-7cec44ac81d1","is_binary":false,"title":"05-extra.1.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"rJ0zOwmnQU8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Suspense Image\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F05\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\n\u002F\u002F 🦉 On this one, make sure that you uncheck the \"Disable cache\" checkbox.\n\u002F\u002F We're relying on that cache for this approach to work!\n\nfunction preloadImage(src) {\n return new Promise(resolve =\u003E {\n const img = document.createElement('img')\n img.src = src\n img.onload = () =\u003E resolve(src)\n })\n}\n\nconst imgSrcResourceCache = {}\n\nfunction Img({src, alt, ...props}) {\n let imgSrcResource = imgSrcResourceCache[src]\n if (!imgSrcResource) {\n imgSrcResource = createResource(() =\u003E preloadImage(src))\n imgSrcResourceCache[src] = imgSrcResource\n }\n return \u003Cimg src={imgSrcResource.read()} alt={alt} {...props} \u002F\u003E\n}\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003CImg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nconst SUSPENSE_CONFIG = {\n timeoutMs: 4000,\n busyDelayMs: 300, \u002F\u002F this time is slightly shorter than our css transition delay\n busyMinDurationMs: 700,\n}\n\nconst pokemonResourceCache = {}\n\nfunction getPokemonResource(name) {\n const lowerName = name.toLowerCase()\n let resource = pokemonResourceCache[lowerName]\n if (!resource) {\n resource = createPokemonResource(lowerName)\n pokemonResourceCache[lowerName] = resource\n }\n return resource\n}\n\nfunction createPokemonResource(pokemonName) {\n return createResource(() =\u003E fetchPokemon(pokemonName))\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState('')\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n startTransition(() =\u003E {\n setPokemonResource(getPokemonResource(newPokemonName))\n })\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className={`pokemon-info ${isPending ? 'pokemon-loading' : ''}`}\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"5731dfe6-142c-4882-bed4-7de7ac3d3652","is_binary":false,"title":"05.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"B1Jm_vQ2QU8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Suspense with a custom hook\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F06\n\nimport React from 'react'\nimport fetchPokemon, {getImageUrlForPokemon} from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n preloadImage,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.data.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemonResource.image.read()} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nconst SUSPENSE_CONFIG = {\n timeoutMs: 4000,\n busyDelayMs: 300, \u002F\u002F this time is slightly shorter than our css transition delay\n busyMinDurationMs: 700,\n}\n\nconst pokemonResourceCache = {}\n\nfunction getPokemonResource(name) {\n const lowerName = name.toLowerCase()\n let resource = pokemonResourceCache[lowerName]\n if (!resource) {\n resource = createPokemonResource(lowerName)\n pokemonResourceCache[lowerName] = resource\n }\n return resource\n}\n\nfunction createPokemonResource(pokemonName) {\n const lowerName = pokemonName\n const data = createResource(() =\u003E fetchPokemon(lowerName))\n const image = createResource(() =\u003E\n preloadImage(getImageUrlForPokemon(lowerName)),\n )\n return {data, image}\n}\n\nfunction usePokemonResource(pokemonName) {\n const [pokemonResource, setPokemonResource] = React.useState(null)\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n\n React.useLayoutEffect(() =\u003E {\n if (!pokemonName) {\n return\n }\n startTransition(() =\u003E {\n setPokemonResource(getPokemonResource(pokemonName))\n })\n\n \u002F\u002F ESLint wants me to add startTransition to the dependency list. I'm\n \u002F\u002F excluding it like we are because of a known bug which will be fixed\n \u002F\u002F before the stable release of Concurrent React:\n \u002F\u002F https:\u002F\u002Fgithub.com\u002Ffacebook\u002Freact\u002Fissues\u002F17273\n \u002F\u002F eslint-disable-next-line react-hooks\u002Fexhaustive-deps\n }, [pokemonName])\n\n return [pokemonResource, isPending]\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState('')\n\n const [pokemonResource, isPending] = usePokemonResource(pokemonName)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className={`pokemon-info ${isPending ? 'pokemon-loading' : ''}`}\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"a11f0ff1-0b6b-4bab-8da9-4cd0fa2a9575","is_binary":false,"title":"06.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"rkxmOwQhQLU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Coordinate Suspending components with SuspenseList\n\u002F\u002F 💯 preload modules\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F07-extra.1\n\nimport React from 'react'\nimport '..\u002Fsuspense-list\u002Fstyle-overrides.css'\nimport * as cn from '..\u002Fsuspense-list\u002Fapp.module.css'\nimport Spinner from '..\u002Fsuspense-list\u002Fspinner'\nimport {createResource, ErrorBoundary, PokemonForm} from '..\u002Futils'\nimport {fetchUser} from '..\u002Ffetch-pokemon'\n\n\u002F\u002F 💰 this delay function just allows us to make a promise take longer to resolve\n\u002F\u002F so we can easily play around with the loading time of our code.\nconst delay = time =\u003E promiseResult =\u003E\n new Promise(resolve =\u003E setTimeout(() =\u003E resolve(promiseResult), time))\n\nfunction preloadableLazy(dynamicImport) {\n let promise\n function load() {\n if (!promise) {\n promise = dynamicImport()\n }\n return promise\n }\n const Comp = React.lazy(load)\n Comp.preload = load\n return Comp\n}\n\nconst NavBar = preloadableLazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fnav-bar').then(delay(500)),\n)\nconst LeftNav = preloadableLazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fleft-nav').then(delay(2000)),\n)\nconst MainContent = preloadableLazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fmain-content').then(delay(1500)),\n)\nconst RightNav = preloadableLazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fright-nav').then(delay(1000)),\n)\n\nconst fallback = (\n \u003Cdiv className={cn.spinnerContainer}\u003E\n \u003CSpinner \u002F\u003E\n \u003C\u002Fdiv\u003E\n)\n\nconst SUSPENSE_CONFIG = {timeoutMs: 4000}\n\nfunction App() {\n const [startTransition] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(pokemonName) {\n startTransition(() =\u003E {\n setPokemonResource(createResource(() =\u003E fetchUser(pokemonName)))\n NavBar.preload()\n LeftNav.preload()\n MainContent.preload()\n RightNav.preload()\n })\n }\n\n if (!pokemonResource) {\n return (\n \u003Cdiv className={`${cn.root} totally-centered`} style={{height: '100vh'}}\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n }\n\n return (\n \u003Cdiv className={cn.root}\u003E\n \u003CErrorBoundary\u003E\n \u003CReact.SuspenseList revealOrder=\"forwards\" tail=\"collapsed\"\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CNavBar pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003Cdiv className={cn.mainContentArea}\u003E\n \u003CReact.SuspenseList revealOrder=\"forwards\"\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CLeftNav \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003CReact.SuspenseList revealOrder=\"together\"\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CMainContent pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CRightNav pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FReact.SuspenseList\u003E\n \u003C\u002FReact.SuspenseList\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002FReact.SuspenseList\u003E\n \u003C\u002FErrorBoundary\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"8a8389da-dcb6-4581-a558-f1fc93af2552","is_binary":false,"title":"07-extra.1.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"S1bm_PX3mUL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Coordinate Suspending components with SuspenseList\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises-final\u002F07\n\nimport React from 'react'\nimport '..\u002Fsuspense-list\u002Fstyle-overrides.css'\nimport * as cn from '..\u002Fsuspense-list\u002Fapp.module.css'\nimport Spinner from '..\u002Fsuspense-list\u002Fspinner'\nimport {createResource, ErrorBoundary, PokemonForm} from '..\u002Futils'\nimport {fetchUser} from '..\u002Ffetch-pokemon'\n\nconst delay = time =\u003E promiseResult =\u003E\n new Promise(resolve =\u003E setTimeout(() =\u003E resolve(promiseResult), time))\n\nconst NavBar = React.lazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fnav-bar').then(delay(500)),\n)\nconst LeftNav = React.lazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fleft-nav').then(delay(2000)),\n)\nconst MainContent = React.lazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fmain-content').then(delay(1500)),\n)\nconst RightNav = React.lazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fright-nav').then(delay(1000)),\n)\n\nconst fallback = (\n \u003Cdiv className={cn.spinnerContainer}\u003E\n \u003CSpinner \u002F\u003E\n \u003C\u002Fdiv\u003E\n)\n\nconst SUSPENSE_CONFIG = {timeoutMs: 4000}\n\nfunction App() {\n const [startTransition] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(pokemonName) {\n startTransition(() =\u003E {\n setPokemonResource(createResource(() =\u003E fetchUser(pokemonName)))\n })\n }\n\n if (!pokemonResource) {\n return (\n \u003Cdiv className={`${cn.root} totally-centered`} style={{height: '100vh'}}\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n }\n\n return (\n \u003Cdiv className={cn.root}\u003E\n \u003CErrorBoundary\u003E\n \u003CReact.SuspenseList revealOrder=\"forwards\" tail=\"collapsed\"\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CNavBar pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003Cdiv className={cn.mainContentArea}\u003E\n \u003CReact.SuspenseList revealOrder=\"forwards\"\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CLeftNav \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003CReact.SuspenseList revealOrder=\"together\"\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CMainContent pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CRightNav pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FReact.SuspenseList\u003E\n \u003C\u002FReact.SuspenseList\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002FReact.SuspenseList\u003E\n \u003C\u002FErrorBoundary\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default App\n","id":"33ebb142-8353-426b-8816-820393411567","is_binary":false,"title":"07.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"r1G7OwXhQIU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SJY_vXn7L8"},{"code":"\u002F\u002F Simple Data-fetching\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises\u002F01\n\nimport React from 'react'\nimport {PokemonDataView} from '..\u002Futils'\n\u002F\u002F 🐨 you'll need to import the fetchPokemon function\n\u002F\u002F 💰 here you go:\n\u002F\u002F import fetchPokemon from '..\u002Ffetch-pokemon'\n\u002F\u002F 💰 use it like this: fetchPokemon(pokemonName).then(handleSuccess, handleFailure)\n\n\u002F\u002F you'll also need the ErrorBoundary component from utils\n\u002F\u002F 💰 here you go:\n\u002F\u002F import {ErrorBoundary} from '..\u002Futils'\n\u002F\u002F 💰 use it like this: \u003CErrorBoundary\u003E\u003CSomeOtherComponents \u002F\u003E\u003C\u002FErrorBoundary\u003E\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\n\u002F\u002F 🐨 create the following mutable variable references (using let):\n\u002F\u002F pokemon, pokemonError, pokemonPromise\n\n\u002F\u002F 💣 delete this now...\nconst pokemon = {\n name: 'TODO',\n number: 'TODO',\n attacks: {\n special: [{name: 'TODO', type: 'TODO', damage: 'TODO'}],\n },\n fetchedAt: 'TODO',\n}\n\n\u002F\u002F We don't need the app to be mounted to know that we want to fetch the pokemon\n\u002F\u002F named \"pikachu\" so we can go ahead and do that right here.\n\u002F\u002F 🐨 assign the pokemonPromise variable to a call to fetchPokemon('pikachu')\n\n\u002F\u002F 🐨 when the promise resolves, set the pokemon variable to the resolved value\n\u002F\u002F 🐨 if the promise fails, set the pokemonError variable to the error\n\nfunction PokemonInfo() {\n \u002F\u002F 🐨 if pokemonError is defined, then throw it here\n \u002F\u002F 🐨 if there's no pokemon yet, then throw the pokemonPromise\n \u002F\u002F 💰 (no, for real. Like: `throw pokemonPromise`)\n\n \u002F\u002F if the code gets it this far, then the pokemon variable is defined and\n \u002F\u002F rendering can continue!\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction App() {\n return (\n \u003Cdiv className=\"pokemon-info\"\u003E\n {\u002F*\n 🐨 Wrap the PokemonInfo component with a React.Suspense component with a fallback\n 🐨 Then wrap all that with an \u003CErrorBoundary \u002F\u003E to catch errors\n 💰 I wrote the ErrorBoundary for you. You can take a look at it in the utils file if you want\n *\u002F}\n \u003CPokemonInfo \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\n\u002F*\n🦉 Elaboration & Feedback\nAfter the instruction, copy the URL below into your browser and fill out the form:\nhttp:\u002F\u002Fws.kcd.im\u002F?ws=Concurrent%20React&e=Simple%20Data-fetching&em=\n*\u002F\n\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F Don't make changes below here. \u002F\u002F\n\u002F\u002F But do look at it to see how your code is intended to be used. \u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\nexport default App\n","id":"0ef05e86-0257-408b-bfcf-1197d51e81bc","is_binary":false,"title":"01.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"S17mOwm2mLU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"# Simple Data-fetching\n\n\u003E 🦉 Make sure Kent shows you how to enable Concurrent Mode. It's pretty simple,\n\u003E so there's no exercise, but don't let him forget to show you! Oh, and he wrote\n\u003E a blog post about it too:\n\u003E https:\u002F\u002Fkentcdodds.com\u002Fblog\u002Fhow-to-enable-react-concurrent-mode\n\n## Background\n\nWe're going to start off as simple as possible, but it's still going to feel a\nlittle different from anything you've probably done with async data loading\nbefore, so buckle up.\n\nFirst, there's the Suspense API. Here's the basic idea:\n\n```javascript\nfunction Component() {\n if (data) {\n return \u003Cdiv\u003E{data.message}\u003C\u002Fdiv\u003E\n }\n throw promise\n \u002F\u002F React with catch this, find the closest \"Suspense\" component\n \u002F\u002F and \"suspend\" everything from there down from rendering until the\n \u002F\u002F promise resolves.\n \u002F\u002F 🚨 THIS \"API\" IS LIKELY TO CHANGE\n}\n\nReactDOM.createRoot(rootEl).render(\n \u003CReact.Suspense fallback={\u003Cdiv\u003Eloading...\u003C\u002Fdiv\u003E}\u003E\n \u003CComponent \u002F\u003E\n \u003C\u002FReact.Suspense\u003E,\n)\n```\n\nThat's the idea. Where the `data` and `promise` values are coming from all\ndepends on how you implement things, and that's what we're going to do in this\nexercise.\n\nImagine when your app loads, you need some data before you can show anything\nuseful. Typically we want to put the data loading requirements right in the\ncomponent that requires the data, via something like this:\n\n```javascript\nReact.useEffect(() =\u003E {\n let current = true\n setState({status: 'pending'})\n doAsyncThing().then(\n p =\u003E {\n if (current) setState({pokemon: p, status: 'success'})\n },\n e =\u003E {\n if (current) setState({error: e, status: 'error'})\n },\n )\n return () =\u003E (current = false)\n}, [pokemonName])\n\n\u002F\u002F render stuff based on the state\n```\n\nHowever, for \"bootstrap\" type data, we can start that request before we even\nrender the app. The best approaches to using Suspense involve kicking off the\nrequest for the data as soon as you have the information you need for the\nrequest. This is called the \"Render as you fetch\" approach. We'll get into that\na little bit more in future exercises, but keep that in mind.\n\n📜 Here are some docs for you if you need them:\n\n- [`\u003CReact.Suspense \u002F\u003E`](https:\u002F\u002Freactjs.org\u002Fdocs\u002Fconcurrent-mode-reference.html#suspense)\n\n### Promises\n\nThrough all of this you should have a firm understanding of promises. Here's a\nquick example though:\n\n```javascript\nconst handleSuccess = result =\u003E console.log(result)\nconst handleFailure = error =\u003E console.error(error)\n\nconst myPromise = someAsyncFunction().then(handleSuccess, handleFailure)\n```\n\n## Exercise\n\nIn this exercise, we have a page that's specifically for the pokemon named\nPikachu and we want to load Pikachu's data as soon as the app starts. You're\ngoing to use an `ErrorBoundary` that I've built for you (as relevant as they are\nto this topic, the concept of `Error Boundaries` long pre-dates Suspense, so we\nwon't be getting into it for this workshop). You'll also be using the\n`React.Suspense` API.\n\n## Extra Credit\n\n### 💯 add error handling with an Error Boundary\n\nWhat happens if you mistype `pikachu` and instead try to request `pikacha`? This\nwill result in an error and we need to handle this.\n\nIn React, the way we handle component errors is with an `ErrorBoundary`.\n\n\u003E 📜 Read up on\n\u003E [Error Boundaries](https:\u002F\u002Freactjs.org\u002Fdocs\u002Ferror-boundaries.html) if you\n\u003E haven't used them much before.\n\nWe've got an `ErrorBoundary` component all built-out for you and you can import\nit from the `utils` file (It's where we're getting the `PokemonDataView`\ncomponent right now).\n\nSo you'll wrap your component in an ErrorBoundary for handling that error. But\nthen you need to turn your promise's error into an error the ErrorBoundary can\nhandle.\n\nFor this extra credit, think of the error as similar to the pokemon data. You'll\nneed a handler to get access to the error object, and then instead of _using_ it\nin your JSX, you can simply _throw_ it in your render method:\n\n```javascript\nfunction Example() {\n if (error) {\n throw error\n }\n \u002F\u002F ... etc\n}\n```\n\nGive that a try!\n\n### 💯 make more generic createResource\n\nThis is also a JavaScript refactor, but in this case we want to make a generic\n\"resource factory\" which has the following API:\n\n```javascript\nconst resource = createResource(() =\u003E someAsyncThing())\n\nfunction MyComponent() {\n const myData = resource.read()\n \u002F\u002F render myData stuff\n}\n```\n\nTry to refactor your code a bit to have a resource factory we can use for all\nour async needs.\n\n### 💯 Use utils\n\nThere are a bunch of utilities in the `src\u002Futils.js` file that we'll be using a\nbunch during this workshop. Refactor your code to use those so you're familiar\nwith them. Two you can use for this one are: `PokemonInfoFallback` and\n`createResource`!\n","id":"8a393a2b-a8d3-4e58-aa92-3581ddb96280","is_binary":false,"title":"01.md","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"ByN7_DQ2mLL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"\u002F\u002F Render as you fetch\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises\u002F02\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n \u002F\u002F ErrorBoundary,\n \u002F\u002F createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\n\u002F\u002F 🐨 Your goal is to refactor this traditional useEffect-style async\n\u002F\u002F interaction to suspense with resources. Enjoy!\n\nfunction PokemonInfo({pokemonName}) {\n \u002F\u002F 💣 you're pretty much going to delete all this stuff except for the one\n \u002F\u002F place where 🐨 appears\n const [state, setState] = React.useReducer((s, a) =\u003E ({...s, ...a}), {\n pokemon: null,\n error: null,\n status: 'pending',\n })\n\n const {pokemon, error, status} = state\n\n React.useEffect(() =\u003E {\n let current = true\n setState({status: 'pending'})\n fetchPokemon(pokemonName).then(\n p =\u003E {\n if (current) setState({pokemon: p, status: 'success'})\n },\n e =\u003E {\n if (current) setState({error: e, status: 'error'})\n },\n )\n return () =\u003E (current = false)\n }, [pokemonName])\n\n \u002F\u002F 💰 This will be the fallback prop of \u003CReact.Suspense \u002F\u003E\n if (status === 'pending') {\n return \u003CPokemonInfoFallback name={pokemonName} \u002F\u003E\n }\n\n \u002F\u002F 💰 This is the same thing the ErrorBoundary renders\n if (status === 'error') {\n return (\n \u003Cdiv\u003E\n There was an error.\n \u003Cpre style={{whiteSpace: 'normal'}}\u003E{error.message}\u003C\u002Fpre\u003E\n \u003C\u002Fdiv\u003E\n )\n }\n\n \u002F\u002F 💰 this is the part that will suspend\n if (status === 'success') {\n \u002F\u002F 🐨 instead of accpeting the pokemonName as a prop to this component\n \u002F\u002F you'll accept a pokemonResource.\n \u002F\u002F 💰 you'll get the pokemon from: pokemonResource.read()\n \u002F\u002F 🐨 This will be the return value of this component. You wont need it\n \u002F\u002F to be in this if statement anymore thought!\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n }\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState(null)\n \u002F\u002F 🐨 add a useState here to keep track of the current pokemonResource\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n \u002F\u002F 🐨 set the pokemon resource right here\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className=\"pokemon-info\"\u003E\n {pokemonName ? ( \u002F\u002F 🐨 instead of pokemonName, use pokemonResource here\n \u002F\u002F 🐨 wrap PokemonInfo in an ErrorBoundary and React.Suspense component\n \u002F\u002F to manage the error and loading states that PokemonInfo was managing\n \u002F\u002F before your changes.\n \u003CPokemonInfo pokemonName={pokemonName} \u002F\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\n\u002F*\n🦉 Elaboration & Feedback\nAfter the instruction, copy the URL below into your browser and fill out the form:\nhttp:\u002F\u002Fws.kcd.im\u002F?ws=Concurrent%20React&e=Refactor%20from%20useEffect&em=\n*\u002F\n\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F Don't make changes below here. \u002F\u002F\n\u002F\u002F But do look at it to see how your code is intended to be used. \u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\nexport default App\n","id":"418cc5d1-c79d-4141-9a55-c213dc5f67ce","is_binary":false,"title":"02.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"rJHQuwX3QI8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"# Render as you fetch\n\n## Background\n\nThis one's a bit of a mind bender, but here's the ultimate goal we're looking\nfor: https:\u002F\u002Ftwitter.com\u002Fkentcdodds\u002Fstatus\u002F1191922859762843649\n\nWe wont get the whole way there in this exercise, but we'll get a bunch of the\nway there. Then in exercise 04 we can finish it up. So fast ⚡\n\nThe idea here is that: get the data as soon as you have the information you need\nfor the data. This sounds obvious, but if you think about it, how often do you\nhave a component that requests data once it's been mounted. There's a few\nmilliseconds between the time you click \"go\" and the time that component is\nmounted... Unless that component's code is lazy-loaded. In which case, there's a\nlot more time involved and your users are hanging around waiting while they\ncould be making requests for the data they need.\n\nThat's the entire idea behind \"Render as you fetch.\"\n\nThe information often involves a user's\n\n## Exercise\n\nIn this one, we now have a form that allows us to choose a pokemon by any name.\nAs soon as the user hits \"submit\", we pass the `pokemonName` to our\n`PokemonInfo` component which makes the request to get the pokemon data (using\n`useEffect`).\n\nFor the exercise, you need to refactor this from `useEffect` to Suspense. You'll\nneed to add the `ErrorBoundary` and `Suspense` components to the `PokemonInfo`\ncomponent, and you'll pass the pokemon resource to `PokemonInfoView` which will\ncall `.read()` on the resource. The initial `.read()` call will trigger the\ncomponent to suspend and display the fallback state. When the promise resolves,\nReact will re-render our components and we'll be able to display the pokemon.\n\n\u003E The real important parts of the render-as-you-fetch approach comes in the\n\u003E extra credit, but changing things to this will help a lot to get us going.\n\n## Extra Credit\n\nSo far, we've benefitted from an API standpoint. I think the Suspense solution\nis simpler than the `useEffect` version. However, we've not gotten the \"Render\nas you fetch\" benefit when it comes to asynchronously loading the code we need.\n\nThese extra credit allow you to compare the two approaches.\n\n🦉 For both of these, we're calling `window.fetch.restoreOriginalFetch()` at the\ntop of our file so our fetch requests actually hit the network so we can see\nthem in the network tab.\n\n### 💯 Suspense and Error Boundary positioning\n\nYou don't have to wrap the suspending component in a suspense and error boundary\ndirectly. There can be many layers of nesting and it'll still work. But there's\nsome semantically important differences that I want you to learn about so go\nahead and try to play around with wrapping more of your elements in these\nboundaries and see what changes with the user experience.\n","id":"d90b787e-3013-400d-82c3-d02cfe940709","is_binary":false,"title":"02.md","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"r1LXODm3Q8I","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"\u002F\u002F useTransition for improved loading states\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises\u002F03\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\n\u002F\u002F try a few of these fetch times:\n\u002F\u002F shows busy indicator\n\u002F\u002F window.FETCH_TIME = 450\n\n\u002F\u002F shows busy indicator, then suspense fallback\n\u002F\u002F window.FETCH_TIME = 5000\n\n\u002F\u002F shows busy indicator for a split second\n\u002F\u002F 💯 this is what the extra credit improves\n\u002F\u002F window.FETCH_TIME = 200\n\n\u002F\u002F 🐨 create a SUSPENSE_CONFIG variable right here and configure timeoutMs to\n\u002F\u002F whatever feels right to you, then try it out and tweek it until you're happy\n\u002F\u002F with the experience.\n\nfunction createPokemonResource(pokemonName) {\n return createResource(() =\u003E fetchPokemon(pokemonName))\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState(null)\n \u002F\u002F 🐨 add a useTransition hook here\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n \u002F\u002F 🐨 wrap this next line in a startTransition call\n setPokemonResource(createPokemonResource(newPokemonName))\n \u002F\u002F 🦉 what do you think would happen if you put the setPokemonName above\n \u002F\u002F into the `startTransition` call? Go ahead and give that a try!\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n {\u002F*\n 🐨 add inline styles here to set the opacity to 0.6 if the\n useTransition above is pending\n *\u002F}\n \u003Cdiv className=\"pokemon-info\"\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\n\u002F*\n🦉 Elaboration & Feedback\nAfter the instruction, copy the URL below into your browser and fill out the form:\nhttp:\u002F\u002Fws.kcd.im\u002F?ws=Concurrent%20React&e=useTransition%20for%20improved%20loading%20states&em=\n*\u002F\n\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F Don't make changes below here. \u002F\u002F\n\u002F\u002F But do look at it to see how your code is intended to be used. \u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\nexport default App\n","id":"867625b6-c44c-4192-8808-df566d60c560","is_binary":false,"title":"03.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"B1PmOD737I8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"# useTransition for improved loading states\n\n## Background\n\nWhen a component suspends, it's literally telling React: \"Don't render any\nupdates at all from the suspense component on down until I'm ready to roll.\"\nNow, eventually React will give up on the suspending component and render your\nfallback instead. But there's that brief amount of time that your app will\nappear to be unresponsive to the user and it'd be great if we could avoid that.\n\nAlso, you're probably seeing an error in your console right about now and it'd\nbe cool to make that go away 😉\n\nThe API for this is a hook called `useTransition`. Here's what that looks like:\n\n```javascript\nconst SUSPENSE_CONFIG = {timeoutMs: 4000}\n\nfunction Component() {\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n \u002F\u002F etc...\n\n function handleClick() {\n \u002F\u002F do something that triggers some interum state change we want to\n \u002F\u002F happen before suspending starts\n startTransition(() =\u003E {\n \u002F\u002F do something that triggers a suspending component to render\n })\n }\n\n \u002F\u002F if needed, you can use the `isPending` boolean to display a loading spinner\n \u002F\u002F or similar\n}\n```\n\n## Exercise\n\nIn this exercise, we'll wrap the existing call to set the resource in a\ntransition so the input value gets updated when you select a pokemon. We'll also\nmake the pokemon information area \"appear stale\" by making it slightly\ntransparent if `isPending` is true.\n\nThis is a good one to play around with setting `window.FETCH_TIME` a bit.\n\n## Extra Credit\n\n### 💯 use css transitions\n\nIf the user has a really fast connection, then they'll see a \"flash of loading\ncontent\" which isn't a great experience. To combat this, I've written a css rule\nthat has a transition delay for the opacity to not become transparent for 300\nmilliseconds. That way if the user's on a fast connection, they wont see the\nloading state.\n\nInstead of using inline styles, dynamically apply the class name\n`pokemon-loading` if `isPending` is true to take advantage of this. The styles\nare in `src\u002Fstyles.css` if you want to take a look.\n\n### 💯 avoid flash of loading content\n\n**EXPERIMENTAL AND AWKWARD API AHEAD**\n\nOur previous improvement is great. We're not showing the loading state for 300ms\nso we're pretty good. But what if the request takes 350ms? Then we're right back\nwhere we started! The user will see a flash of loading state for 50ms.\n\nWhat we really need is a way to say: \"Hey React, if this transition takes 300ms,\nthen I want you to keep the transition state around for at least 500ms total no\nmatter what.\"\n\nNow, this API is a little strange, it's not documented (so it's pretty likely to\nchange). In my testing of it, it was kind of inconsistent, so I think it may be\nbuggy. But to make this happen, you can add the following properties to your\n`SUSPENSE_CONFIG`:\n\n- `busyDelayMs`: Set this to the time of our CSS transition. This is the part\n that says \"if the transition takes X amount of time\"\n- `busyMinDurationMs`: Set this to the total time you want the transition state\n to persist if we surpass the `busyDelayMs` time.\n","id":"313b38bf-21a1-4460-8250-ce3cf186f709","is_binary":false,"title":"03.md","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"HJuQdvQ2QLI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"\u002F\u002F Cache resources\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises\u002F04\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nconst SUSPENSE_CONFIG = {\n timeoutMs: 4000,\n busyDelayMs: 300, \u002F\u002F this time is slightly shorter than our css transition delay\n busyMinDurationMs: 700,\n}\n\n\u002F\u002F 🐨 create a pokemonResourceCache object\n\n\u002F\u002F 🐨 create a getPokemonResource function which accepts a name checks the cache\n\u002F\u002F for an existing resource. If there is none, then it creates a resource\n\u002F\u002F and inserts it into the cache. Finally the function should return the\n\u002F\u002F resource.\n\nfunction createPokemonResource(pokemonName) {\n return createResource(() =\u003E fetchPokemon(pokemonName))\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState('')\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n startTransition(() =\u003E {\n \u002F\u002F 🐨 change this to getPokemonResource instead\n setPokemonResource(createPokemonResource(newPokemonName))\n })\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className={`pokemon-info ${isPending ? 'pokemon-loading' : ''}`}\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\n\u002F*\n🦉 Elaboration & Feedback\nAfter the instruction, copy the URL below into your browser and fill out the form:\nhttp:\u002F\u002Fws.kcd.im\u002F?ws=Concurrent%20React&e=Cache%20resources&em=\n*\u002F\n\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F Don't make changes below here. \u002F\u002F\n\u002F\u002F But do look at it to see how your code is intended to be used. \u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\nexport default App\n","id":"ce51b9c4-688d-4ebf-a3b7-b4eecadf2501","is_binary":false,"title":"04.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"ryKX_DmhmLU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"# Cache resources\n\n## Background\n\nState that comes from the server is basically a cache of state. It's not UI\nstate. How long that cache sticks around is totally up to you. Right now, our\ncache only hangs around until we select a new resource, but we could persist it\nin memory somewhere and retrieve it later if needed.\n\nRemember that caches are among the hardest problems in computer science. If\nyou're not careful, you can run into stale data bugs and memory leaks. But let's\nexperiment with it here and see if we can improve the user experience.\n\n### Promises in render\n\n💰 here's a quick tip. Creating a new promise in the render method is dangerous\nbecause you cannot rely on your render method only being called once, so you\nhave to do things carefully by using a promise cache. Here's an example of what\nI mean:\n\n```javascript\nconst promiseCache = {}\nfunction MySuspendingComponent({value}) {\n let resource = promiseCache[value]\n if (!resource) {\n resource = doAsyncThing(value)\n promiseCache[value] = resource \u002F\u002F \u003C-- this is very important\n }\n return \u003Cdiv\u003E{resource.read()}\u003C\u002Fdiv\u003E\n}\n```\n\nYou'll be doing something similar for this exercise.\n\n## Exercise\n\nIf you select a pokemon, then choose another, and then go back to the pokemon\nyou selected the first time, you'll notice that you're loading that first\npokemon twice, even though the data hasn't changed. That data is unlikely to\never change, so we could improve the user experience considerably by caching the\ndata so it's available for the next time the user wants to look at that pokemon.\n\nIn this exercise, our cache will function very similar to the image cache we had\nin the last exercise. The cache key will be the pokemon name, and the cache\nvalue will be the resource object.\n","id":"5f427ca4-9b7c-42f0-9ab5-2328085ee70d","is_binary":false,"title":"04.md","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"B1qmuwm2QL8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"\u002F\u002F Suspense Image\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises\u002F05\n\nimport React from 'react'\nimport fetchPokemon from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\n\u002F\u002F 🦉 On this one, make sure that you uncheck the \"Disable cache\" checkbox.\n\u002F\u002F We're relying on that cache for this approach to work!\n\n\u002F\u002F we need to make a place to store the resources outside of render so\n\u002F\u002F 🐨 create \"cache\" object here.\n\n\u002F\u002F 🐨 create an Img component that renders a regular \u003Cimg \u002F\u003E and accepts a src\n\u002F\u002F prop and forwards on any remaining props.\n\u002F\u002F 🐨 The first thing you do in this component is check wither your\n\u002F\u002F imgSrcResourceCache already has a resource for the given src prop. If it does\n\u002F\u002F not, then you need to create one (💰 using createResource).\n\u002F\u002F 🐨 Once you have the resource, then render the \u003Cimg \u002F\u003E.\n\u002F\u002F 💰 Here's what rendering the \u003Cimg \u002F\u003E should look like:\n\u002F\u002F \u003Cimg src={imgSrcResource.read()} {...props} \u002F\u003E\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n {\u002F* 🐨 swap this img for your new Img component *\u002F}\n \u003Cimg src={pokemon.image} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nconst SUSPENSE_CONFIG = {\n timeoutMs: 4000,\n busyDelayMs: 300, \u002F\u002F this time is slightly shorter than our css transition delay\n busyMinDurationMs: 700,\n}\n\nconst pokemonResourceCache = {}\n\nfunction getPokemonResource(name) {\n const lowerName = name.toLowerCase()\n let resource = pokemonResourceCache[lowerName]\n if (!resource) {\n resource = createPokemonResource(lowerName)\n pokemonResourceCache[lowerName] = resource\n }\n return resource\n}\n\nfunction createPokemonResource(pokemonName) {\n return createResource(() =\u003E fetchPokemon(pokemonName))\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState('')\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n startTransition(() =\u003E {\n setPokemonResource(getPokemonResource(newPokemonName))\n })\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className={`pokemon-info ${isPending ? 'pokemon-loading' : ''}`}\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\n\u002F*\n🦉 Elaboration & Feedback\nAfter the instruction, copy the URL below into your browser and fill out the form:\nhttp:\u002F\u002Fws.kcd.im\u002F?ws=Concurrent%20React&e=Suspense%20Image&em=\n*\u002F\n\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F Don't make changes below here. \u002F\u002F\n\u002F\u002F But do look at it to see how your code is intended to be used. \u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\nexport default App\n","id":"d8bbdf55-0578-4682-a928-b7aa69d65a13","is_binary":false,"title":"05.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"rkiQdP727U8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"# Suspense Image\n\n## Background\n\nLoading images is tricky business because you're handing the asynchronous state\nover to the browser. It manages the loading, error, and success states for you.\nBut what if you have an experience that doesn't look any good until the image is\nactually loaded? Or what if you want to render a fallback in the image's place\nwhile it's loading (you want to provide your own loading UI)? In that case,\nyou're kinda out of luck, because the browser gives us no such API.\n\nSuspense can help us with this too! Luckily for us, we can pre-load images into\nthe browser's cache using the following code:\n\n```javascript\nfunction preloadImage(src) {\n return new Promise(resolve =\u003E {\n const img = document.createElement('img')\n img.src = src\n img.onload = () =\u003E resolve(src)\n })\n}\n```\n\nThat function will resolve to the source you gave it as soon as the image has\nloaded. Once that promise resolves, you know that the browser has it in it's\ncache and any `\u003Cimg \u002F\u003E` elements you render with the `src` set to that `src`\nvalue will get instantly rendered with the image straight from the browser\ncache.\n\n## Exercise\n\nIf you turn up the throttle on your network tab (to \"Slow 3G\" for example) and\nselect pokemon, you may notice that images take a moment to load in.\n\nFor the first one, there's nothing there and then it bumps the content down when\nit loads. This can be \"fixed\" by setting a fixed height for the images. But\nlet's assume that you can't be sure what that height is.\n\nIf you select another pokemon, then that pokemon's data pops in, but the old\npokemon's image remains in place until the new one's image finishes loading.\n\nWith suspense, we have an opportunity to make this experience a lot better. We\nhave two related options:\n\n1. Make an `Img` component that suspends until the browser has actually loaded\n the image.\n2. Make a request for the image alongside the pokemon data.\n\nOption 1 means that nothing will render until both the data and the image are\nready.\n\nOption 2 is even better because it loads the data and image at the same time. It\nworks because all the images are available via the same information we use to\nget the pokemon data.\n\nWe're going to do both of these approaches for this exercise (option 2 is extra\ncredit).\n\n## Extra Credit\n\n### 💯 avoid waterfall\n\nIf you open up the network tab, you'll notice that you have to load the data\nbefore you can load the image because the data is where we get the image URL.\nYou may also notice that the image URL is always very predictable. In fact, I\neven wrote a function for you to get the image URL based on the pokemon name!\nIt's exported by `src\u002Ffetch-pokemon.js` and is called `getImageUrlForPokemon`.\n\n```javascript\nconst imageUrl = getImageUrlForPokemon('pikachu')\n```\n\nTry to pre-load this at the same time as the rest of your data. This one will be\na bit trickier. I'll give you a hint. There are several ways you could do this,\nbut in my solution, I end up changing the `PokemonInfo` component to this:\n\n```javascript\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.data.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemonResource.image.read()} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n```\n\n### 💯 Render as you Fetch\n\nRemember when we did this with 02? Now that we're pre-loading the image along\nwith the data, the improvements will be even more pronounced. Go ahead and put\nthis at the top of your file:\n\n```javascript\nimport createPokemonInfoResource from '..\u002Flazy\u002Fpokemon-info-render-as-you-fetch-04.data'\n\nconst PokemonInfo = React.lazy(() =\u003E\n import('..\u002Flazy\u002Fpokemon-info-render-as-you-fetch-04'),\n)\n```\n\nAnd make that work. Then checkout the network tab and see how your waterfall has\nturned into a... stone wall? Yeah!\n\nAgain this is a good one to have `window.fetch.restoreOriginalFetch()` called so\nyou can see a real network request for the data. You will notice that we're\nmaking two requests to the pokemon endpoint. The first is an OPTIONS request.\nThat's basically a request the browser makes to ask the server if it will accept\nour request across domains. It's kind of annoying because it makes our network\nrequests take longer, but it is what it is.\n","id":"ae07f492-febf-4c92-9f59-61833e0bd328","is_binary":false,"title":"05.md","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"BJ27OPm3QL8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"\u002F\u002F Suspense with a custom hook\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises\u002F06\n\nimport React from 'react'\nimport fetchPokemon, {getImageUrlForPokemon} from '..\u002Ffetch-pokemon'\nimport {\n ErrorBoundary,\n createResource,\n preloadImage,\n PokemonInfoFallback,\n PokemonForm,\n PokemonDataView,\n} from '..\u002Futils'\n\n\u002F\u002F By default, all fetches are mocked so we can control the time easily.\n\u002F\u002F You can adjust the fetch time with this:\n\u002F\u002F window.FETCH_TIME = 3000\n\u002F\u002F If you want to make an actual network call for the pokemon\n\u002F\u002F then uncomment the following line\n\u002F\u002F window.fetch.restoreOriginalFetch()\n\u002F\u002F Note that by doing this, the FETCH_TIME will no longer be considered\n\u002F\u002F and if you want to slow things down you should use the Network tab\n\u002F\u002F in your developer tools to throttle your network to something like \"Slow 3G\"\n\nfunction PokemonInfo({pokemonResource}) {\n const pokemon = pokemonResource.data.read()\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={pokemonResource.image.read()} alt={pokemon.name} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={pokemon} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nconst SUSPENSE_CONFIG = {\n timeoutMs: 4000,\n busyDelayMs: 300, \u002F\u002F this time is slightly shorter than our css transition delay\n busyMinDurationMs: 700,\n}\n\nconst pokemonResourceCache = {}\n\nfunction getPokemonResource(name) {\n const lowerName = name.toLowerCase()\n let resource = pokemonResourceCache[lowerName]\n if (!resource) {\n resource = createPokemonResource(lowerName)\n pokemonResourceCache[lowerName] = resource\n }\n return resource\n}\n\nfunction createPokemonResource(pokemonName) {\n const lowerName = pokemonName\n const data = createResource(() =\u003E fetchPokemon(lowerName))\n const image = createResource(() =\u003E\n preloadImage(getImageUrlForPokemon(lowerName)),\n )\n return {data, image}\n}\n\nfunction App() {\n const [pokemonName, setPokemonName] = React.useState('')\n \u002F\u002F 🐨 move these two lines to a custom hook called usePokemonResource\n\n \u002F\u002F 🐨 call usePokemonResource with the pokemonName.\n \u002F\u002F It should return both the pokemonResource and isPending\n const [startTransition, isPending] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(newPokemonName) {\n setPokemonName(newPokemonName)\n \u002F\u002F 🐨 move this startTransition call to a useLayoutEffect inside your\n \u002F\u002F custom usePokemonResource hook (it should list pokemonName as a\n \u002F\u002F dependency).\n startTransition(() =\u003E {\n setPokemonResource(getPokemonResource(newPokemonName))\n })\n \u002F\u002F 💰 tip: in your effect callback, if pokemonName is an empty string,\n \u002F\u002F return early.\n }\n\n return (\n \u003Cdiv\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003Chr \u002F\u003E\n \u003Cdiv className={`pokemon-info ${isPending ? 'pokemon-loading' : ''}`}\u003E\n {pokemonResource ? (\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense\n fallback={\u003CPokemonInfoFallback name={pokemonName} \u002F\u003E}\n \u003E\n \u003CPokemonInfo pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002FErrorBoundary\u003E\n ) : (\n 'Submit a pokemon'\n )}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\n\u002F*\n🦉 Elaboration & Feedback\nAfter the instruction, copy the URL below into your browser and fill out the form:\nhttp:\u002F\u002Fws.kcd.im\u002F?ws=Concurrent%20React&e=Suspense%20with%20a%20custom%20hook&em=\n*\u002F\n\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F Don't make changes below here. \u002F\u002F\n\u002F\u002F But do look at it to see how your code is intended to be used. \u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\nexport default App\n","id":"6905982a-fd13-47b5-9734-604e2fa45e6c","is_binary":false,"title":"06.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"H16XuPXhX88","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"# Suspense with a custom hook\n\n## Background\n\nReact Hooks are amazing. Combine them with React Suspense, and you get some\nreally awesome APIs.\n\n## Exercise\n\nIn this exercise, you're going to create a `usePokemonResource` with the\nfollowing API:\n\n```javascript\nconst [pokemonResource, isPending] = usePokemonResource(pokemonName)\n```\n\nThis way users of your hook don't need to bother calling `startTransition` or\nanything. Your custom hook will take care of that. Any time the `pokemonName`\nchanges, your hook will trigger an update to the pokemonResource.\n\nNote: Currently there are two bugs you'll want to be aware of:\n\n- https:\u002F\u002Fgithub.com\u002Ffacebook\u002Freact\u002Fissues\u002F17272: Have to `useLayoutEffect` and\n cannot `useEffect` currently\n- https:\u002F\u002Fgithub.com\u002Ffacebook\u002Freact\u002Fissues\u002F17273: Cannot include\n `startTransition` in the effect dependency array\n","id":"fe47870c-0eb5-4773-9d78-c079e3329eef","is_binary":false,"title":"06.md","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"SyR7uv727II","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"\u002F\u002F Coordinate Suspending components with SuspenseList\n\n\u002F\u002F http:\u002F\u002Flocalhost:3000\u002Fisolated\u002Fexercises\u002F07\n\nimport React from 'react'\nimport '..\u002Fsuspense-list\u002Fstyle-overrides.css'\nimport * as cn from '..\u002Fsuspense-list\u002Fapp.module.css'\nimport Spinner from '..\u002Fsuspense-list\u002Fspinner'\nimport {createResource, ErrorBoundary, PokemonForm} from '..\u002Futils'\nimport {fetchUser} from '..\u002Ffetch-pokemon'\n\n\u002F\u002F 💰 this delay function just allows us to make a promise take longer to resolve\n\u002F\u002F so we can easily play around with the loading time of our code.\nconst delay = time =\u003E promiseResult =\u003E\n new Promise(resolve =\u003E setTimeout(() =\u003E resolve(promiseResult), time))\n\n\u002F\u002F 🐨 feel free to play around with the delay timings.\nconst NavBar = React.lazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fnav-bar').then(delay(500)),\n)\nconst LeftNav = React.lazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fleft-nav').then(delay(2000)),\n)\nconst MainContent = React.lazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fmain-content').then(delay(1500)),\n)\nconst RightNav = React.lazy(() =\u003E\n import('..\u002Fsuspense-list\u002Fright-nav').then(delay(1000)),\n)\n\nconst fallback = (\n \u003Cdiv className={cn.spinnerContainer}\u003E\n \u003CSpinner \u002F\u003E\n \u003C\u002Fdiv\u003E\n)\nconst SUSPENSE_CONFIG = {timeoutMs: 4000}\n\nfunction App() {\n const [startTransition] = React.useTransition(SUSPENSE_CONFIG)\n const [pokemonResource, setPokemonResource] = React.useState(null)\n\n function handleSubmit(pokemonName) {\n startTransition(() =\u003E {\n setPokemonResource(createResource(() =\u003E fetchUser(pokemonName)))\n })\n }\n\n if (!pokemonResource) {\n return (\n \u003Cdiv className={`${cn.root} totally-centered`} style={{height: '100vh'}}\u003E\n \u003CPokemonForm onSubmit={handleSubmit} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n }\n\n \u002F\u002F 🐨 Use React.SuspenseList throughout these Suspending components to make\n \u002F\u002F them load in a way that is not jaring to the user.\n \u002F\u002F 💰 there's not really a specifically \"right\" answer for this.\n return (\n \u003Cdiv className={cn.root}\u003E\n \u003CErrorBoundary\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CNavBar pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003Cdiv className={cn.mainContentArea}\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CLeftNav \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CMainContent pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003CReact.Suspense fallback={fallback}\u003E\n \u003CRightNav pokemonResource={pokemonResource} \u002F\u003E\n \u003C\u002FReact.Suspense\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002FErrorBoundary\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\n\u002F*\n🦉 Elaboration & Feedback\nAfter the instruction, copy the URL below into your browser and fill out the form:\nhttp:\u002F\u002Fws.kcd.im\u002F?ws=Concurrent%20React&e=Coordinate%20Suspending%20components%20with%20SuspenseList&em=\n*\u002F\n\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F Don't make changes below here. \u002F\u002F\n\u002F\u002F But do look at it to see how your code is intended to be used. \u002F\u002F\n\u002F\u002F \u002F\u002F\n\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\n\nexport default App\n","id":"dd6ae9b7-b390-4075-91b9-f737a3e172f5","is_binary":false,"title":"07.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"rJ1NdPQn7UI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"# Coordinate Suspending components with SuspenseList\n\n## Background\n\nWhen your app is simple, you can pretty much expect everything to be there and\nload together when you need them, and that works nicely. But when your app grows\nand you start code splitting and loading data alongside the code that needs it,\npretty soon you end up in situations where you have several things loading all\nat once. Having those all pop into place on the page can be a jarring experience\nfor the user.\n\nA better experience for the user is a more predictable loading experience, even\nif it means that they see the data displayed out of order from how it was\nloaded.\n\nCoordinating these loading states is a really hard problem, but thanks to\nSuspense and `\u003CReact.SuspenseList \u002F\u003E`, it's fairly trivial.\n\n📜 Example from the React docs:\nhttps:\u002F\u002Freactjs.org\u002Fdocs\u002Fconcurrent-mode-reference.html#suspenselist\n\n```jsx\n\u003CSuspenseList revealOrder=\"forwards\"\u003E\n \u003CSuspense fallback={'Loading...'}\u003E\n \u003CProfilePicture id={1} \u002F\u003E\n \u003C\u002FSuspense\u003E\n \u003CSuspense fallback={'Loading...'}\u003E\n \u003CProfilePicture id={2} \u002F\u003E\n \u003C\u002FSuspense\u003E\n \u003CSuspense fallback={'Loading...'}\u003E\n \u003CProfilePicture id={3} \u002F\u003E\n \u003C\u002FSuspense\u003E\n\u003C\u002FSuspenseList\u003E\n```\n\nThe `SuspenseList` component has the following props:\n\n- `revealOrder`: the order in which the suspending components are to render\n - `{undefined}`: the default behavior: everything pops in when it's loaded (as\n if you didn't wrap everything in a `SuspenseList`).\n - `\"forwards\"`: Only show the component when all components before it have\n finished suspending.\n - `\"backwards\"`: Only show the component when all the components after it have\n finished suspending.\n - `\"together\"`: Don't show any of the components until they've all finished\n loading\n- `tail`: determines how to show the fallbacks for the suspending components\n - `{undefined}`: the default behavior: show all fallbacks\n - `\"collapsed\"`: Only show the fallback for the component that should be\n rendered next (this will differ based on the `revealOrder` specified).\n - `\"hidden\"`: Opposite of the default behavior: show none of the fallbacks\n- `children`: other react elements which render `\u003CReact.Suspense \u002F\u003E` components.\n Note: `\u003CReact.Suspense \u002F\u003E` components do not have to be direct children as in\n the example above. You can wrap them in `\u003Cdiv \u002F\u003E`s or other components if you\n need.\n\n## Exercise\n\nIn this exercise, we've built Pokemon Banking app and because the app is getting\nso large and there's so many dynamic parts, we've decided to codesplit a lot of\nit, this makes our app load faster, but it makes the loading experience\nsub-optimal.\n\nLet's play around with `\u003CReact.SuspenseList \u002F\u003E` to coordiante the loading\nstates.\n\n💰 tip, you can nest Suspense lists! Give that a try.\n\n## Extra Credit\n\n### 💯 eagerly load modules as resources\n\nYou may have noticed that the page actually loads slower when you added the\nSuspenseList. Even though it's less janky. The reason for this is because\nSuspenseList will avoid rendering children of Suspense Boundaries when using\n`forwards` until the \"most forward\" component is rendered. This results in a\nwaterfall effect because `React.lazy` is not \"eager.\" The idiomatic use of\n`React.lazy` is a perfect example of \"fetch on render.\"\n\nHopefully the React team comes out with something better before SuspenseList is\nstable (stay up-to-date with https:\u002F\u002Fgithub.com\u002Ffacebook\u002Freact\u002Fissues\u002F17413),\nbut for now, we need to preload our modules as soon as we know we're going to\nneed them.\n\nI've written a handy function that you can use in place of `React.lazy` that\nallows you to do this:\n\n```javascript\nfunction preloadableLazy(dynamicImport) {\n let promise\n function load() {\n if (!promise) {\n promise = dynamicImport()\n }\n return promise\n }\n const Comp = React.lazy(load)\n Comp.preload = load\n return Comp\n}\n\u002F\u002F Usage:\n\u002F\u002F const LazyComp = preloadableLazy(() =\u003E import('.\u002Flazy-loaded-component'))\n\u002F\u002F then, when you need to preload the code: LazyComp.preload()\n```\n\nWith this, see if you can change the implementation to make use of the\nSuspenseList for coordinating suspending components without the drawback of\n\"fetch on render\" with `React.lazy`.\n","id":"33780444-6b97-469c-a616-baa0e5ff845b","is_binary":false,"title":"07.md","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"rygEuwXnQL8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"ByquwmhXUI"},{"code":"import React from 'react'\nimport pkg from '..\u002Fpackage.json'\n\u002F\u002F if you need this to work locally then comment out the import above and comment in the next line\n\u002F\u002F const pkg = {homepage: '\u002F'}\n\n\u002F\u002F You really only get the benefit of pre-loading an image when the cache-control\n\u002F\u002F is set to cache the image for some period of time. We can't do that with our\n\u002F\u002F local server, but we are hosting the images on netlify so we can use those\n\u002F\u002F instead. Note our public\u002F_headers file that forces these to cache.\nconst fallbackImgUrl = `${pkg.homepage}img\u002Fpokemon\u002Ffallback-pokemon.jpg`\npreloadImage(`${pkg.homepage}img\u002Fpokeball.png`)\npreloadImage(fallbackImgUrl)\n\n\u002F\u002F this is just a hacky error boundary for handling any errors in the app\n\u002F\u002F it just shows \"there was an error\" with a button to try and re-render\n\u002F\u002F the whole app over again.\n\u002F\u002F In a regular app, I recommend using https:\u002F\u002Fnpm.im\u002Freact-error-boundary\n\u002F\u002F and reporting errors to a monitoring service.\nclass ErrorBoundary extends React.Component {\n state = {error: null}\n static getDerivedStateFromError(error) {\n return {error}\n }\n componentDidCatch() {\n \u002F\u002F log the error to the server\n }\n tryAgain = () =\u003E this.setState({error: null})\n render() {\n return this.state.error ? (\n \u003Cdiv\u003E\n There was an error. \u003Cbutton onClick={this.tryAgain}\u003Etry again\u003C\u002Fbutton\u003E\n \u003Cpre style={{whiteSpace: 'normal'}}\u003E{this.state.error.message}\u003C\u002Fpre\u003E\n \u003C\u002Fdiv\u003E\n ) : (\n this.props.children\n )\n }\n}\n\nfunction PokemonInfoFallback({name}) {\n const initialName = React.useRef(name).current\n const fallbackPokemonData = {\n name: initialName,\n number: 'XXX',\n attacks: {\n special: [\n {name: 'Loading Attack 1', type: 'Type', damage: 'XX'},\n {name: 'Loading Attack 2', type: 'Type', damage: 'XX'},\n ],\n },\n fetchedAt: 'loading...',\n }\n return (\n \u003Cdiv\u003E\n \u003Cdiv className=\"pokemon-info__img-wrapper\"\u003E\n \u003Cimg src={fallbackImgUrl} alt={initialName} \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003CPokemonDataView pokemon={fallbackPokemonData} \u002F\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction PokemonDataView({pokemon}) {\n return (\n \u003C\u003E\n \u003Csection\u003E\n \u003Ch2\u003E\n {pokemon.name}\n \u003Csup\u003E{pokemon.number}\u003C\u002Fsup\u003E\n \u003C\u002Fh2\u003E\n \u003C\u002Fsection\u003E\n \u003Csection\u003E\n \u003Cul\u003E\n {pokemon.attacks.special.map(attack =\u003E (\n \u003Cli key={attack.name}\u003E\n \u003Clabel\u003E{attack.name}\u003C\u002Flabel\u003E:{' '}\n \u003Cspan\u003E\n {attack.damage} \u003Csmall\u003E({attack.type})\u003C\u002Fsmall\u003E\n \u003C\u002Fspan\u003E\n \u003C\u002Fli\u003E\n ))}\n \u003C\u002Ful\u003E\n \u003C\u002Fsection\u003E\n \u003Csmall className=\"pokemon-info__fetch-time\"\u003E{pokemon.fetchedAt}\u003C\u002Fsmall\u003E\n \u003C\u002F\u003E\n )\n}\n\n\u002F\u002F 🚨 This should NOT be copy\u002Fpasted for production code and is only here\n\u002F\u002F for experimentation purposes. The API for suspense (currently throwing a\n\u002F\u002F promise) is likely to change before suspense is officially released.\n\u002F\u002F This was strongly inspired by work done in the React Docs by Dan Abramov\nfunction createResource(asyncFn) {\n let status = 'pending'\n let result\n let promise = asyncFn().then(\n r =\u003E {\n status = 'success'\n result = r\n },\n e =\u003E {\n status = 'error'\n result = e\n },\n )\n return {\n read() {\n if (status === 'pending') throw promise\n if (status === 'error') throw result\n if (status === 'success') return result\n throw new Error('This should be impossible')\n },\n }\n}\n\nfunction preloadImage(src) {\n return new Promise(resolve =\u003E {\n const img = document.createElement('img')\n img.src = src\n img.onload = () =\u003E resolve(src)\n })\n}\n\nfunction PokemonForm({initialPokemonName = '', onSubmit}) {\n const [pokemonName, setPokemonName] = React.useState(initialPokemonName)\n\n function handleChange(e) {\n setPokemonName(e.target.value)\n }\n\n function handleSubmit(e) {\n e.preventDefault()\n onSubmit(pokemonName)\n }\n\n function handleSelect(newPokemonName) {\n setPokemonName(newPokemonName)\n onSubmit(newPokemonName)\n }\n\n return (\n \u003Cform onSubmit={handleSubmit} className=\"pokemon-form\"\u003E\n \u003Clabel htmlFor=\"pokemonName-input\"\u003EPokemon Name\u003C\u002Flabel\u003E\n \u003Csmall\u003E\n Try{' '}\n \u003Cbutton\n className=\"invisible-button\"\n type=\"button\"\n onClick={() =\u003E handleSelect('pikachu')}\n \u003E\n \"pikachu\"\n \u003C\u002Fbutton\u003E\n {', '}\n \u003Cbutton\n className=\"invisible-button\"\n type=\"button\"\n onClick={() =\u003E handleSelect('charizard')}\n \u003E\n \"charizard\"\n \u003C\u002Fbutton\u003E\n {', or '}\n \u003Cbutton\n className=\"invisible-button\"\n type=\"button\"\n onClick={() =\u003E handleSelect('mew')}\n \u003E\n \"mew\"\n \u003C\u002Fbutton\u003E\n \u003C\u002Fsmall\u003E\n \u003Cdiv\u003E\n \u003Cinput\n className=\"pokemonName-input\"\n id=\"pokemonName-input\"\n name=\"pokemonName\"\n placeholder=\"Pokemon Name...\"\n value={pokemonName}\n onChange={handleChange}\n \u002F\u003E\n \u003Cbutton type=\"submit\" disabled={!pokemonName.length}\u003E\n Submit\n \u003C\u002Fbutton\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fform\u003E\n )\n}\n\nexport {\n ErrorBoundary,\n PokemonInfoFallback,\n createResource,\n preloadImage,\n PokemonForm,\n PokemonDataView,\n}\n","id":"d5cd10bd-d154-4f6e-b98c-6292ed15fead","is_binary":false,"title":"utils.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"rJuS_wmhXII","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"code":"import transactions from '.\u002Fhacks\u002Ftransactions'\nimport users from '.\u002Fhacks\u002Fusers'\nimport pkg from '..\u002Fpackage.json'\n\u002F\u002F if you need this to work locally then comment out the import above and comment in the next line\n\u002F\u002F const pkg = {homepage: '\u002F'}\n\nconst sleep = time =\u003E new Promise(resolve =\u003E setTimeout(resolve, time))\n\nconst formatDate = date =\u003E\n `${date.getHours()}:${String(date.getMinutes()).padStart(2, '0')} ${String(\n date.getSeconds(),\n ).padStart(2, '0')}.${String(date.getMilliseconds()).padStart(3, '0')}`\n\n\u002F\u002F the delay argument is for faking things out a bit\nfunction fetchPokemon(name, delay = 1500) {\n const endTime = Date.now() + delay\n const pokemonQuery = `\n query ($name: String) {\n pokemon(name: $name) {\n id\n number\n name\n image\n attacks {\n special {\n name\n type\n damage\n }\n }\n }\n }\n `\n\n return window\n .fetch('https:\u002F\u002Fgraphql-pokemon.now.sh', {\n \u002F\u002F learn more about this API here: https:\u002F\u002Fgraphql-pokemon.now.sh\u002F\n method: 'POST',\n headers: {\n 'content-type': 'application\u002Fjson;charset=UTF-8',\n },\n body: JSON.stringify({\n query: pokemonQuery,\n variables: {name: name.toLowerCase()},\n }),\n })\n .then(response =\u003E response.json())\n .then(async response =\u003E {\n await sleep(endTime - Date.now())\n return response\n })\n .then(response =\u003E {\n const pokemon = response.data.pokemon\n if (pokemon) {\n pokemon.fetchedAt = formatDate(new Date())\n return pokemon\n } else {\n return Promise.reject(new Error(`No pokemon with the name \"${name}\"`))\n }\n })\n}\n\nfunction getImageUrlForPokemon(pokemonName) {\n if (fetch.isHacked) {\n return `${pkg.homepage}img\u002Fpokemon\u002F${pokemonName.toLowerCase()}.jpg`\n } else {\n return `https:\u002F\u002Fimg.pokemondb.net\u002Fartwork\u002F${pokemonName.toLowerCase()}.jpg`\n }\n}\n\nasync function fetchUser(pokemonName, delay = 0) {\n await sleep(delay)\n const lowerName = pokemonName.toLowerCase()\n const pokemonTransactions = transactions.filter(\n t =\u003E t.recipient !== lowerName,\n )\n const user = users[lowerName]\n if (!user) {\n throw new Error(\n `${pokemonName} is not a user. Try ${Object.keys(users).join(', ')}`,\n )\n }\n return {\n transactions: pokemonTransactions,\n friends: Object.keys(users)\n .filter(u =\u003E lowerName !== u)\n .map(n =\u003E upperName(n)),\n ...user,\n name: upperName(lowerName),\n }\n}\nconst upperName = name =\u003E `${name.slice(0, 1).toUpperCase()}${name.slice(1)}`\n\nexport default fetchPokemon\nexport {getImageUrlForPokemon, fetchUser}\n","id":"0bbdee40-63b6-4021-8462-bf28b895b540","is_binary":false,"title":"fetch-pokemon.js","sha":null,"inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","upload_id":null,"shortid":"S1WE_wX2XL8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"code":"import allPokemon from '.\u002Fpokemon.json'\n\u002F\u002F Please don't actually do this in a real app\n\u002F\u002F this is here to make it easy for us to simulate making HTTP calls in this\n\u002F\u002F little app that doesn't actually have any server element.\nconst originalFetch = window.fetch\n\n\u002F\u002F Allows us to restore the original fetch\noriginalFetch.restoreOriginalFetch = () =\u003E (window.fetch = originalFetch)\noriginalFetch.overrideFetch = () =\u003E (window.fetch = hackFetch)\n\nwindow.FETCH_TIME = 0\nwindow.MIN_FETCH_TIME = 500\nwindow.FETCH_TIME_RANDOM = false\n\nfunction sleep(t = window.FETCH_TIME) {\n if (window.FETCH_TIME_RANDOM) {\n t = Math.random() * t + window.MIN_FETCH_TIME\n }\n return new Promise(resolve =\u003E setTimeout(resolve, t))\n}\n\nconst fakeResponses = [\n {\n test: url =\u003E url.includes('pokemon'),\n handler: async (url, config) =\u003E {\n const body = JSON.parse(config.body)\n await sleep()\n const pokemonName = body.variables.name\n const pokemon = allPokemon[pokemonName]\n if (!pokemon) {\n throw new Error(\n `🚨 fetch calls are \"hacked\" so you can work this workshop offline, so we don't support the pokemon with the name \"${pokemonName}.\" We only support: ${Object.keys(\n allPokemon,\n ).join(', ')}`,\n )\n }\n return {\n status: 200,\n json: async () =\u003E ({data: {pokemon}}),\n }\n },\n },\n \u002F\u002F fallback to originalFetch\n {\n test: () =\u003E true,\n handler: (...args) =\u003E originalFetch(...args),\n },\n]\n\nasync function hackFetch(...args) {\n const {handler} = fakeResponses.find(({test}) =\u003E {\n try {\n return test(...args)\n } catch (error) {\n \u002F\u002F ignore the error and hope everything's ok...\n return false\n }\n })\n const groupTitle = `%c ${args[1].method} -\u003E ${args[0]}`\n try {\n const response = await handler(...args)\n console.groupCollapsed(groupTitle, 'color: #0f9d58')\n let parsedBody\n try {\n parsedBody = JSON.parse(args[1].body)\n } catch (error) {\n \u002F\u002F ignore\n }\n console.info('REQUEST:', {\n url: args[0],\n ...args[1],\n ...(parsedBody ? {parsedBody} : null),\n })\n console.info('RESPONSE:', {\n ...response,\n ...(response.json ? {json: await response.json()} : {}),\n })\n console.groupEnd()\n return response\n } catch (error) {\n let rejection = error\n if (error instanceof Error) {\n rejection = {\n status: 500,\n message: error.message,\n }\n }\n console.groupCollapsed(groupTitle, 'color: #ef5350')\n console.info('REQUEST:', {url: args[0], ...args[1]})\n console.info('REJECTION:', rejection)\n console.groupEnd()\n return Promise.reject(rejection)\n }\n}\nhackFetch.isHacked = true\nObject.assign(hackFetch, window.fetch)\n\n\u002F\u002F alright. Let's hack fetch!\nwindow.fetch.overrideFetch()\n","id":"7b3d334c-056a-407c-80a9-9f4445919493","is_binary":false,"title":"fetch.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"BkM4_P7nQUU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkidDQhXIL"},{"code":"import 'stop-runaway-react-effects\u002Fhijack'\nimport '.\u002Ffetch'\n","id":"d7fc8c07-a4ad-4af8-8594-77ba36758197","is_binary":false,"title":"index.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"rk74_Pmh78I","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkidDQhXIL"},{"code":"{\n \"pikachu\": {\n \"id\": \"UG9rZW1vbjowMjU=\",\n \"number\": \"025\",\n \"name\": \"Pikachu\",\n \"image\": \"\u002Fimg\u002Fpokemon\u002Fpikachu.jpg\",\n \"attacks\": {\n \"special\": [\n {\n \"name\": \"Discharge\",\n \"type\": \"Electric\",\n \"damage\": 35\n },\n {\n \"name\": \"Thunder\",\n \"type\": \"Electric\",\n \"damage\": 100\n },\n {\n \"name\": \"Thunderbolt\",\n \"type\": \"Electric\",\n \"damage\": 55\n }\n ]\n }\n },\n \"mew\": {\n \"id\": \"UG9rZW1vbjoxNTE=\",\n \"number\": \"151\",\n \"image\": \"\u002Fimg\u002Fpokemon\u002Fmew.jpg\",\n \"name\": \"Mew\",\n \"attacks\": {\n \"special\": [\n {\n \"name\": \"Dragon Pulse\",\n \"type\": \"Dragon\",\n \"damage\": 65\n },\n {\n \"name\": \"Earthquake\",\n \"type\": \"Ground\",\n \"damage\": 100\n },\n {\n \"name\": \"Fire Blast\",\n \"type\": \"Fire\",\n \"damage\": 100\n },\n {\n \"name\": \"Hurricane\",\n \"type\": \"Flying\",\n \"damage\": 80\n },\n {\n \"name\": \"Hyper Beam\",\n \"type\": \"Normal\",\n \"damage\": 120\n },\n {\n \"name\": \"Moonblast\",\n \"type\": \"Fairy\",\n \"damage\": 85\n },\n {\n \"name\": \"Psychic\",\n \"type\": \"Psychic\",\n \"damage\": 55\n },\n {\n \"name\": \"Solar Beam\",\n \"type\": \"Grass\",\n \"damage\": 120\n },\n {\n \"name\": \"Thunder\",\n \"type\": \"Electric\",\n \"damage\": 100\n }\n ]\n }\n },\n \"mewtwo\": {\n \"id\": \"UG9rZW1vbjoxNTA=\",\n \"number\": \"150\",\n \"image\": \"\u002Fimg\u002Fpokemon\u002Fmewtwo.jpg\",\n \"name\": \"Mewtwo\",\n \"attacks\": {\n \"special\": [\n {\n \"name\": \"Hyper Beam\",\n \"type\": \"Normal\",\n \"damage\": 120\n },\n {\n \"name\": \"Psychic\",\n \"type\": \"Psychic\",\n \"damage\": 55\n },\n {\n \"name\": \"Shadow Ball\",\n \"type\": \"Ghost\",\n \"damage\": 45\n }\n ]\n }\n },\n \"ditto\": {\n \"id\": \"UG9rZW1vbjoxMzI=\",\n \"number\": \"132\",\n \"image\": \"\u002Fimg\u002Fpokemon\u002Fditto.jpg\",\n \"name\": \"Ditto\",\n \"attacks\": {\n \"special\": [\n {\n \"name\": \"Struggle\",\n \"type\": \"Normal\",\n \"damage\": 15\n }\n ]\n }\n },\n \"charizard\": {\n \"id\": \"UG9rZW1vbjowMDY=\",\n \"number\": \"006\",\n \"name\": \"Charizard\",\n \"image\": \"\u002Fimg\u002Fpokemon\u002Fcharizard.jpg\",\n \"attacks\": {\n \"special\": [\n {\n \"name\": \"Dragon Claw\",\n \"type\": \"Dragon\",\n \"damage\": 35\n },\n {\n \"name\": \"Fire Blast\",\n \"type\": \"Fire\",\n \"damage\": 100\n },\n {\n \"name\": \"Flamethrower\",\n \"type\": \"Fire\",\n \"damage\": 55\n }\n ]\n }\n },\n \"bulbasaur\": {\n \"id\": \"UG9rZW1vbjowMDE=\",\n \"number\": \"001\",\n \"name\": \"Bulbasaur\",\n \"image\": \"\u002Fimg\u002Fpokemon\u002Fbulbasaur.jpg\",\n \"attacks\": {\n \"special\": [\n {\n \"name\": \"Power Whip\",\n \"type\": \"Grass\",\n \"damage\": 70\n },\n {\n \"name\": \"Seed Bomb\",\n \"type\": \"Grass\",\n \"damage\": 40\n },\n {\n \"name\": \"Sludge Bomb\",\n \"type\": \"Poison\",\n \"damage\": 55\n }\n ]\n }\n }\n}\n","id":"bd86ce37-4f97-4d5f-8437-0fc2d2ed6f90","is_binary":false,"title":"pokemon.json","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"rkE4uvX37IL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkidDQhXIL"},{"code":"[\n {\n \"id\": \"4P812765GHI029827\",\n \"recipient\": \"mew\",\n \"amount\": \"$ 15.34\",\n \"message\": \"Thanks for the salad 🥗\"\n },\n {\n \"id\": \"90X21040KL118401T\",\n \"recipient\": \"charizard\",\n \"amount\": \"$ 20.00\",\n \"message\": \"Thanks for the tip about Gyarados 🌊. I never would have won otherwise 😈\"\n },\n {\n \"id\": \"89UI190WJJ2240023\",\n \"recipient\": \"bulbasaur\",\n \"amount\": \"$ 25.00\",\n \"message\": \"That play was awesome 🎭. Thanks again for inviting me.\"\n },\n {\n \"id\": \"0A6FJI65K8173802P\",\n \"recipient\": \"ditto\",\n \"amount\": \"$ 12.21\",\n \"message\": \"blub.\"\n },\n {\n \"id\": \"9CF911038X034441W\",\n \"recipient\": \"mewtwo\",\n \"amount\": \"$ 35.00\",\n \"message\": \"Still can't believe 🔥 Charizard 🔥 won. That's the last time I bet against him.\"\n },\n {\n \"id\": \"48L3561JH8132451D\",\n \"recipient\": \"pikachu\",\n \"amount\": \"$ 91.10\",\n \"message\": \"That was ELECTRIC ⚡\"\n },\n {\n \"id\": \"6CG59877V61376422\",\n \"recipient\": \"ditto\",\n \"amount\": \"$ 98.89\",\n \"message\": \"blub.\"\n },\n {\n \"id\": \"U8991IJW02J204032\",\n \"recipient\": \"bulbasaur\",\n \"amount\": \"$ 15.98\",\n \"message\": \"Thanks again for the loan 💵\"\n },\n {\n \"id\": \"8XS08JI93J918102S\",\n \"recipient\": \"charizard\",\n \"amount\": \"$ 45.14\",\n \"message\": \"Lunch was delicious, thank you!\"\n },\n {\n \"id\": \"21CWW205ND917964J\",\n \"recipient\": \"mew\",\n \"amount\": \"$ 12.87\",\n \"message\": \"Thanks again for the ride 🍃\"\n }\n]\n","id":"557a31fd-7f43-4c09-9983-e6c63626cad2","is_binary":false,"title":"transactions.json","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"rJBNuvmn7II","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkidDQhXIL"},{"code":"{\n \"pikachu\": {\n \"name\": \"Pikachu\",\n \"color\": \"#EDD37E\"\n },\n \"mew\": {\n \"name\": \"Mew\",\n \"color\": \"#ECC4D0\"\n },\n \"mewtwo\": {\n \"name\": \"Mewtwo\",\n \"color\": \"#BAABBA\"\n },\n \"ditto\": {\n \"name\": \"Ditto\",\n \"color\": \"#BDAED1\"\n },\n \"charizard\": {\n \"name\": \"Charizard\",\n \"color\": \"#EAC492\"\n },\n \"bulbasaur\": {\n \"name\": \"Bulbasaur\",\n \"color\": \"#7DAD96\"\n }\n}\n","id":"4bdc63ef-2881-4837-8796-3e6414f2897a","is_binary":false,"title":"users.json","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"Hy8NdDQhmUI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkidDQhXIL"},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fkentcdodds\u002Fconcurrent-react\u002F3f4a2756d8b516e310e1239fb71f5471585eec93\u002Fpublic\u002Fimg\u002Fpokemon\u002Ffallback-pokemon.jpg","id":"a29937b2-5606-4a72-8107-5e6c268cecad","is_binary":true,"title":"fallback-pokemon.jpg","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"HyYrOPXhXUL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkZuDQ3QUU"},{"code":"import '.\u002Fhacks'\nimport 'normalize.css\u002Fnormalize.css'\nimport '.\u002Fstyles.css'\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport MainApp from '.\u002Fapp'\n\nconst rootEl = document.getElementById('⚛')\nconst root = ReactDOM.createRoot(rootEl)\nroot.render(\u003CMainApp \u002F\u003E)\n\n\u002F\u002F to enable sync mode, comment out the above stuff and comment this in.\n\u002F\u002F ReactDOM.render(\u003CMainApp \u002F\u003E, rootEl)\n","id":"ecd296db-31e6-486c-9653-b1fb4b8074da","is_binary":false,"title":"index.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"H1wEdDQh788","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"code":"const path = require('path')\nconst fs = require('fs')\nconst glob = require('glob')\n\nconst exerciseInfo = glob\n .sync('.\u002Fsrc\u002Fexercises*\u002F[0-9][0-9]*.js')\n .reduce((acc, filePath) =\u003E {\n const contents = String(fs.readFileSync(filePath))\n const {dir, name} = path.parse(filePath)\n const parentDir = path.basename(dir)\n const id = name.split('-')[0]\n const number = Number(id)\n const previous = String(number - 1).padStart(2, '0')\n const next = String(number + 1).padStart(2, '0')\n const isExercise = parentDir === 'exercises'\n const isExtraCredit = name.includes('-extra')\n const isFinal = !isExercise && !isExtraCredit\n const [firstLine, secondLine] = contents.split('\\n')\n const title = firstLine.replace(\u002F\\\u002F\\\u002F\u002F, '').trim()\n const extraCreditTitle = secondLine.replace(\u002F\\\u002F\\\u002F 💯\u002F, '').trim()\n const extraCreditNumber = (name.match(\u002F-extra.(\\d+)\u002F) || [])[1]\n\n acc[id] = acc[id] || {}\n\n Object.assign(\n acc[id],\n isExercise\n ? {\n title,\n exercise: {\n previous,\n next,\n isolatedPath: `\u002Fisolated\u002Fexercises\u002F${name}`,\n },\n }\n : null,\n isFinal\n ? {\n final: {\n previous,\n next,\n isolatedPath: `\u002Fisolated\u002Fexercises-final\u002F${name}`,\n },\n }\n : null,\n isExtraCredit\n ? {\n extraCreditTitles: {\n ...acc[id].extraCreditTitles,\n [extraCreditNumber]: extraCreditTitle,\n },\n }\n : null,\n )\n return acc\n }, {})\n\n\u002F\u002F get rid of next and previous which don't exist\nfor (const infoKey in exerciseInfo) {\n const info = exerciseInfo[infoKey]\n if (!exerciseInfo[info.exercise.previous]) {\n delete info.exercise.previous\n }\n if (!exerciseInfo[info.exercise.next]) {\n delete info.exercise.next\n }\n if (!exerciseInfo[info.final.previous]) {\n delete info.final.previous\n }\n if (!exerciseInfo[info.final.next]) {\n delete info.final.next\n }\n}\n\nmodule.exports = exerciseInfo\n","id":"6759f859-85f8-46a6-8b73-c5d6b0f29377","is_binary":false,"title":"load-exercises.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"Hku4_wX37UU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"code":"import '@testing-library\u002Fjest-dom\u002Fextend-expect'\n\nafterEach(() =\u003E {\n jest.clearAllMocks()\n})\n\njest.spyOn(window, 'alert').mockImplementation(() =\u003E {})\n\n\u002F\u002F none of these tests should actually invoke fetch\nbeforeEach(() =\u003E {\n jest.spyOn(window, 'fetch').mockImplementation((...args) =\u003E {\n console.warn('window.fetch is not mocked for this call', ...args)\n return Promise.reject(new Error('This must be mocked!'))\n })\n})\n\nafterEach(() =\u003E {\n window.fetch.mockRestore()\n})\n","id":"a8dfee2c-4ee1-477e-8fa2-48f41cb639c9","is_binary":false,"title":"setupTests.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"HytNdwX3Q8I","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"code":"a {\n color: #cc0000;\n}\n\na:focus,\na:hover,\na:active {\n color: #8a0000;\n}\n\ninput {\n line-height: 2;\n font-size: 16px;\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n border: none;\n border-radius: 2px;\n padding-left: 10px;\n padding-right: 10px;\n background-color: #eee;\n}\n\nbutton {\n font-size: 1rem;\n font-family: inherit;\n border: 1px solid #ff0000;\n background-color: #cc0000;\n cursor: pointer;\n padding: 8px 10px;\n color: #eee;\n border-radius: 3px;\n}\n\nbutton:disabled {\n border-color: #dc9494;\n background-color: #f16161;\n cursor: unset;\n}\n\nbutton:hover:not(:disabled),\nbutton:active:not(:disabled),\nbutton:focus:not(:disabled) {\n border-color: #cc0000;\n background-color: #8a0000;\n}\n\n.isolated-top-container {\n padding: 30px;\n height: 100vh;\n display: grid;\n align-items: center;\n justify-content: center;\n}\n\n.totally-centered {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.pokemon-form {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.pokemon-form input {\n margin-top: 10px;\n margin-right: 10px;\n}\n\n.pokemon-info {\n height: 400px;\n width: 300px;\n overflow: scroll;\n background-color: #eee;\n border-radius: 4px;\n padding: 10px;\n position: relative;\n}\n\n.pokemon-info.pokemon-loading {\n opacity: 0.6;\n transition: opacity 0s;\n \u002F* note: the transition delay is the same as the busyDelayMs config *\u002F\n transition-delay: 0.4s;\n}\n\n.pokemon-info h2 {\n font-weight: bold;\n text-align: center;\n margin-top: 0.3em;\n}\n\n.pokemon-info img {\n max-width: 100%;\n max-height: 200px;\n}\n\n.pokemon-info .pokemon-info__img-wrapper {\n text-align: center;\n margin-top: 20px;\n}\n\n.pokemon-info .pokemon-info__fetch-time {\n position: absolute;\n top: 6px;\n right: 10px;\n}\n\nbutton.invisible-button {\n border: none;\n padding: inherit;\n font-size: inherit;\n font-family: inherit;\n cursor: pointer;\n font-weight: inherit;\n background-color: transparent;\n color: #000;\n}\nbutton.invisible-button:hover,\nbutton.invisible-button:active,\nbutton.invisible-button:focus {\n border: none;\n background-color: transparent;\n}\n","id":"2defd36d-3b9c-477c-86d0-64d47113d0fd","is_binary":false,"title":"styles.css","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"HJ94OvQ37II","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"code":".root {\n background-color: #eee;\n min-height: 100%;\n}\n\n.mainContentArea {\n display: flex;\n justify-content: space-between;\n}\n\n.mainContentArea \u003E *:not(:last-child) {\n margin-right: 20px;\n}\n\n.mainContentArea \u003E *:not(:first-child) {\n margin-left: 20px;\n}\n\n.spinnerContainer {\n flex: 1;\n padding-top: 10px;\n}\n","id":"b63266db-1db1-4aab-886c-cd2a296ed1b0","is_binary":false,"title":"app.module.css","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"Bkj4Owm378I","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":"import React from 'react'\nimport {createResource} from '..\u002Futils'\n\nfunction preloadImage(src) {\n return new Promise(resolve =\u003E {\n const img = document.createElement('img')\n img.src = src\n img.onload = () =\u003E resolve(src)\n })\n}\n\nconst imgSrcResourceCache = {}\n\nfunction Img({src, alt, ...props}) {\n let imgSrcResource = imgSrcResourceCache[src]\n if (!imgSrcResource) {\n imgSrcResource = createResource(() =\u003E preloadImage(src))\n imgSrcResourceCache[src] = imgSrcResource\n }\n return \u003Cimg src={imgSrcResource.read()} alt={alt} {...props} \u002F\u003E\n}\n\nexport default Img\n","id":"e2024e4b-e5b2-4d99-b0c7-da7f63b2b946","is_binary":false,"title":"img.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"HJn4uv7nX8I","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":"import React from 'react'\nimport * as cn from '.\u002Fleft-nav.module.css'\n\nfunction LeftNav() {\n return (\n \u003Cdiv className={cn.root}\u003E\n \u003Cdiv className={cn.title}\u003EHome\u003C\u002Fdiv\u003E\n \u003Chr \u002F\u003E\n \u003Cul className={cn.list}\u003E\n \u003Cli\u003E\n \u003Ca href=\"#\"\u003EApply for Loan\u003C\u002Fa\u003E\n \u003C\u002Fli\u003E\n \u003Cli\u003E\n \u003Ca href=\"#\"\u003ESend Money\u003C\u002Fa\u003E\n \u003C\u002Fli\u003E\n \u003Cli\u003E\n \u003Ca href=\"#\"\u003ERequest Money\u003C\u002Fa\u003E\n \u003C\u002Fli\u003E\n \u003Cli\u003E\n \u003Ca href=\"#\"\u003EOrder checks\u003C\u002Fa\u003E\n \u003C\u002Fli\u003E\n \u003Cli\u003E\n \u003Ca href=\"#\"\u003EHelp\u003C\u002Fa\u003E\n \u003C\u002Fli\u003E\n \u003Cli\u003E\n \u003Ca href=\"#\"\u003ELog Off\u003C\u002Fa\u003E\n \u003C\u002Fli\u003E\n \u003C\u002Ful\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default LeftNav\n\n\u002F*\neslint\n jsx-a11y\u002Fanchor-is-valid:0\n*\u002F\n","id":"9fdad3bc-8f80-4c73-9719-72613db5067b","is_binary":false,"title":"left-nav.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"SyTVOwm3XII","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":".root {\n min-width: 300px;\n padding-left: 30px;\n}\n\n.title {\n font-size: 40px;\n font-weight: bold;\n}\n\n.list {\n list-style: none;\n padding: 0;\n font-size: 20px;\n}\n\n.list li:before {\n content: '';\n display: inline-block;\n height: 0.8rem;\n width: 0.8rem;\n margin-right: 6px;\n background-image: url(\u002Fimg\u002Fpokeball.png);\n background-size: contain;\n background-repeat: no-repeat;\n}\n\n.list li {\n margin-bottom: 24px;\n}\n\n.list li a {\n text-decoration: none;\n}\n","id":"722c860d-38cc-4339-aec4-29cfaa02c681","is_binary":false,"title":"left-nav.module.css","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"HkCNOP7hX88","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":"import React from 'react'\nimport Img from '.\u002Fimg'\nimport * as cn from '.\u002Fmain-content.module.css'\n\nfunction MainContent({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv className={cn.root}\u003E\n \u003Cdiv className={cn.container}\u003E\n \u003Cdiv className={cn.quickLook}\u003E\n \u003Cdiv\u003E\n \u003Cdiv className={cn.quickLookTitle}\u003EWatch out for Go players!\u003C\u002Fdiv\u003E\n \u003Cdiv\u003E\n \u003CImg src=\"\u002Fimg\u002Fpokemongo.jpg\" alt=\"pokemon go\" \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n \u003Cdiv\u003E\n \u003Cdiv className={cn.quickLookTitle}\u003ECollector's Squirtle Toy\u003C\u002Fdiv\u003E\n \u003Cdiv\u003E\n \u003CImg src=\"\u002Fimg\u002Fsquirtle-toy.jpg\" alt=\"squirtle figurine\" \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n \u003Cdiv className={cn.createNewTransaction}\u003E\n \u003Cform\u003E\n \u003Cdiv\u003E\n \u003Clabel htmlFor=\"recipient\"\u003ERecipient\u003C\u002Flabel\u003E\n \u003Cinput id=\"recipient\" placeholder=\"Username or Email\" \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003Cdiv\u003E\n \u003Clabel htmlFor=\"amount\"\u003EAmount\u003C\u002Flabel\u003E\n \u003Cinput id=\"amount\" placeholder=\"$0.00\" \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003Cdiv className={cn.newTransactionSubmitButton}\u003E\n \u003Cbutton type=\"submit\"\u003ESubmit\u003C\u002Fbutton\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fform\u003E\n \u003C\u002Fdiv\u003E\n {pokemon.transactions.map(t =\u003E (\n \u003CTransaction key={t.id} {...t} \u002F\u003E\n ))}\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction Transaction({id, recipient, amount, message}) {\n return (\n \u003Cdiv className={cn.transaction}\u003E\n \u003Cdiv className={cn.transactionId}\u003E{id}\u003C\u002Fdiv\u003E\n \u003Cdiv\u003E\n \u003CImg\n className={cn.transactionImage}\n src={`\u002Fimg\u002Fpokemon\u002F${recipient}.jpg`}\n alt={recipient}\n \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003Cdiv\u003E\n \u003Cdiv className={cn.transactionAmount}\u003E{amount}\u003C\u002Fdiv\u003E\n \u003Cdiv className={cn.transactionMessage}\u003E{message}\u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default MainContent\n","id":"33484ead-996f-4809-aefe-2659415e8636","is_binary":false,"title":"main-content.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"rykH_vQ2XI8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":".root {\n flex: 1;\n display: flex;\n justify-content: center;\n max-width: 600px;\n}\n\n.container {\n max-width: 100%;\n}\n\n.quickLook {\n display: flex;\n justify-content: space-between;\n margin-bottom: 30px;\n}\n\n.quickLook \u003E * {\n text-align: center;\n}\n\n.quickLook \u003E *:not(:last-child) {\n margin-right: 16px;\n}\n\n.quickLook \u003E *:not(:first-child) {\n margin-left: 16px;\n}\n\n.quickLookTitle {\n margin-bottom: 10px;\n font-weight: bold;\n font-size: 1.25rem;\n}\n\n.quickLook img {\n height: 160px;\n}\n\n.createNewTransaction {\n margin-bottom: 30px;\n}\n\n.createNewTransaction form {\n display: flex;\n justify-content: center;\n}\n\n.createNewTransaction form \u003E *:not(:last-child) {\n margin-right: 6px;\n}\n\n.createNewTransaction form \u003E *:not(:first-child) {\n margin-left: 6px;\n}\n\n.newTransactionSubmitButton {\n align-self: flex-end;\n}\n\n.createNewTransaction label {\n display: block;\n}\n\n.newTransactionSubmitButton button {\n font-size: 1.15rem;\n height: 57px;\n}\n\n.createNewTransaction input {\n font-size: 1.15rem;\n line-height: 3;\n}\n\n.transaction {\n position: relative;\n display: flex;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n padding: 30px;\n margin-bottom: 30px;\n}\n\n.transactionId {\n position: absolute;\n top: 10px;\n right: 10px;\n color: #aaa;\n}\n\n.transactionImage {\n margin-right: 20px;\n height: 80px;\n border-radius: 2px;\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n}\n\n.transactionAmount {\n font-size: 40px;\n font-weight: bold;\n}\n\n.transactionMessage {\n font-size: 30px;\n color: #777;\n}\n","id":"b6865d61-0467-42eb-a8ad-f9afa59dc5e8","is_binary":false,"title":"main-content.module.css","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"BkxrdvQ3X88","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":"import React from 'react'\nimport Img from '.\u002Fimg'\nimport * as cn from '.\u002Fnav-bar.module.css'\nimport {\n IoIosHome,\n IoIosNotifications,\n IoIosFiling,\n IoIosList,\n IoIosSync,\n IoIosCopy,\n IoIosCog,\n} from 'react-icons\u002Fio'\n\nfunction NavBar({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv className={cn.root}\u003E\n \u003Cdiv className={cn.logoAndSearch}\u003E\n \u003Clabel htmlFor=\"search\"\u003E\n \u003CImg src=\"\u002Fimg\u002Fpokeball.png\" alt=\"pokebank\" \u002F\u003E\n \u003C\u002Flabel\u003E\n \u003Cinput id=\"search\" type=\"search\" placeholder=\"Search Pokébank\" \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003Cdiv className={cn.centerButtons}\u003E\n \u003Cbutton\n style={{color: pokemon.color}}\n onClick={() =\u003E alert('You clicked the Home button')}\n \u003E\n \u003CIoIosHome \u002F\u003E\n \u003C\u002Fbutton\u003E\n \u003Cbutton\n style={{color: pokemon.color}}\n onClick={() =\u003E alert('You clicked the Notifications button')}\n \u003E\n \u003CIoIosNotifications \u002F\u003E\n \u003C\u002Fbutton\u003E\n \u003Cbutton\n style={{color: pokemon.color}}\n onClick={() =\u003E alert('You clicked the Filing button')}\n \u003E\n \u003CIoIosFiling \u002F\u003E\n \u003C\u002Fbutton\u003E\n \u003Cbutton\n style={{color: pokemon.color}}\n onClick={() =\u003E alert('You clicked your profile image')}\n \u003E\n \u003CImg\n className={cn.profilePhoto}\n src={`\u002Fimg\u002Fpokemon\u002F${pokemon.name.toLowerCase()}.jpg`}\n alt=\"user profile\"\n \u002F\u003E\n \u003C\u002Fbutton\u003E\n \u003Cbutton\n style={{color: pokemon.color}}\n onClick={() =\u003E alert('You clicked the List button')}\n \u003E\n \u003CIoIosList \u002F\u003E\n \u003C\u002Fbutton\u003E\n \u003Cbutton\n style={{color: pokemon.color}}\n onClick={() =\u003E alert('You clicked the Sync button')}\n \u003E\n \u003CIoIosSync \u002F\u003E\n \u003C\u002Fbutton\u003E\n \u003Cbutton\n style={{color: pokemon.color}}\n onClick={() =\u003E alert('You clicked the Copy button')}\n \u003E\n \u003CIoIosCopy \u002F\u003E\n \u003C\u002Fbutton\u003E\n \u003C\u002Fdiv\u003E\n \u003Cdiv\u003E\n \u003Cbutton\n style={{color: pokemon.color}}\n onClick={() =\u003E alert('You clicked the Cog button')}\n \u003E\n \u003CIoIosCog \u002F\u003E\n \u003C\u002Fbutton\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nexport default NavBar\n","id":"0ee51fda-a77f-43fe-a8c6-30ab8bba8364","is_binary":false,"title":"nav-bar.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"SyZSdDQhXI8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":".root {\n height: 100px;\n width: 100%;\n background-color: #fff;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 6px 10px;\n box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.4);\n margin-bottom: 20px;\n}\n\n.root \u003E * {\n flex: 1;\n text-align: center;\n}\n\n.root \u003E *:last-child {\n text-align: right;\n}\n\n.root \u003E *:first-child {\n text-align: left;\n}\n\n.root button {\n border: none;\n color: black;\n background-color: transparent;\n font-size: 30px;\n cursor: pointer;\n}\n\n.root button:focus,\n.root button:active,\n.root button:hover {\n opacity: 0.8;\n background-color: transparent;\n}\n\n.logoAndSearch {\n display: flex;\n align-items: center;\n}\n\n.logoAndSearch img {\n height: 40px;\n margin-right: 10px;\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n border-radius: 50%;\n}\n\n.logoAndSearch input {\n background-color: #eee;\n width: 250px;\n}\n\n.centerButtons {\n display: flex;\n justify-content: center;\n}\n\n.centerButtons \u003E * {\n margin-left: 8px;\n margin-right: 8px;\n}\n\n.profilePhoto {\n border-radius: 50%;\n height: 60px;\n}\n","id":"4ef82bb5-a1cd-463b-8c3e-7465b63517cc","is_binary":false,"title":"nav-bar.module.css","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"r1MrdPmnmIL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":"import React from 'react'\nimport Img from '.\u002Fimg'\nimport * as cn from '.\u002Fright-nav.module.css'\n\nfunction RightNav({pokemonResource}) {\n const pokemon = pokemonResource.read()\n return (\n \u003Cdiv className={cn.root}\u003E\n \u003Cdiv\u003E\n \u003Cdiv className={cn.checkSplitTitle}\u003ECheck Split\u003C\u002Fdiv\u003E\n \u003Cdiv\u003EGo out to eat with your friends and split the check.\u003C\u002Fdiv\u003E\n \u003Cdiv className={cn.cafeContainer}\u003E\n \u003CImg src=\"\u002Fimg\u002Fpokemon-cafe.jpg\" alt=\"pokemon cafe\" \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n \u003Cdiv\u003E\n \u003Cdiv className={cn.friendTitle}\u003EFriends\u003C\u002Fdiv\u003E\n \u003Cul className={cn.friendList}\u003E\n {pokemon.friends.map(friend =\u003E (\n \u003Cli key={friend}\u003E\n \u003CFriend name={friend} \u002F\u003E\n \u003C\u002Fli\u003E\n ))}\n \u003C\u002Ful\u003E\n \u003C\u002Fdiv\u003E\n \u003C\u002Fdiv\u003E\n )\n}\n\nfunction Friend({name}) {\n return (\n \u003Ca href=\"#\" className={cn.friendLink}\u003E\n \u003Cdiv className={cn.friendPhotoContainer}\u003E\n \u003CImg\n src={`\u002Fimg\u002Fpokemon\u002F${name.toLowerCase()}.jpg`}\n alt={name}\n className={cn.friendPhoto}\n \u002F\u003E\n \u003C\u002Fdiv\u003E\n \u003Cspan className={cn.friendName}\u003E{name}\u003C\u002Fspan\u003E\n \u003C\u002Fa\u003E\n )\n}\n\nexport default RightNav\n\n\u002F*\neslint\n jsx-a11y\u002Fanchor-is-valid: 0 \n*\u002F\n","id":"188b027c-6d96-4a78-9f10-32a7922f1e90","is_binary":false,"title":"right-nav.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"HymrOwQhXIU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":".root {\n min-width: 200px;\n padding-right: 30px;\n}\n\n.checkSplitTitle {\n font-size: 1.5rem;\n font-weight: bold;\n}\n\n.cafeContainer {\n max-width: 100%;\n text-align: center;\n margin-top: 10px;\n margin-bottom: 20px;\n}\n\n.cafeContainer img {\n border-radius: 4px;\n max-width: 260px;\n}\n\n.friendTitle {\n font-weight: bold;\n font-size: 1.3rem;\n margin-bottom: 10px;\n}\n.friendList {\n list-style: none;\n padding: 0;\n}\n\n.friendList li {\n margin-bottom: 20px;\n}\n.friendLink {\n font-size: 1.2rem;\n display: flex;\n align-items: center;\n}\n.friendLink:hover,\n.friendLink:active,\n.friendLink:focus {\n opacity: 0.8;\n}\n.friendPhotoContainer {\n display: inline-block;\n margin-right: 20px;\n}\n.friendPhoto {\n height: 50px;\n width: 50px;\n border-radius: 50%;\n object-fit: cover;\n}\n","id":"8f9fe406-50e2-4ea2-a5ea-0db733975507","is_binary":false,"title":"right-nav.module.css","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"H14SOwXhmUL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":"import React from 'react'\nimport * as cn from '.\u002Fspinner.module.css'\n\nfunction Spinner() {\n return \u003Cimg className={cn.pulse} src=\"\u002Fimg\u002Fpokeball.png\" alt=\"loading\" \u002F\u003E\n}\n\nexport default Spinner\n","id":"cca0ebc7-13d1-476b-b89d-35fba28537b1","is_binary":false,"title":"spinner.js","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"B1BBOwX2XLI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":"\u002F* inspired by https:\u002F\u002Fcodepen.io\u002Figorsheg\u002Fpen\u002FMBpwGw *\u002F\n\n.pulse {\n margin: auto;\n display: block;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n box-shadow: 0 0 0 rgba(138, 0, 0, 0.4);\n animation: pulse 1.3s infinite;\n}\n\n@keyframes pulse {\n 0% {\n box-shadow: 0 0 0 0 rgba(138, 0, 0, 0.4);\n }\n 70% {\n box-shadow: 0 0 0 25px rgba(138, 0, 0, 0);\n }\n 100% {\n box-shadow: 0 0 0 0 rgba(138, 0, 0, 0);\n }\n}\n","id":"4230631f-0533-4b3d-81da-adda065ea223","is_binary":false,"title":"spinner.module.css","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"By8SdvQhXII","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":"#⚛ {\n height: 100vh;\n}\n\nbody #⚛ .isolated-top-container {\n padding: 0;\n display: unset;\n align-items: unset;\n justify-content: unset;\n}\n\nbody #⚛ .isolated-div-wrapper {\n height: 100vh;\n}\n\ninput {\n background-color: white;\n}\n","id":"ca437a9d-1d2a-455c-b962-769d0c92be4a","is_binary":false,"title":"style-overrides.css","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"BywBdPQnQIL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"r12_DX3QIU"},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fkentcdodds\u002Fconcurrent-react\u002F3f4a2756d8b516e310e1239fb71f5471585eec93\u002Fpublic\u002Fimg\u002Fpokemon\u002Fmew.jpg","id":"f57cd3c1-89e8-4586-8dd9-09ff857d61d5","is_binary":true,"title":"mew.jpg","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"Hy5Buwm3QLU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkZuDQ3QUU"},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fkentcdodds\u002Fconcurrent-react\u002F3f4a2756d8b516e310e1239fb71f5471585eec93\u002Fpublic\u002Fimg\u002Fpokemon\u002Fmewtwo.jpg","id":"0c8f0a82-df19-4a59-ac45-8458dbac53bc","is_binary":true,"title":"mewtwo.jpg","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"rkjSdD7n788","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkZuDQ3QUU"},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fkentcdodds\u002Fconcurrent-react\u002F3f4a2756d8b516e310e1239fb71f5471585eec93\u002Fpublic\u002Fimg\u002Fpokemon\u002Fpikachu.jpg","id":"00158d7f-a313-49d5-9e62-a6c4186370e7","is_binary":true,"title":"pikachu.jpg","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"Sy2rODXhXLU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkZuDQ3QUU"},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fkentcdodds\u002Fconcurrent-react\u002F3f4a2756d8b516e310e1239fb71f5471585eec93\u002Fpublic\u002Fimg\u002Fpokemon\u002Fbulbasaur.jpg","id":"da61a2e2-83d7-4bb4-91f5-1ce8ef2dbf11","is_binary":true,"title":"bulbasaur.jpg","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"Hkaruv7n7II","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkZuDQ3QUU"},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fkentcdodds\u002Fconcurrent-react\u002F3f4a2756d8b516e310e1239fb71f5471585eec93\u002Fpublic\u002Fimg\u002Fpokemon\u002Fcharizard.jpg","id":"872ff735-fb72-4975-bd50-f594577f0a96","is_binary":true,"title":"charizard.jpg","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"SJRrOwXn7IL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkZuDQ3QUU"},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fkentcdodds\u002Fconcurrent-react\u002F3f4a2756d8b516e310e1239fb71f5471585eec93\u002Fpublic\u002Fimg\u002Fpokemon-cafe.jpg","id":"df324b9e-cc24-439f-858c-a1df80caec74","is_binary":true,"title":"pokemon-cafe.jpg","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"SkJIOvQh78I","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkluwQ2XI8"},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fkentcdodds\u002Fconcurrent-react\u002F3f4a2756d8b516e310e1239fb71f5471585eec93\u002Fpublic\u002Fimg\u002Fpokemongo.jpg","id":"f7326833-e99a-41a1-b840-e25bd262a493","is_binary":true,"title":"pokemongo.jpg","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"BJx8uvmn7II","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkluwQ2XI8"},{"code":"# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n# yarn lockfile v1\n\n\n\"@babel\u002Fcode-frame@7.5.5\", \"@babel\u002Fcode-frame@^7.0.0\", \"@babel\u002Fcode-frame@^7.5.5\":\n version \"7.5.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fcode-frame\u002F-\u002Fcode-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d\"\n integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag\u002FztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==\n dependencies:\n \"@babel\u002Fhighlight\" \"^7.0.0\"\n\n\"@babel\u002Fcore@7.6.0\":\n version \"7.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fcore\u002F-\u002Fcore-7.6.0.tgz#9b00f73554edd67bebc86df8303ef678be3d7b48\"\n integrity sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X\u002FapG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==\n dependencies:\n \"@babel\u002Fcode-frame\" \"^7.5.5\"\n \"@babel\u002Fgenerator\" \"^7.6.0\"\n \"@babel\u002Fhelpers\" \"^7.6.0\"\n \"@babel\u002Fparser\" \"^7.6.0\"\n \"@babel\u002Ftemplate\" \"^7.6.0\"\n \"@babel\u002Ftraverse\" \"^7.6.0\"\n \"@babel\u002Ftypes\" \"^7.6.0\"\n convert-source-map \"^1.1.0\"\n debug \"^4.1.0\"\n json5 \"^2.1.0\"\n lodash \"^4.17.13\"\n resolve \"^1.3.2\"\n semver \"^5.4.1\"\n source-map \"^0.5.0\"\n\n\"@babel\u002Fcore@^7.1.0\", \"@babel\u002Fcore@^7.4.5\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fcore\u002F-\u002Fcore-7.7.0.tgz#461d2948b1a7113088baf999499bcbd39a7faa3b\"\n integrity sha512-Bb1NjZCaiwTQC\u002FARL+MwDpgocdnwWDCaugvkGt6cxfBzQa8Whv1JybBoUEiBDKl8Ni3H3c7Fykwk7QChUsHRlg==\n dependencies:\n \"@babel\u002Fcode-frame\" \"^7.5.5\"\n \"@babel\u002Fgenerator\" \"^7.7.0\"\n \"@babel\u002Fhelpers\" \"^7.7.0\"\n \"@babel\u002Fparser\" \"^7.7.0\"\n \"@babel\u002Ftemplate\" \"^7.7.0\"\n \"@babel\u002Ftraverse\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n convert-source-map \"^1.1.0\"\n debug \"^4.1.0\"\n json5 \"^2.1.0\"\n lodash \"^4.17.13\"\n resolve \"^1.3.2\"\n semver \"^5.4.1\"\n source-map \"^0.5.0\"\n\n\"@babel\u002Fgenerator@^7.4.0\", \"@babel\u002Fgenerator@^7.6.0\", \"@babel\u002Fgenerator@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fgenerator\u002F-\u002Fgenerator-7.7.0.tgz#c6d4d1f7a0d6e139cbd01aca73170b0bff5425b4\"\n integrity sha512-1wdJ6UxHyL1XoJQ119JmvuRX27LRih7iYStMPZOWAjQqeAabFg3dYXKMpgihma+to+0ADsTVVt6oRyUxWZw6Mw==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.7.0\"\n jsesc \"^2.5.1\"\n lodash \"^4.17.13\"\n source-map \"^0.5.0\"\n\n\"@babel\u002Fhelper-annotate-as-pure@^7.0.0\", \"@babel\u002Fhelper-annotate-as-pure@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-annotate-as-pure\u002F-\u002Fhelper-annotate-as-pure-7.7.0.tgz#efc54032d43891fe267679e63f6860aa7dbf4a5e\"\n integrity sha512-k50CQxMlYTYo+GGyUGFwpxKVtxVJi9yh61sXZji3zYHccK9RYliZGSTOgci85T+r+0VFN2nWbGM04PIqwfrpMg==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-builder-binary-assignment-operator-visitor@^7.1.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-builder-binary-assignment-operator-visitor\u002F-\u002Fhelper-builder-binary-assignment-operator-visitor-7.7.0.tgz#32dd9551d6ed3a5fc2edc50d6912852aa18274d9\"\n integrity sha512-Cd8r8zs4RKDwMG\u002F92lpZcnn5WPQ3LAMQbCw42oqUh4s7vsSN5ANUZjMel0OOnxDLq57hoDDbai+ryygYfCTOsw==\n dependencies:\n \"@babel\u002Fhelper-explode-assignable-expression\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-builder-react-jsx@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-builder-react-jsx\u002F-\u002Fhelper-builder-react-jsx-7.7.0.tgz#c6b8254d305bacd62beb648e4dea7d3ed79f352d\"\n integrity sha512-LSln3cexwInTMYYoFeVLKnYPPMfWNJ8PubTBs3hkh7wCu9iBaqq1OOyW+xGmEdLxT1nhsl+9SJ+h2oUDYz0l2A==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.7.0\"\n esutils \"^2.0.0\"\n\n\"@babel\u002Fhelper-call-delegate@^7.4.4\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-call-delegate\u002F-\u002Fhelper-call-delegate-7.7.0.tgz#df8942452c2c1a217335ca7e393b9afc67f668dc\"\n integrity sha512-Su0Mdq7uSSWGZayGMMQ+z6lnL00mMCnGAbO\u002FR0ZO9odIdB\u002FWNU\u002FVfQKqMQU0fdIsxQYbRjDM4BixIa93SQIpvw==\n dependencies:\n \"@babel\u002Fhelper-hoist-variables\" \"^7.7.0\"\n \"@babel\u002Ftraverse\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-create-class-features-plugin@^7.5.5\", \"@babel\u002Fhelper-create-class-features-plugin@^7.6.0\", \"@babel\u002Fhelper-create-class-features-plugin@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-create-class-features-plugin\u002F-\u002Fhelper-create-class-features-plugin-7.7.0.tgz#bcdc223abbfdd386f94196ae2544987f8df775e8\"\n integrity sha512-MZiB5qvTWoyiFOgootmRSDV1udjIqJW\u002F8lmxgzKq6oDqxdmHUjeP2ZUOmgHdYjmUVNABqRrHjYAYRvj8Eox\u002FUA==\n dependencies:\n \"@babel\u002Fhelper-function-name\" \"^7.7.0\"\n \"@babel\u002Fhelper-member-expression-to-functions\" \"^7.7.0\"\n \"@babel\u002Fhelper-optimise-call-expression\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fhelper-replace-supers\" \"^7.7.0\"\n \"@babel\u002Fhelper-split-export-declaration\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-create-regexp-features-plugin@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-create-regexp-features-plugin\u002F-\u002Fhelper-create-regexp-features-plugin-7.7.0.tgz#2e8badfe201cfafb5d930f46cf1e0b6f1cdcab23\"\n integrity sha512-ZhagAAVGD3L6MPM9\u002FzZi7RRteonfBFLVUz3kjsnYsMAtr9hOJCKI9BAKIMpqn3NyWicPieoX779UL+7\u002F3BEAOA==\n dependencies:\n \"@babel\u002Fhelper-regex\" \"^7.4.4\"\n regexpu-core \"^4.6.0\"\n\n\"@babel\u002Fhelper-define-map@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-define-map\u002F-\u002Fhelper-define-map-7.7.0.tgz#60b0e9fd60def9de5054c38afde8c8ee409c7529\"\n integrity sha512-kPKWPb0dMpZi+ov1hJiwse9dWweZsz3V9rP4KdytnX1E7z3cTNmFGglwklzFPuqIcHLIY3bgKSs4vkwXXdflQA==\n dependencies:\n \"@babel\u002Fhelper-function-name\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n lodash \"^4.17.13\"\n\n\"@babel\u002Fhelper-explode-assignable-expression@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-explode-assignable-expression\u002F-\u002Fhelper-explode-assignable-expression-7.7.0.tgz#db2a6705555ae1f9f33b4b8212a546bc7f9dc3ef\"\n integrity sha512-CDs26w2shdD1urNUAji2RJXyBFCaR+iBEGnFz3l7maizMkQe3saVw9WtjG1tz8CwbjvlFnaSLVhgnu1SWaherg==\n dependencies:\n \"@babel\u002Ftraverse\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-function-name@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-function-name\u002F-\u002Fhelper-function-name-7.7.0.tgz#44a5ad151cfff8ed2599c91682dda2ec2c8430a3\"\n integrity sha512-tDsJgMUAP00Ugv8O2aGEua5I2apkaQO7lBGUq1ocwN3G23JE5Dcq0uh3GvFTChPa4b40AWiAsLvCZOA2rdnQ7Q==\n dependencies:\n \"@babel\u002Fhelper-get-function-arity\" \"^7.7.0\"\n \"@babel\u002Ftemplate\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-get-function-arity@^7.0.0\", \"@babel\u002Fhelper-get-function-arity@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-get-function-arity\u002F-\u002Fhelper-get-function-arity-7.7.0.tgz#c604886bc97287a1d1398092bc666bc3d7d7aa2d\"\n integrity sha512-tLdojOTz4vWcEnHWHCuPN5P85JLZWbm5Fx5ZsMEMPhF3Uoe3O7awrbM2nQ04bDOUToH\u002F2tH\u002FezKEOR8zEYzqyw==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-hoist-variables@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-hoist-variables\u002F-\u002Fhelper-hoist-variables-7.7.0.tgz#b4552e4cfe5577d7de7b183e193e84e4ec538c81\"\n integrity sha512-LUe\u002F92NqsDAkJjjCEWkNe+\u002FPcpnisvnqdlRe19FahVapa4jndeuJ+FBiTX1rcAKWKcJGE+C3Q3tuEuxkSmCEiQ==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-member-expression-to-functions@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-member-expression-to-functions\u002F-\u002Fhelper-member-expression-to-functions-7.7.0.tgz#472b93003a57071f95a541ea6c2b098398bcad8a\"\n integrity sha512-QaCZLO2RtBcmvO\u002FekOLp8p7R5X2JriKRizeDpm5ChATAFWrrYDcDxPuCIBXKyBjY+i1vYSdcUTMIb8psfxHDPA==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-module-imports@^7.0.0\", \"@babel\u002Fhelper-module-imports@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-module-imports\u002F-\u002Fhelper-module-imports-7.7.0.tgz#99c095889466e5f7b6d66d98dffc58baaf42654d\"\n integrity sha512-Dv3hLKIC1jyfTkClvyEkYP2OlkzNvWs5+Q8WgPbxM5LMeorons7iPP91JM+DU7tRbhqA1ZeooPaMFvQrn23RHw==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-module-transforms@^7.1.0\", \"@babel\u002Fhelper-module-transforms@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-module-transforms\u002F-\u002Fhelper-module-transforms-7.7.0.tgz#154a69f0c5b8fd4d39e49750ff7ac4faa3f36786\"\n integrity sha512-rXEefBuheUYQyX4WjV19tuknrJFwyKw0HgzRwbkyTbB+Dshlq7eqkWbyjzToLrMZk\u002F5wKVKdWFluiAsVkHXvuQ==\n dependencies:\n \"@babel\u002Fhelper-module-imports\" \"^7.7.0\"\n \"@babel\u002Fhelper-simple-access\" \"^7.7.0\"\n \"@babel\u002Fhelper-split-export-declaration\" \"^7.7.0\"\n \"@babel\u002Ftemplate\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n lodash \"^4.17.13\"\n\n\"@babel\u002Fhelper-optimise-call-expression@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-optimise-call-expression\u002F-\u002Fhelper-optimise-call-expression-7.7.0.tgz#4f66a216116a66164135dc618c5d8b7a959f9365\"\n integrity sha512-48TeqmbazjNU\u002F65niiiJIJRc5JozB8acui1OS7bSd6PgxfuovWsvjfWSzlgx+gPFdVveNzUdpdIg5l56Pl5jqg==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-plugin-utils@^7.0.0\":\n version \"7.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-plugin-utils\u002F-\u002Fhelper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250\"\n integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ\u002FYgEAKDM1MOeMeZu9Ld\u002FbDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==\n\n\"@babel\u002Fhelper-regex@^7.0.0\", \"@babel\u002Fhelper-regex@^7.4.4\":\n version \"7.5.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-regex\u002F-\u002Fhelper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351\"\n integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==\n dependencies:\n lodash \"^4.17.13\"\n\n\"@babel\u002Fhelper-remap-async-to-generator@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-remap-async-to-generator\u002F-\u002Fhelper-remap-async-to-generator-7.7.0.tgz#4d69ec653e8bff5bce62f5d33fc1508f223c75a7\"\n integrity sha512-pHx7RN8X0UNHPB\u002FfnuDnRXVZ316ZigkO8y8D835JlZ2SSdFKb6yH9MIYRU4fy\u002FKPe5sPHDFOPvf8QLdbAGGiyw==\n dependencies:\n \"@babel\u002Fhelper-annotate-as-pure\" \"^7.7.0\"\n \"@babel\u002Fhelper-wrap-function\" \"^7.7.0\"\n \"@babel\u002Ftemplate\" \"^7.7.0\"\n \"@babel\u002Ftraverse\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-replace-supers@^7.5.5\", \"@babel\u002Fhelper-replace-supers@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-replace-supers\u002F-\u002Fhelper-replace-supers-7.7.0.tgz#d5365c8667fe7cbd13b8ddddceb9bd7f2b387512\"\n integrity sha512-5ALYEul5V8xNdxEeWvRsBzLMxQksT7MaStpxjJf9KsnLxpAKBtfw5NeMKZJSYDa0lKdOcy0g+JT\u002Ff5mPSulUgg==\n dependencies:\n \"@babel\u002Fhelper-member-expression-to-functions\" \"^7.7.0\"\n \"@babel\u002Fhelper-optimise-call-expression\" \"^7.7.0\"\n \"@babel\u002Ftraverse\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-simple-access@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-simple-access\u002F-\u002Fhelper-simple-access-7.7.0.tgz#97a8b6c52105d76031b86237dc1852b44837243d\"\n integrity sha512-AJ7IZD7Eem3zZRuj5JtzFAptBw7pMlS3y8Qv09vaBWoFsle0d1kAn5Wq6Q9MyBXITPOKnxwkZKoAm4bopmv26g==\n dependencies:\n \"@babel\u002Ftemplate\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-split-export-declaration@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-split-export-declaration\u002F-\u002Fhelper-split-export-declaration-7.7.0.tgz#1365e74ea6c614deeb56ebffabd71006a0eb2300\"\n integrity sha512-HgYSI8rH08neWlAH3CcdkFg9qX9YsZysZI5GD8LjhQib\u002FmM0jGOZOVkoUiiV2Hu978fRtjtsGsW6w0pKHUWtqA==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelper-wrap-function@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelper-wrap-function\u002F-\u002Fhelper-wrap-function-7.7.0.tgz#15af3d3e98f8417a60554acbb6c14e75e0b33b74\"\n integrity sha512-sd4QjeMgQqzshSjecZjOp8uKfUtnpmCyQhKQrVJBBgeHAB\u002F0FPi33h3AbVlVp07qQtMD4QgYSzaMI7VwncNK\u002Fw==\n dependencies:\n \"@babel\u002Fhelper-function-name\" \"^7.7.0\"\n \"@babel\u002Ftemplate\" \"^7.7.0\"\n \"@babel\u002Ftraverse\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhelpers@^7.6.0\", \"@babel\u002Fhelpers@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhelpers\u002F-\u002Fhelpers-7.7.0.tgz#359bb5ac3b4726f7c1fde0ec75f64b3f4275d60b\"\n integrity sha512-VnNwL4YOhbejHb7x\u002Fb5F39Zdg5vIQpUUNzJwx0ww1EcVRt41bbGRZWhAURrfY32T5zTT3qwNOQFWpn+P0i0a2g==\n dependencies:\n \"@babel\u002Ftemplate\" \"^7.7.0\"\n \"@babel\u002Ftraverse\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Fhighlight@^7.0.0\":\n version \"7.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fhighlight\u002F-\u002Fhighlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540\"\n integrity sha512-7dV4eu9gBxoM0dAnj\u002FBCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==\n dependencies:\n chalk \"^2.0.0\"\n esutils \"^2.0.2\"\n js-tokens \"^4.0.0\"\n\n\"@babel\u002Fparser@^7.0.0\", \"@babel\u002Fparser@^7.1.0\", \"@babel\u002Fparser@^7.4.3\", \"@babel\u002Fparser@^7.6.0\", \"@babel\u002Fparser@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fparser\u002F-\u002Fparser-7.7.0.tgz#232618f6e8947bc54b407fa1f1c91a22758e7159\"\n integrity sha512-GqL+Z0d7B7ADlQBMXlJgvXEbtt5qlqd1YQ5fr12hTSfh7O\u002FvgrEIvJxU2e7aSVrEUn75zTZ6Nd0s8tthrlZnrQ==\n\n\"@babel\u002Fplugin-proposal-async-generator-functions@^7.2.0\", \"@babel\u002Fplugin-proposal-async-generator-functions@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-proposal-async-generator-functions\u002F-\u002Fplugin-proposal-async-generator-functions-7.7.0.tgz#83ef2d6044496b4c15d8b4904e2219e6dccc6971\"\n integrity sha512-ot\u002FEZVvf3mXtZq0Pd0+tSOfGWMizqmOohXmNZg6LNFjHOV+wOPv7BvVYh8oPR8LhpIP3ye8nNooKL50YRWxpYA==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fhelper-remap-async-to-generator\" \"^7.7.0\"\n \"@babel\u002Fplugin-syntax-async-generators\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-proposal-class-properties@7.5.5\":\n version \"7.5.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-proposal-class-properties\u002F-\u002Fplugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4\"\n integrity sha512-AF79FsnWFxjlaosgdi421vmYG6\u002Fjg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1\u002FA==\n dependencies:\n \"@babel\u002Fhelper-create-class-features-plugin\" \"^7.5.5\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-proposal-decorators@7.6.0\":\n version \"7.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-proposal-decorators\u002F-\u002Fplugin-proposal-decorators-7.6.0.tgz#6659d2572a17d70abd68123e89a12a43d90aa30c\"\n integrity sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg==\n dependencies:\n \"@babel\u002Fhelper-create-class-features-plugin\" \"^7.6.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-decorators\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-proposal-dynamic-import@^7.5.0\", \"@babel\u002Fplugin-proposal-dynamic-import@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-proposal-dynamic-import\u002F-\u002Fplugin-proposal-dynamic-import-7.7.0.tgz#dc02a8bad8d653fb59daf085516fa416edd2aa7f\"\n integrity sha512-7poL3Xi+QFPC7sGAzEIbXUyYzGJwbc2+gSD0AkiC5k52kH2cqHdqxm5hNFfLW3cRSTcx9bN0Fl7\u002F6zWcLLnKAQ==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-dynamic-import\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-proposal-json-strings@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-proposal-json-strings\u002F-\u002Fplugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317\"\n integrity sha512-MAFV1CA\u002FYVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv\u002FXCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-json-strings\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-proposal-object-rest-spread@7.5.5\":\n version \"7.5.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-proposal-object-rest-spread\u002F-\u002Fplugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58\"\n integrity sha512-F2DxJJSQ7f64FyTVl5cw\u002F9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh\u002FUtx1CJz4uyKlQ4uH+bJPbEhMV7Zw==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-object-rest-spread\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-proposal-object-rest-spread@^7.5.5\", \"@babel\u002Fplugin-proposal-object-rest-spread@^7.6.2\":\n version \"7.6.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-proposal-object-rest-spread\u002F-\u002Fplugin-proposal-object-rest-spread-7.6.2.tgz#8ffccc8f3a6545e9f78988b6bf4fe881b88e8096\"\n integrity sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta\u002FzlD9N67BfQT8uYwkRswiu2hU6nJKrjrt\u002F58aH\u002FvqfQlR\u002F9yId\u002F7A2gWw==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-object-rest-spread\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-proposal-optional-catch-binding@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-proposal-optional-catch-binding\u002F-\u002Fplugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5\"\n integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-optional-catch-binding\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-proposal-unicode-property-regex@^7.4.4\", \"@babel\u002Fplugin-proposal-unicode-property-regex@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-proposal-unicode-property-regex\u002F-\u002Fplugin-proposal-unicode-property-regex-7.7.0.tgz#549fe1717a1bd0a2a7e63163841cb37e78179d5d\"\n integrity sha512-mk34H+hp7kRBWJOOAR0ZMGCydgKMD4iN9TpDRp3IIcbunltxEY89XSimc6WbtSLCDrwcdy\u002FEEw7h5CFCzxTchw==\n dependencies:\n \"@babel\u002Fhelper-create-regexp-features-plugin\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-syntax-async-generators@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-syntax-async-generators\u002F-\u002Fplugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f\"\n integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN\u002FFVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-syntax-decorators@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-syntax-decorators\u002F-\u002Fplugin-syntax-decorators-7.2.0.tgz#c50b1b957dcc69e4b1127b65e1c33eef61570c1b\"\n integrity sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv\u002FDnXVC\u002F+agHCklYWA==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-syntax-dynamic-import@7.2.0\", \"@babel\u002Fplugin-syntax-dynamic-import@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-syntax-dynamic-import\u002F-\u002Fplugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612\"\n integrity sha512-mVxuJ0YroI\u002Fh\u002FtbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-syntax-flow@^7.2.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-syntax-flow\u002F-\u002Fplugin-syntax-flow-7.7.0.tgz#5c9465bcd26354d5215294ea90ab1c706a571386\"\n integrity sha512-vQMV07p+L+jZeUnvX3pEJ9EiXGCjB5CTTvsirFD9rpEuATnoAvLBLoYbw1v5tyn3d2XxSuvEKi8cV3KqYUa0vQ==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-syntax-json-strings@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-syntax-json-strings\u002F-\u002Fplugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470\"\n integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG\u002F+uzqoRHTdcUpiZNg==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-syntax-jsx@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-syntax-jsx\u002F-\u002Fplugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7\"\n integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3\u002F4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-syntax-object-rest-spread@^7.0.0\", \"@babel\u002Fplugin-syntax-object-rest-spread@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-syntax-object-rest-spread\u002F-\u002Fplugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e\"\n integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-syntax-optional-catch-binding@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-syntax-optional-catch-binding\u002F-\u002Fplugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c\"\n integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX\u002FHv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II\u002Fq35Gc4NoMeDZyaUbj9w==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-syntax-top-level-await@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-syntax-top-level-await\u002F-\u002Fplugin-syntax-top-level-await-7.7.0.tgz#f5699549f50bbe8d12b1843a4e82f0a37bb65f4d\"\n integrity sha512-hi8FUNiFIY1fnUI2n1ViB1DR0R4QeK4iHcTlW6aJkrPoTdb8Rf1EMQ6GT3f67DDkYyWgew9DFoOZ6gOoEsdzTA==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-syntax-typescript@^7.2.0\":\n version \"7.3.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-syntax-typescript\u002F-\u002Fplugin-syntax-typescript-7.3.3.tgz#a7cc3f66119a9f7ebe2de5383cce193473d65991\"\n integrity sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-arrow-functions@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-arrow-functions\u002F-\u002Fplugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550\"\n integrity sha512-ER77Cax1+8\u002F8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-async-to-generator@^7.5.0\", \"@babel\u002Fplugin-transform-async-to-generator@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-async-to-generator\u002F-\u002Fplugin-transform-async-to-generator-7.7.0.tgz#e2b84f11952cf5913fe3438b7d2585042772f492\"\n integrity sha512-vLI2EFLVvRBL3d8roAMqtVY0Bm9C1QzLkdS57hiKrjUBSqsQYrBsMCeOg\u002F0KK7B0eK9V71J5mWcha9yyoI2tZw==\n dependencies:\n \"@babel\u002Fhelper-module-imports\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fhelper-remap-async-to-generator\" \"^7.7.0\"\n\n\"@babel\u002Fplugin-transform-block-scoped-functions@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-block-scoped-functions\u002F-\u002Fplugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190\"\n integrity sha512-ntQPR6q1\u002FNKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH\u002FBXvLIab1+BAI0w==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-block-scoping@^7.6.0\", \"@babel\u002Fplugin-transform-block-scoping@^7.6.3\":\n version \"7.6.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-block-scoping\u002F-\u002Fplugin-transform-block-scoping-7.6.3.tgz#6e854e51fbbaa84351b15d4ddafe342f3a5d542a\"\n integrity sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R\u002FlipAC6n9ub9maNW6RKdw==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n lodash \"^4.17.13\"\n\n\"@babel\u002Fplugin-transform-classes@^7.5.5\", \"@babel\u002Fplugin-transform-classes@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-classes\u002F-\u002Fplugin-transform-classes-7.7.0.tgz#b411ecc1b8822d24b81e5d184f24149136eddd4a\"\n integrity sha512-\u002Fb3cKIZwGeUesZheU9jNYcwrEA7f\u002FBo4IdPmvp7oHgvks2majB5BoT5byAql44fiNQYOPzhk2w8DbgfuafkMoA==\n dependencies:\n \"@babel\u002Fhelper-annotate-as-pure\" \"^7.7.0\"\n \"@babel\u002Fhelper-define-map\" \"^7.7.0\"\n \"@babel\u002Fhelper-function-name\" \"^7.7.0\"\n \"@babel\u002Fhelper-optimise-call-expression\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fhelper-replace-supers\" \"^7.7.0\"\n \"@babel\u002Fhelper-split-export-declaration\" \"^7.7.0\"\n globals \"^11.1.0\"\n\n\"@babel\u002Fplugin-transform-computed-properties@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-computed-properties\u002F-\u002Fplugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da\"\n integrity sha512-kP\u002FdrqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS\u002FJ4lMxnqs153\u002FT3+DmCEAkC5cpA==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-destructuring@7.6.0\", \"@babel\u002Fplugin-transform-destructuring@^7.6.0\":\n version \"7.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-destructuring\u002F-\u002Fplugin-transform-destructuring-7.6.0.tgz#44bbe08b57f4480094d57d9ffbcd96d309075ba6\"\n integrity sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM\u002FYqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-dotall-regex@^7.4.4\", \"@babel\u002Fplugin-transform-dotall-regex@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-dotall-regex\u002F-\u002Fplugin-transform-dotall-regex-7.7.0.tgz#c5c9ecacab3a5e0c11db6981610f0c32fd698b3b\"\n integrity sha512-3QQlF7hSBnSuM1hQ0pS3pmAbWLax\u002FuGNCbPBND9y+oJ4Y776jsyujG2k0Sn2Aj2a0QwVOiOFL5QVPA7spjvzSA==\n dependencies:\n \"@babel\u002Fhelper-create-regexp-features-plugin\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-duplicate-keys@^7.5.0\":\n version \"7.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-duplicate-keys\u002F-\u002Fplugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853\"\n integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29\u002FDk0SMKE\u002FeOI7f1HhBdNhR\u002FzxJDqrgpoDTq5YSLH\u002FXMsQ==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-exponentiation-operator@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-exponentiation-operator\u002F-\u002Fplugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008\"\n integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==\n dependencies:\n \"@babel\u002Fhelper-builder-binary-assignment-operator-visitor\" \"^7.1.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-flow-strip-types@7.4.4\":\n version \"7.4.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-flow-strip-types\u002F-\u002Fplugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7\"\n integrity sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu\u002FYzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-flow\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-transform-for-of@^7.4.4\":\n version \"7.4.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-for-of\u002F-\u002Fplugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556\"\n integrity sha512-9T\u002F5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn\u002F6iOymDqtTKWnr\u002FBtRKN9JwbKtdQ==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-function-name@^7.4.4\", \"@babel\u002Fplugin-transform-function-name@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-function-name\u002F-\u002Fplugin-transform-function-name-7.7.0.tgz#0fa786f1eef52e3b7d4fc02e54b2129de8a04c2a\"\n integrity sha512-P5HKu0d9+CzZxP5jcrWdpe7ZlFDe24bmqP6a6X8BHEBl\u002FeizAsY8K6LX8LASZL0Jxdjm5eEfzp+FIrxCm\u002Fp8bA==\n dependencies:\n \"@babel\u002Fhelper-function-name\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-literals@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-literals\u002F-\u002Fplugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1\"\n integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c\u002FGM5\u002FSaML0w\u002Fr4ZB7sAneD\u002FpiDJtwdKlNckXeyGK7wlwg2E2w33C\u002FHh+VFCg==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-member-expression-literals@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-member-expression-literals\u002F-\u002Fplugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d\"\n integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR\u002Fv7Nc1rbBtnc7FA==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-modules-amd@^7.5.0\":\n version \"7.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-modules-amd\u002F-\u002Fplugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91\"\n integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw\u002Ffvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==\n dependencies:\n \"@babel\u002Fhelper-module-transforms\" \"^7.1.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n babel-plugin-dynamic-import-node \"^2.3.0\"\n\n\"@babel\u002Fplugin-transform-modules-commonjs@^7.6.0\", \"@babel\u002Fplugin-transform-modules-commonjs@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-modules-commonjs\u002F-\u002Fplugin-transform-modules-commonjs-7.7.0.tgz#3e5ffb4fd8c947feede69cbe24c9554ab4113fe3\"\n integrity sha512-KEMyWNNWnjOom8vR\u002F1+d+Ocz\u002FmILZG\u002FeyHHO06OuBQ2aNhxT62fr4y6fGOplRx+CxCSp3IFwesL8WdINfY\u002F3kg==\n dependencies:\n \"@babel\u002Fhelper-module-transforms\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fhelper-simple-access\" \"^7.7.0\"\n babel-plugin-dynamic-import-node \"^2.3.0\"\n\n\"@babel\u002Fplugin-transform-modules-systemjs@^7.5.0\", \"@babel\u002Fplugin-transform-modules-systemjs@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-modules-systemjs\u002F-\u002Fplugin-transform-modules-systemjs-7.7.0.tgz#9baf471213af9761c1617bb12fd278e629041417\"\n integrity sha512-ZAuFgYjJzDNv77AjXRqzQGlQl4HdUM6j296ee4fwKVZfhDR9LAGxfvXjBkb06gNETPnN0sLqRm9Gxg4wZH6dXg==\n dependencies:\n \"@babel\u002Fhelper-hoist-variables\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n babel-plugin-dynamic-import-node \"^2.3.0\"\n\n\"@babel\u002Fplugin-transform-modules-umd@^7.2.0\", \"@babel\u002Fplugin-transform-modules-umd@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-modules-umd\u002F-\u002Fplugin-transform-modules-umd-7.7.0.tgz#d62c7da16670908e1d8c68ca0b5d4c0097b69966\"\n integrity sha512-u7eBA03zmUswQ9LQ7Qw0\u002FieC1pcAkbp5OQatbWUzY1PaBccvuJXUkYzoN1g7cqp7dbTu6Dp9bXyalBvD04AANA==\n dependencies:\n \"@babel\u002Fhelper-module-transforms\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-named-capturing-groups-regex@^7.6.0\", \"@babel\u002Fplugin-transform-named-capturing-groups-regex@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-named-capturing-groups-regex\u002F-\u002Fplugin-transform-named-capturing-groups-regex-7.7.0.tgz#358e6fd869b9a4d8f5cbc79e4ed4fc340e60dcaf\"\n integrity sha512-+SicSJoKouPctL+j1pqktRVCgy+xAch1hWWTMy13j0IflnyNjaoskj+DwRQFimHbLqO3sq2oN2CXMvXq3Bgapg==\n dependencies:\n \"@babel\u002Fhelper-create-regexp-features-plugin\" \"^7.7.0\"\n\n\"@babel\u002Fplugin-transform-new-target@^7.4.4\":\n version \"7.4.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-new-target\u002F-\u002Fplugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5\"\n integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-object-super@^7.5.5\":\n version \"7.5.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-object-super\u002F-\u002Fplugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9\"\n integrity sha512-un1zJQAhSosGFBduPgN\u002FYFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fhelper-replace-supers\" \"^7.5.5\"\n\n\"@babel\u002Fplugin-transform-parameters@^7.4.4\":\n version \"7.4.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-parameters\u002F-\u002Fplugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16\"\n integrity sha512-oMh5DUO1V63nZcu\u002FZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==\n dependencies:\n \"@babel\u002Fhelper-call-delegate\" \"^7.4.4\"\n \"@babel\u002Fhelper-get-function-arity\" \"^7.0.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-property-literals@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-property-literals\u002F-\u002Fplugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905\"\n integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG\u002Fis5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-react-constant-elements@^7.0.0\":\n version \"7.6.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-react-constant-elements\u002F-\u002Fplugin-transform-react-constant-elements-7.6.3.tgz#9fc9ea060b983c7c035acbe481cbe1fb1245bfff\"\n integrity sha512-1\u002FYogSSU7Tby9rq2VCmhuRg+6pxsHy2rI7w\u002Foo8RKoBt6uBUFG+mk6x13kK+FY1\u002FggN92HAfg7ADd1v1+NCOKg==\n dependencies:\n \"@babel\u002Fhelper-annotate-as-pure\" \"^7.0.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-react-display-name@7.2.0\", \"@babel\u002Fplugin-transform-react-display-name@^7.0.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-react-display-name\u002F-\u002Fplugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0\"\n integrity sha512-Htf\u002FtPa5haZvRMiNSQSFifK12gtr\u002F8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-react-jsx-self@^7.0.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-react-jsx-self\u002F-\u002Fplugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba\"\n integrity sha512-v6S5L\u002FmyicZEy+jr6ielB0OR8h+EH\u002F1QFx\u002FYJ7c7Ua+7lqsjj\u002FvW6fD5FR9hB\u002F6y7mGbfT4vAURn3xqBxsUcdg==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-jsx\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-transform-react-jsx-source@^7.0.0\":\n version \"7.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-react-jsx-source\u002F-\u002Fplugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b\"\n integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam\u002F1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-jsx\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-transform-react-jsx@^7.0.0\", \"@babel\u002Fplugin-transform-react-jsx@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-react-jsx\u002F-\u002Fplugin-transform-react-jsx-7.7.0.tgz#834b0723ba78cd4d24d7d629300c2270f516d0b7\"\n integrity sha512-mXhBtyVB1Ujfy+0L6934jeJcSXj\u002FVCg6whZzEcgiiZHNS0PGC7vUCsZDQCxxztkpIdF+dY1fUMcjAgEOC3ZOMQ==\n dependencies:\n \"@babel\u002Fhelper-builder-react-jsx\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-jsx\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-transform-regenerator@^7.4.5\", \"@babel\u002Fplugin-transform-regenerator@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-regenerator\u002F-\u002Fplugin-transform-regenerator-7.7.0.tgz#f1b20b535e7716b622c99e989259d7dd942dd9cc\"\n integrity sha512-AXmvnC+0wuj\u002FcFkkS\u002FHFHIojxH3ffSXE+ttulrqWjZZRaUOonfJc60e1wSNT4rV8tIunvu\u002FR3wCp71\u002FtLAa9xg==\n dependencies:\n regenerator-transform \"^0.14.0\"\n\n\"@babel\u002Fplugin-transform-reserved-words@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-reserved-words\u002F-\u002Fplugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634\"\n integrity sha512-fz43fqW8E1tAB3DKF19\u002Fvxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-runtime@7.6.0\":\n version \"7.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-runtime\u002F-\u002Fplugin-transform-runtime-7.6.0.tgz#85a3cce402b28586138e368fce20ab3019b9713e\"\n integrity sha512-Da8tMf7uClzwUm\u002FpnJ1S93m\u002FaRXmoYNDD7TkHua8xBDdaAs54uZpTWvEt6NGwmoVMb9mZbntfTqmG2oSzN\u002F7Vg==\n dependencies:\n \"@babel\u002Fhelper-module-imports\" \"^7.0.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n resolve \"^1.8.1\"\n semver \"^5.5.1\"\n\n\"@babel\u002Fplugin-transform-shorthand-properties@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-shorthand-properties\u002F-\u002Fplugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0\"\n integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW\u002FiG9cjtuOI8s1RuL\u002F3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-spread@^7.2.0\", \"@babel\u002Fplugin-transform-spread@^7.6.2\":\n version \"7.6.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-spread\u002F-\u002Fplugin-transform-spread-7.6.2.tgz#fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd\"\n integrity sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF\u002Fo99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3\u002F+PFg==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-sticky-regex@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-sticky-regex\u002F-\u002Fplugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1\"\n integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fhelper-regex\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-template-literals@^7.4.4\":\n version \"7.4.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-template-literals\u002F-\u002Fplugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0\"\n integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==\n dependencies:\n \"@babel\u002Fhelper-annotate-as-pure\" \"^7.0.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-typeof-symbol@^7.2.0\":\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-typeof-symbol\u002F-\u002Fplugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2\"\n integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fplugin-transform-typescript@^7.6.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-typescript\u002F-\u002Fplugin-transform-typescript-7.7.0.tgz#182be03fa8bd2ffd0629791a1eaa4373b7589d38\"\n integrity sha512-y3KYbcfKe+8ziRXiGhhnGrVysDBo5+aJdB+x8sanM0K41cnmK7Q5vBlQLMbOnW\u002FHPjLG9bg7dLgYDQZZG9T09g==\n dependencies:\n \"@babel\u002Fhelper-create-class-features-plugin\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-syntax-typescript\" \"^7.2.0\"\n\n\"@babel\u002Fplugin-transform-unicode-regex@^7.4.4\", \"@babel\u002Fplugin-transform-unicode-regex@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fplugin-transform-unicode-regex\u002F-\u002Fplugin-transform-unicode-regex-7.7.0.tgz#743d9bcc44080e3cc7d49259a066efa30f9187a3\"\n integrity sha512-RrThb0gdrNwFAqEAAx9OWgtx6ICK69x7i9tCnMdVrxQwSDp\u002FAbu9DXFU5Hh16VP33Rmxh04+NGW28NsIkFvFKA==\n dependencies:\n \"@babel\u002Fhelper-create-regexp-features-plugin\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n\n\"@babel\u002Fpreset-env@7.6.0\":\n version \"7.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fpreset-env\u002F-\u002Fpreset-env-7.6.0.tgz#aae4141c506100bb2bfaa4ac2a5c12b395619e50\"\n integrity sha512-1efzxFv\u002FTcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX\u002Fayi3owsSqoQ4fw8LkfK9SYg==\n dependencies:\n \"@babel\u002Fhelper-module-imports\" \"^7.0.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-proposal-async-generator-functions\" \"^7.2.0\"\n \"@babel\u002Fplugin-proposal-dynamic-import\" \"^7.5.0\"\n \"@babel\u002Fplugin-proposal-json-strings\" \"^7.2.0\"\n \"@babel\u002Fplugin-proposal-object-rest-spread\" \"^7.5.5\"\n \"@babel\u002Fplugin-proposal-optional-catch-binding\" \"^7.2.0\"\n \"@babel\u002Fplugin-proposal-unicode-property-regex\" \"^7.4.4\"\n \"@babel\u002Fplugin-syntax-async-generators\" \"^7.2.0\"\n \"@babel\u002Fplugin-syntax-dynamic-import\" \"^7.2.0\"\n \"@babel\u002Fplugin-syntax-json-strings\" \"^7.2.0\"\n \"@babel\u002Fplugin-syntax-object-rest-spread\" \"^7.2.0\"\n \"@babel\u002Fplugin-syntax-optional-catch-binding\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-arrow-functions\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-async-to-generator\" \"^7.5.0\"\n \"@babel\u002Fplugin-transform-block-scoped-functions\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-block-scoping\" \"^7.6.0\"\n \"@babel\u002Fplugin-transform-classes\" \"^7.5.5\"\n \"@babel\u002Fplugin-transform-computed-properties\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-destructuring\" \"^7.6.0\"\n \"@babel\u002Fplugin-transform-dotall-regex\" \"^7.4.4\"\n \"@babel\u002Fplugin-transform-duplicate-keys\" \"^7.5.0\"\n \"@babel\u002Fplugin-transform-exponentiation-operator\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-for-of\" \"^7.4.4\"\n \"@babel\u002Fplugin-transform-function-name\" \"^7.4.4\"\n \"@babel\u002Fplugin-transform-literals\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-member-expression-literals\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-modules-amd\" \"^7.5.0\"\n \"@babel\u002Fplugin-transform-modules-commonjs\" \"^7.6.0\"\n \"@babel\u002Fplugin-transform-modules-systemjs\" \"^7.5.0\"\n \"@babel\u002Fplugin-transform-modules-umd\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-named-capturing-groups-regex\" \"^7.6.0\"\n \"@babel\u002Fplugin-transform-new-target\" \"^7.4.4\"\n \"@babel\u002Fplugin-transform-object-super\" \"^7.5.5\"\n \"@babel\u002Fplugin-transform-parameters\" \"^7.4.4\"\n \"@babel\u002Fplugin-transform-property-literals\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-regenerator\" \"^7.4.5\"\n \"@babel\u002Fplugin-transform-reserved-words\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-shorthand-properties\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-spread\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-sticky-regex\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-template-literals\" \"^7.4.4\"\n \"@babel\u002Fplugin-transform-typeof-symbol\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-unicode-regex\" \"^7.4.4\"\n \"@babel\u002Ftypes\" \"^7.6.0\"\n browserslist \"^4.6.0\"\n core-js-compat \"^3.1.1\"\n invariant \"^2.2.2\"\n js-levenshtein \"^1.1.3\"\n semver \"^5.5.0\"\n\n\"@babel\u002Fpreset-env@^7.4.5\":\n version \"7.7.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fpreset-env\u002F-\u002Fpreset-env-7.7.1.tgz#04a2ff53552c5885cf1083e291c8dd5490f744bb\"\n integrity sha512-\u002F93SWhi3PxcVTDpSqC+Dp4YxUu3qZ4m7I76k0w73wYfn7bGVuRIO4QUz95aJksbS+AD1\u002FmT1Ie7rbkT0wSplaA==\n dependencies:\n \"@babel\u002Fhelper-module-imports\" \"^7.7.0\"\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-proposal-async-generator-functions\" \"^7.7.0\"\n \"@babel\u002Fplugin-proposal-dynamic-import\" \"^7.7.0\"\n \"@babel\u002Fplugin-proposal-json-strings\" \"^7.2.0\"\n \"@babel\u002Fplugin-proposal-object-rest-spread\" \"^7.6.2\"\n \"@babel\u002Fplugin-proposal-optional-catch-binding\" \"^7.2.0\"\n \"@babel\u002Fplugin-proposal-unicode-property-regex\" \"^7.7.0\"\n \"@babel\u002Fplugin-syntax-async-generators\" \"^7.2.0\"\n \"@babel\u002Fplugin-syntax-dynamic-import\" \"^7.2.0\"\n \"@babel\u002Fplugin-syntax-json-strings\" \"^7.2.0\"\n \"@babel\u002Fplugin-syntax-object-rest-spread\" \"^7.2.0\"\n \"@babel\u002Fplugin-syntax-optional-catch-binding\" \"^7.2.0\"\n \"@babel\u002Fplugin-syntax-top-level-await\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-arrow-functions\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-async-to-generator\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-block-scoped-functions\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-block-scoping\" \"^7.6.3\"\n \"@babel\u002Fplugin-transform-classes\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-computed-properties\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-destructuring\" \"^7.6.0\"\n \"@babel\u002Fplugin-transform-dotall-regex\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-duplicate-keys\" \"^7.5.0\"\n \"@babel\u002Fplugin-transform-exponentiation-operator\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-for-of\" \"^7.4.4\"\n \"@babel\u002Fplugin-transform-function-name\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-literals\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-member-expression-literals\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-modules-amd\" \"^7.5.0\"\n \"@babel\u002Fplugin-transform-modules-commonjs\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-modules-systemjs\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-modules-umd\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-named-capturing-groups-regex\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-new-target\" \"^7.4.4\"\n \"@babel\u002Fplugin-transform-object-super\" \"^7.5.5\"\n \"@babel\u002Fplugin-transform-parameters\" \"^7.4.4\"\n \"@babel\u002Fplugin-transform-property-literals\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-regenerator\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-reserved-words\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-shorthand-properties\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-spread\" \"^7.6.2\"\n \"@babel\u002Fplugin-transform-sticky-regex\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-template-literals\" \"^7.4.4\"\n \"@babel\u002Fplugin-transform-typeof-symbol\" \"^7.2.0\"\n \"@babel\u002Fplugin-transform-unicode-regex\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.1\"\n browserslist \"^4.6.0\"\n core-js-compat \"^3.1.1\"\n invariant \"^2.2.2\"\n js-levenshtein \"^1.1.3\"\n semver \"^5.5.0\"\n\n\"@babel\u002Fpreset-react@7.0.0\":\n version \"7.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fpreset-react\u002F-\u002Fpreset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0\"\n integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT\u002FzMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-transform-react-display-name\" \"^7.0.0\"\n \"@babel\u002Fplugin-transform-react-jsx\" \"^7.0.0\"\n \"@babel\u002Fplugin-transform-react-jsx-self\" \"^7.0.0\"\n \"@babel\u002Fplugin-transform-react-jsx-source\" \"^7.0.0\"\n\n\"@babel\u002Fpreset-react@^7.0.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fpreset-react\u002F-\u002Fpreset-react-7.7.0.tgz#8ab0c4787d98cf1f5f22dabf115552bf9e4e406c\"\n integrity sha512-IXXgSUYBPHUGhUkH+89TR6faMcBtuMW0h5OHbMuVbL3\u002F5wK2g6a2M2BBpkLa+Kw0sAHiZ9dNVgqJMDP\u002FO4GRBA==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-transform-react-display-name\" \"^7.0.0\"\n \"@babel\u002Fplugin-transform-react-jsx\" \"^7.7.0\"\n \"@babel\u002Fplugin-transform-react-jsx-self\" \"^7.0.0\"\n \"@babel\u002Fplugin-transform-react-jsx-source\" \"^7.0.0\"\n\n\"@babel\u002Fpreset-typescript@7.6.0\":\n version \"7.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fpreset-typescript\u002F-\u002Fpreset-typescript-7.6.0.tgz#25768cb8830280baf47c45ab1a519a9977498c98\"\n integrity sha512-4xKw3tTcCm0qApyT6PqM9qniseCE79xGHiUnNdKGdxNsGUc2X7WwZybqIpnTmoukg3nhPceI5KPNzNqLNeIJww==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n \"@babel\u002Fplugin-transform-typescript\" \"^7.6.0\"\n\n\"@babel\u002Fruntime@7.6.0\":\n version \"7.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fruntime\u002F-\u002Fruntime-7.6.0.tgz#4fc1d642a9fd0299754e8b5de62c631cf5568205\"\n integrity sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0\u002FfbaWw\u002FmJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==\n dependencies:\n regenerator-runtime \"^0.13.2\"\n\n\"@babel\u002Fruntime@^7.0.0\", \"@babel\u002Fruntime@^7.1.2\", \"@babel\u002Fruntime@^7.3.4\", \"@babel\u002Fruntime@^7.4.0\", \"@babel\u002Fruntime@^7.4.2\", \"@babel\u002Fruntime@^7.4.4\", \"@babel\u002Fruntime@^7.4.5\", \"@babel\u002Fruntime@^7.5.1\", \"@babel\u002Fruntime@^7.6.0\", \"@babel\u002Fruntime@^7.6.2\":\n version \"7.7.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Fruntime\u002F-\u002Fruntime-7.7.1.tgz#b223497bbfbcbbb38116673904debc71470ca528\"\n integrity sha512-SQ0sS7KUJDvgCI2cpZG0nJygO6002oTbhgSuw4WcocsnbxLwL5Q8I3fqbJdyBAc3uFrWZiR2JomseuxSuci3SQ==\n dependencies:\n regenerator-runtime \"^0.13.2\"\n\n\"@babel\u002Ftemplate@^7.4.0\", \"@babel\u002Ftemplate@^7.6.0\", \"@babel\u002Ftemplate@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Ftemplate\u002F-\u002Ftemplate-7.7.0.tgz#4fadc1b8e734d97f56de39c77de76f2562e597d0\"\n integrity sha512-OKcwSYOW1mhWbnTBgQY5lvg1Fxg+VyfQGjcBduZFljfc044J5iDlnDSfhQ867O17XHiSCxYHUxHg2b7ryitbUQ==\n dependencies:\n \"@babel\u002Fcode-frame\" \"^7.0.0\"\n \"@babel\u002Fparser\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n\n\"@babel\u002Ftraverse@^7.0.0\", \"@babel\u002Ftraverse@^7.1.0\", \"@babel\u002Ftraverse@^7.4.3\", \"@babel\u002Ftraverse@^7.6.0\", \"@babel\u002Ftraverse@^7.7.0\":\n version \"7.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Ftraverse\u002F-\u002Ftraverse-7.7.0.tgz#9f5744346b8d10097fd2ec2eeffcaf19813cbfaf\"\n integrity sha512-ea\u002F3wRZc\u002F\u002Fe\u002FuwCpuBX2itrhI0U9l7+FsrKWyKGNyvWbuMcCG7ATKY2VI4wlg2b2TA39HHwIxnvmXvtiKsyn7w==\n dependencies:\n \"@babel\u002Fcode-frame\" \"^7.5.5\"\n \"@babel\u002Fgenerator\" \"^7.7.0\"\n \"@babel\u002Fhelper-function-name\" \"^7.7.0\"\n \"@babel\u002Fhelper-split-export-declaration\" \"^7.7.0\"\n \"@babel\u002Fparser\" \"^7.7.0\"\n \"@babel\u002Ftypes\" \"^7.7.0\"\n debug \"^4.1.0\"\n globals \"^11.1.0\"\n lodash \"^4.17.13\"\n\n\"@babel\u002Ftypes@^7.0.0\", \"@babel\u002Ftypes@^7.3.0\", \"@babel\u002Ftypes@^7.4.0\", \"@babel\u002Ftypes@^7.4.4\", \"@babel\u002Ftypes@^7.6.0\", \"@babel\u002Ftypes@^7.7.0\", \"@babel\u002Ftypes@^7.7.1\":\n version \"7.7.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@babel\u002Ftypes\u002F-\u002Ftypes-7.7.1.tgz#8b08ea368f2baff236613512cf67109e76285827\"\n integrity sha512-kN\u002FXdANDab9x1z5gcjDc9ePpxexkt+1EQ2MQUiM4XnMvQfvp87\u002F+6kY4Ko2maLXH+tei\u002FDgJ\u002FybFITeqqRwDiA==\n dependencies:\n esutils \"^2.0.2\"\n lodash \"^4.17.13\"\n to-fast-properties \"^2.0.0\"\n\n\"@cnakazawa\u002Fwatch@^1.0.3\":\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@cnakazawa\u002Fwatch\u002F-\u002Fwatch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef\"\n integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd\u002F3r9FL3BFIc3bBidYffCA==\n dependencies:\n exec-sh \"^0.3.2\"\n minimist \"^1.2.0\"\n\n\"@csstools\u002Fconvert-colors@^1.4.0\":\n version \"1.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@csstools\u002Fconvert-colors\u002F-\u002Fconvert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7\"\n integrity sha512-5a6wqoJV\u002FxEdbRNKVo6I4hO3VjyDq\u002F\u002F8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==\n\n\"@csstools\u002Fnormalize.css@^9.0.1\":\n version \"9.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@csstools\u002Fnormalize.css\u002F-\u002Fnormalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5\"\n integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4\u002FAd21u9Jde\u002FvoVQz6eFX\u002FeSg\u002FUsPA==\n\n\"@hapi\u002Faddress@2.x.x\":\n version \"2.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@hapi\u002Faddress\u002F-\u002Faddress-2.1.2.tgz#1c794cd6dbf2354d1eb1ef10e0303f573e1c7222\"\n integrity sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9\u002F0A4WAMx0uBd6SidDIhktZhgOcN8Q==\n\n\"@hapi\u002Fbourne@1.x.x\":\n version \"1.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@hapi\u002Fbourne\u002F-\u002Fbourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a\"\n integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==\n\n\"@hapi\u002Fhoek@8.x.x\", \"@hapi\u002Fhoek@^8.3.0\":\n version \"8.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@hapi\u002Fhoek\u002F-\u002Fhoek-8.5.0.tgz#2f9ce301c8898e1c3248b0a8564696b24d1a9a5a\"\n integrity sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw==\n\n\"@hapi\u002Fjoi@^15.0.0\":\n version \"15.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@hapi\u002Fjoi\u002F-\u002Fjoi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7\"\n integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==\n dependencies:\n \"@hapi\u002Faddress\" \"2.x.x\"\n \"@hapi\u002Fbourne\" \"1.x.x\"\n \"@hapi\u002Fhoek\" \"8.x.x\"\n \"@hapi\u002Ftopo\" \"3.x.x\"\n\n\"@hapi\u002Ftopo@3.x.x\":\n version \"3.1.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@hapi\u002Ftopo\u002F-\u002Ftopo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29\"\n integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m\u002F5y42PQJYCQ==\n dependencies:\n \"@hapi\u002Fhoek\" \"^8.3.0\"\n\n\"@jest\u002Fconsole@^24.7.1\", \"@jest\u002Fconsole@^24.9.0\":\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@jest\u002Fconsole\u002F-\u002Fconsole-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0\"\n integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea\u002FuhLeCGThFqXeC8H9\u002FraaH8ARPUTdId+XyGd03Z4In0\u002FVjD2OYFcBF09fNLQ==\n dependencies:\n \"@jest\u002Fsource-map\" \"^24.9.0\"\n chalk \"^2.0.1\"\n slash \"^2.0.0\"\n\n\"@jest\u002Fcore@^24.9.0\":\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@jest\u002Fcore\u002F-\u002Fcore-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4\"\n integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==\n dependencies:\n \"@jest\u002Fconsole\" \"^24.7.1\"\n \"@jest\u002Freporters\" \"^24.9.0\"\n \"@jest\u002Ftest-result\" \"^24.9.0\"\n \"@jest\u002Ftransform\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n ansi-escapes \"^3.0.0\"\n chalk \"^2.0.1\"\n exit \"^0.1.2\"\n graceful-fs \"^4.1.15\"\n jest-changed-files \"^24.9.0\"\n jest-config \"^24.9.0\"\n jest-haste-map \"^24.9.0\"\n jest-message-util \"^24.9.0\"\n jest-regex-util \"^24.3.0\"\n jest-resolve \"^24.9.0\"\n jest-resolve-dependencies \"^24.9.0\"\n jest-runner \"^24.9.0\"\n jest-runtime \"^24.9.0\"\n jest-snapshot \"^24.9.0\"\n jest-util \"^24.9.0\"\n jest-validate \"^24.9.0\"\n jest-watcher \"^24.9.0\"\n micromatch \"^3.1.10\"\n p-each-series \"^1.0.0\"\n realpath-native \"^1.1.0\"\n rimraf \"^2.5.4\"\n slash \"^2.0.0\"\n strip-ansi \"^5.0.0\"\n\n\"@jest\u002Fenvironment@^24.9.0\":\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@jest\u002Fenvironment\u002F-\u002Fenvironment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18\"\n integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==\n dependencies:\n \"@jest\u002Ffake-timers\" \"^24.9.0\"\n \"@jest\u002Ftransform\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n jest-mock \"^24.9.0\"\n\n\"@jest\u002Ffake-timers@^24.9.0\":\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@jest\u002Ffake-timers\u002F-\u002Ffake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93\"\n integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v\u002FNS9Io\u002Fgknw1jsAC9c+ih\u002FRQX4A3O7SeWAhQeN0goKhT9A==\n dependencies:\n \"@jest\u002Ftypes\" \"^24.9.0\"\n jest-message-util \"^24.9.0\"\n jest-mock \"^24.9.0\"\n\n\"@jest\u002Freporters@^24.9.0\":\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@jest\u002Freporters\u002F-\u002Freporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43\"\n integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==\n dependencies:\n \"@jest\u002Fenvironment\" \"^24.9.0\"\n \"@jest\u002Ftest-result\" \"^24.9.0\"\n \"@jest\u002Ftransform\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n chalk \"^2.0.1\"\n exit \"^0.1.2\"\n glob \"^7.1.2\"\n istanbul-lib-coverage \"^2.0.2\"\n istanbul-lib-instrument \"^3.0.1\"\n istanbul-lib-report \"^2.0.4\"\n istanbul-lib-source-maps \"^3.0.1\"\n istanbul-reports \"^2.2.6\"\n jest-haste-map \"^24.9.0\"\n jest-resolve \"^24.9.0\"\n jest-runtime \"^24.9.0\"\n jest-util \"^24.9.0\"\n jest-worker \"^24.6.0\"\n node-notifier \"^5.4.2\"\n slash \"^2.0.0\"\n source-map \"^0.6.0\"\n string-length \"^2.0.0\"\n\n\"@jest\u002Fsource-map@^24.3.0\", \"@jest\u002Fsource-map@^24.9.0\":\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@jest\u002Fsource-map\u002F-\u002Fsource-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714\"\n integrity sha512-\u002FXw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn\u002FPunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==\n dependencies:\n callsites \"^3.0.0\"\n graceful-fs \"^4.1.15\"\n source-map \"^0.6.0\"\n\n\"@jest\u002Ftest-result@^24.9.0\":\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@jest\u002Ftest-result\u002F-\u002Ftest-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca\"\n integrity sha512-XEFrHbBonBJ8dGp2JmF8kP\u002FnQI\u002FImPpygKHwQ\u002FSY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==\n dependencies:\n \"@jest\u002Fconsole\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n \"@types\u002Fistanbul-lib-coverage\" \"^2.0.0\"\n\n\"@jest\u002Ftest-sequencer@^24.9.0\":\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@jest\u002Ftest-sequencer\u002F-\u002Ftest-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31\"\n integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz\u002FVIS01OHJ3pY8T5fUY38tg4A==\n dependencies:\n \"@jest\u002Ftest-result\" \"^24.9.0\"\n jest-haste-map \"^24.9.0\"\n jest-runner \"^24.9.0\"\n jest-runtime \"^24.9.0\"\n\n\"@jest\u002Ftransform@^24.9.0\":\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@jest\u002Ftransform\u002F-\u002Ftransform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56\"\n integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH\u002FZMccFB\u002Famku6Uwvyb1cjYX7xkp5nGNkbX4QPH\u002FFcB6q1HBTHynLmQ==\n dependencies:\n \"@babel\u002Fcore\" \"^7.1.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n babel-plugin-istanbul \"^5.1.0\"\n chalk \"^2.0.1\"\n convert-source-map \"^1.4.0\"\n fast-json-stable-stringify \"^2.0.0\"\n graceful-fs \"^4.1.15\"\n jest-haste-map \"^24.9.0\"\n jest-regex-util \"^24.9.0\"\n jest-util \"^24.9.0\"\n micromatch \"^3.1.10\"\n pirates \"^4.0.1\"\n realpath-native \"^1.1.0\"\n slash \"^2.0.0\"\n source-map \"^0.6.1\"\n write-file-atomic \"2.4.1\"\n\n\"@jest\u002Ftypes@^24.9.0\":\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@jest\u002Ftypes\u002F-\u002Ftypes-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59\"\n integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy\u002FNmZMXw5kl+kGBw==\n dependencies:\n \"@types\u002Fistanbul-lib-coverage\" \"^2.0.0\"\n \"@types\u002Fistanbul-reports\" \"^1.1.1\"\n \"@types\u002Fyargs\" \"^13.0.0\"\n\n\"@mrmlnc\u002Freaddir-enhanced@^2.2.1\":\n version \"2.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@mrmlnc\u002Freaddir-enhanced\u002F-\u002Freaddir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde\"\n integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk\u002FTh5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==\n dependencies:\n call-me-maybe \"^1.0.1\"\n glob-to-regexp \"^0.3.0\"\n\n\"@nodelib\u002Ffs.stat@^1.1.2\":\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@nodelib\u002Ffs.stat\u002F-\u002Ffs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b\"\n integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==\n\n\"@sheerun\u002Fmutationobserver-shim@^0.3.2\":\n version \"0.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@sheerun\u002Fmutationobserver-shim\u002F-\u002Fmutationobserver-shim-0.3.2.tgz#8013f2af54a2b7d735f71560ff360d3a8176a87b\"\n integrity sha512-vTCdPp\u002FT\u002FQ3oSqwHmZ5Kpa9oI7iLtGl3RQaA\u002FNyLHikvcrPxACkkKVr\u002FXzkSPJWXHRhKGzVvb0urJsbMlRxi1Q==\n\n\"@svgr\u002Fbabel-plugin-add-jsx-attribute@^4.2.0\":\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fbabel-plugin-add-jsx-attribute\u002F-\u002Fbabel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1\"\n integrity sha512-j7KnilGyZzYr\u002FjhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==\n\n\"@svgr\u002Fbabel-plugin-remove-jsx-attribute@^4.2.0\":\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fbabel-plugin-remove-jsx-attribute\u002F-\u002Fbabel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc\"\n integrity sha512-3XHLtJ+HbRCH4n28S7y\u002FyZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT\u002FMg+75GpDKlvQ==\n\n\"@svgr\u002Fbabel-plugin-remove-jsx-empty-expression@^4.2.0\":\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fbabel-plugin-remove-jsx-empty-expression\u002F-\u002Fbabel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7\"\n integrity sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==\n\n\"@svgr\u002Fbabel-plugin-replace-jsx-attribute-value@^4.2.0\":\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fbabel-plugin-replace-jsx-attribute-value\u002F-\u002Fbabel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165\"\n integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi\u002FZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN\u002FeCp5AAX2w==\n\n\"@svgr\u002Fbabel-plugin-svg-dynamic-title@^4.3.3\":\n version \"4.3.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fbabel-plugin-svg-dynamic-title\u002F-\u002Fbabel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93\"\n integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==\n\n\"@svgr\u002Fbabel-plugin-svg-em-dimensions@^4.2.0\":\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fbabel-plugin-svg-em-dimensions\u002F-\u002Fbabel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391\"\n integrity sha512-C0Uy+BHolCHGOZ8Dnr1zXy\u002FKgpBOkEUYY9kI\u002FHseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq\u002Fk63ydQuGt4w==\n\n\"@svgr\u002Fbabel-plugin-transform-react-native-svg@^4.2.0\":\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fbabel-plugin-transform-react-native-svg\u002F-\u002Fbabel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717\"\n integrity sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==\n\n\"@svgr\u002Fbabel-plugin-transform-svg-component@^4.2.0\":\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fbabel-plugin-transform-svg-component\u002F-\u002Fbabel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697\"\n integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf\u002FyvJY8heTVX1PCTaq\u002FIgASq1IyxPPKJ0chWREEKewIU\u002FJMSsIGBtK1KKxw==\n\n\"@svgr\u002Fbabel-preset@^4.3.3\":\n version \"4.3.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fbabel-preset\u002F-\u002Fbabel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c\"\n integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==\n dependencies:\n \"@svgr\u002Fbabel-plugin-add-jsx-attribute\" \"^4.2.0\"\n \"@svgr\u002Fbabel-plugin-remove-jsx-attribute\" \"^4.2.0\"\n \"@svgr\u002Fbabel-plugin-remove-jsx-empty-expression\" \"^4.2.0\"\n \"@svgr\u002Fbabel-plugin-replace-jsx-attribute-value\" \"^4.2.0\"\n \"@svgr\u002Fbabel-plugin-svg-dynamic-title\" \"^4.3.3\"\n \"@svgr\u002Fbabel-plugin-svg-em-dimensions\" \"^4.2.0\"\n \"@svgr\u002Fbabel-plugin-transform-react-native-svg\" \"^4.2.0\"\n \"@svgr\u002Fbabel-plugin-transform-svg-component\" \"^4.2.0\"\n\n\"@svgr\u002Fcore@^4.3.2\":\n version \"4.3.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fcore\u002F-\u002Fcore-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293\"\n integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==\n dependencies:\n \"@svgr\u002Fplugin-jsx\" \"^4.3.3\"\n camelcase \"^5.3.1\"\n cosmiconfig \"^5.2.1\"\n\n\"@svgr\u002Fhast-util-to-babel-ast@^4.3.2\":\n version \"4.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fhast-util-to-babel-ast\u002F-\u002Fhast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8\"\n integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.4.4\"\n\n\"@svgr\u002Fplugin-jsx@^4.3.2\", \"@svgr\u002Fplugin-jsx@^4.3.3\":\n version \"4.3.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fplugin-jsx\u002F-\u002Fplugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa\"\n integrity sha512-cLOCSpNWQnDB1\u002Fv+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==\n dependencies:\n \"@babel\u002Fcore\" \"^7.4.5\"\n \"@svgr\u002Fbabel-preset\" \"^4.3.3\"\n \"@svgr\u002Fhast-util-to-babel-ast\" \"^4.3.2\"\n svg-parser \"^2.0.0\"\n\n\"@svgr\u002Fplugin-svgo@^4.3.1\":\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fplugin-svgo\u002F-\u002Fplugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32\"\n integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1\u002Feo9mlDrgrtFE7NE\u002FDjdhjJgSM9wenlVBzkzneSIUgfUI\u002Fw==\n dependencies:\n cosmiconfig \"^5.2.1\"\n merge-deep \"^3.0.2\"\n svgo \"^1.2.2\"\n\n\"@svgr\u002Fwebpack@4.3.2\":\n version \"4.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@svgr\u002Fwebpack\u002F-\u002Fwebpack-4.3.2.tgz#319d4471c8f3d5c3af35059274834d9b5b8fb956\"\n integrity sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w==\n dependencies:\n \"@babel\u002Fcore\" \"^7.4.5\"\n \"@babel\u002Fplugin-transform-react-constant-elements\" \"^7.0.0\"\n \"@babel\u002Fpreset-env\" \"^7.4.5\"\n \"@babel\u002Fpreset-react\" \"^7.0.0\"\n \"@svgr\u002Fcore\" \"^4.3.2\"\n \"@svgr\u002Fplugin-jsx\" \"^4.3.2\"\n \"@svgr\u002Fplugin-svgo\" \"^4.3.1\"\n loader-utils \"^1.2.3\"\n\n\"@testing-library\u002Fdom@^6.3.0\":\n version \"6.10.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@testing-library\u002Fdom\u002F-\u002Fdom-6.10.1.tgz#da5bf5065d3f9e484aef4cc495f4e1a5bea6df2e\"\n integrity sha512-5BPKxaO+zSJDUbVZBRNf9KrmDkm\u002FEcjjaHSg3F9+031VZyPACKXlwLBjVzZxheunT9m72DoIq7WvyE457\u002FXweg==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.6.2\"\n \"@sheerun\u002Fmutationobserver-shim\" \"^0.3.2\"\n \"@types\u002Ftesting-library__dom\" \"^6.0.0\"\n aria-query \"3.0.0\"\n pretty-format \"^24.9.0\"\n wait-for-expect \"^3.0.0\"\n\n\"@testing-library\u002Fjest-dom@^4.2.4\":\n version \"4.2.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@testing-library\u002Fjest-dom\u002F-\u002Fjest-dom-4.2.4.tgz#00dfa0cbdd837d9a3c2a7f3f0a248ea6e7b89742\"\n integrity sha512-j31Bn0rQo12fhCWOUWy9fl7wtqkp7In\u002FYP2p5ZFyRuiiB9Qs3g+hS4gAmDWONbAHcRmVooNJ5eOHQDCOmUFXHg==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.5.1\"\n chalk \"^2.4.1\"\n css \"^2.2.3\"\n css.escape \"^1.5.1\"\n jest-diff \"^24.0.0\"\n jest-matcher-utils \"^24.0.0\"\n lodash \"^4.17.11\"\n pretty-format \"^24.0.0\"\n redent \"^3.0.0\"\n\n\"@testing-library\u002Freact@^9.3.2\":\n version \"9.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@testing-library\u002Freact\u002F-\u002Freact-9.3.2.tgz#418000daa980dafd2d9420cc733d661daece9aa0\"\n integrity sha512-J6ftWtm218tOLS175MF9eWCxGp+X+cUXCpkPIin8KAXWtyZbr9CbqJ8M8QNd6spZxJDAGlw+leLG4MJWLlqVgg==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.6.0\"\n \"@testing-library\u002Fdom\" \"^6.3.0\"\n \"@types\u002Ftesting-library__react\" \"^9.1.0\"\n\n\"@types\u002Fbabel__core@^7.1.0\":\n version \"7.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fbabel__core\u002F-\u002Fbabel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30\"\n integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6\u002FZKM0uxANFVzt4yObSLuTiTnazDA==\n dependencies:\n \"@babel\u002Fparser\" \"^7.1.0\"\n \"@babel\u002Ftypes\" \"^7.0.0\"\n \"@types\u002Fbabel__generator\" \"*\"\n \"@types\u002Fbabel__template\" \"*\"\n \"@types\u002Fbabel__traverse\" \"*\"\n\n\"@types\u002Fbabel__generator@*\":\n version \"7.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fbabel__generator\u002F-\u002Fbabel__generator-7.6.0.tgz#f1ec1c104d1bb463556ecb724018ab788d0c172a\"\n integrity sha512-c1mZUu4up5cp9KROs\u002FQAw0gTeHrw\u002Fx7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.0.0\"\n\n\"@types\u002Fbabel__template@*\":\n version \"7.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fbabel__template\u002F-\u002Fbabel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307\"\n integrity sha512-\u002FK6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==\n dependencies:\n \"@babel\u002Fparser\" \"^7.1.0\"\n \"@babel\u002Ftypes\" \"^7.0.0\"\n\n\"@types\u002Fbabel__traverse@*\", \"@types\u002Fbabel__traverse@^7.0.6\":\n version \"7.0.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fbabel__traverse\u002F-\u002Fbabel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f\"\n integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.3.0\"\n\n\"@types\u002Fcolor-name@^1.1.1\":\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fcolor-name\u002F-\u002Fcolor-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0\"\n integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==\n\n\"@types\u002Feslint-visitor-keys@^1.0.0\":\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Feslint-visitor-keys\u002F-\u002Feslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d\"\n integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ\u002F7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==\n\n\"@types\u002Fistanbul-lib-coverage@*\", \"@types\u002Fistanbul-lib-coverage@^2.0.0\":\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fistanbul-lib-coverage\u002F-\u002Fistanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff\"\n integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ\u002FxfmRc4POUFlg==\n\n\"@types\u002Fistanbul-lib-report@*\":\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fistanbul-lib-report\u002F-\u002Fistanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c\"\n integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==\n dependencies:\n \"@types\u002Fistanbul-lib-coverage\" \"*\"\n\n\"@types\u002Fistanbul-reports@^1.1.1\":\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fistanbul-reports\u002F-\u002Fistanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a\"\n integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg\u002FJd2KQGtSbw+ya7GPo7x\u002FwAPlH6JBhKhAsXUEZNA==\n dependencies:\n \"@types\u002Fistanbul-lib-coverage\" \"*\"\n \"@types\u002Fistanbul-lib-report\" \"*\"\n\n\"@types\u002Fjson-schema@^7.0.3\":\n version \"7.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fjson-schema\u002F-\u002Fjson-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636\"\n integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==\n\n\"@types\u002Fnormalize-package-data@^2.4.0\":\n version \"2.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fnormalize-package-data\u002F-\u002Fnormalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e\"\n integrity sha512-f5j5b\u002FGf71L+dbqxIpQ4Z2WlmI\u002FmPJ0fOkGGmFgtb6sAu97EPczzbS3\u002FtJKxmcYDj55OX6ssqwDAWOHIYDRDGA==\n\n\"@types\u002Fprop-types@*\":\n version \"15.7.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fprop-types\u002F-\u002Fprop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7\"\n integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==\n\n\"@types\u002Fq@^1.5.1\":\n version \"1.5.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fq\u002F-\u002Fq-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8\"\n integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==\n\n\"@types\u002Freact-dom@*\":\n version \"16.9.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Freact-dom\u002F-\u002Freact-dom-16.9.3.tgz#4006ff0e13958af91313869077c04cb20d9b9d04\"\n integrity sha512-FUuZKXPr9qlzUT9lhuzrZgLjH63TvNn28Ch3MvKG4B+F52zQtO8DtE0Opbncy3xaucNZM2WIPfuNTgkbKx5Brg==\n dependencies:\n \"@types\u002Freact\" \"*\"\n\n\"@types\u002Freact@*\":\n version \"16.9.11\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Freact\u002F-\u002Freact-16.9.11.tgz#70e0b7ad79058a7842f25ccf2999807076ada120\"\n integrity sha512-UBT4GZ3PokTXSWmdgC\u002FGeCGEJXE5ofWyibCcecRLUVN2ZBpXQGVgQGtG2foS7CrTKFKlQVVswLvf7Js6XA\u002FCVQ==\n dependencies:\n \"@types\u002Fprop-types\" \"*\"\n csstype \"^2.2.0\"\n\n\"@types\u002Fstack-utils@^1.0.1\":\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fstack-utils\u002F-\u002Fstack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e\"\n integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==\n\n\"@types\u002Ftesting-library__dom@*\", \"@types\u002Ftesting-library__dom@^6.0.0\":\n version \"6.10.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Ftesting-library__dom\u002F-\u002Ftesting-library__dom-6.10.0.tgz#590d76e3875a7c536dc744eb530cbf51b6483404\"\n integrity sha512-mL\u002FGMlyQxiZplbUuFNwA0vAI3k3uJNSf6slr5AVve9TXmfLfyefNT0uHHnxwdYuPMxYD5gI\u002F+dgAvc\u002F5opW9JQ==\n dependencies:\n pretty-format \"^24.3.0\"\n\n\"@types\u002Ftesting-library__react@^9.1.0\":\n version \"9.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Ftesting-library__react\u002F-\u002Ftesting-library__react-9.1.2.tgz#e33af9124c60a010fc03a34eff8f8a34a75c4351\"\n integrity sha512-CYaMqrswQ+cJACy268jsLAw355DZtPZGt3Jwmmotlcu8O\u002FtkoXBI6AeZ84oZBJsIsesozPKzWzmv\u002F0TIU+1E9Q==\n dependencies:\n \"@types\u002Freact-dom\" \"*\"\n \"@types\u002Ftesting-library__dom\" \"*\"\n\n\"@types\u002Fyargs-parser@*\":\n version \"13.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fyargs-parser\u002F-\u002Fyargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228\"\n integrity sha512-gCubfBUZ6KxzoibJ+SCUc\u002F57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==\n\n\"@types\u002Fyargs@^13.0.0\":\n version \"13.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@types\u002Fyargs\u002F-\u002Fyargs-13.0.3.tgz#76482af3981d4412d65371a318f992d33464a380\"\n integrity sha512-K8\u002FLfZq2duW33XW\u002FtFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq\u002F0Ha\u002FpR1PaR+BvmWwjiQ==\n dependencies:\n \"@types\u002Fyargs-parser\" \"*\"\n\n\"@typescript-eslint\u002Feslint-plugin@^2.2.0\":\n version \"2.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@typescript-eslint\u002Feslint-plugin\u002F-\u002Feslint-plugin-2.6.1.tgz#e34972a24f8aba0861f9ccf7130acd74fd11e079\"\n integrity sha512-Z0rddsGqioKbvqfohg7BwkFC3PuNLsB+GE9QkFza7tiDzuHoy0y823Y+oGNDzxNZrYyLjqkZtCTl4vCqOmEN4g==\n dependencies:\n \"@typescript-eslint\u002Fexperimental-utils\" \"2.6.1\"\n eslint-utils \"^1.4.2\"\n functional-red-black-tree \"^1.0.1\"\n regexpp \"^2.0.1\"\n tsutils \"^3.17.1\"\n\n\"@typescript-eslint\u002Fexperimental-utils@2.6.1\":\n version \"2.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@typescript-eslint\u002Fexperimental-utils\u002F-\u002Fexperimental-utils-2.6.1.tgz#eddaca17a399ebf93a8628923233b4f93793acfd\"\n integrity sha512-EVrrUhl5yBt7fC7c62lWmriq4MIc49zpN3JmrKqfiFXPXCM5ErfEcZYfKOhZXkW6MBjFcJ5kGZqu1b+lyyExUw==\n dependencies:\n \"@types\u002Fjson-schema\" \"^7.0.3\"\n \"@typescript-eslint\u002Ftypescript-estree\" \"2.6.1\"\n eslint-scope \"^5.0.0\"\n\n\"@typescript-eslint\u002Fparser@^2.2.0\":\n version \"2.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@typescript-eslint\u002Fparser\u002F-\u002Fparser-2.6.1.tgz#3c00116baa0d696bc334ca18ac5286b34793993c\"\n integrity sha512-PDPkUkZ4c7yA+FWqigjwf3ngPUgoLaGjMlFh6TRtbjhqxFBnkElDfckSjm98q9cMr4xRzZ15VrS\u002FxKm6QHYf0w==\n dependencies:\n \"@types\u002Feslint-visitor-keys\" \"^1.0.0\"\n \"@typescript-eslint\u002Fexperimental-utils\" \"2.6.1\"\n \"@typescript-eslint\u002Ftypescript-estree\" \"2.6.1\"\n eslint-visitor-keys \"^1.1.0\"\n\n\"@typescript-eslint\u002Ftypescript-estree@2.6.1\":\n version \"2.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@typescript-eslint\u002Ftypescript-estree\u002F-\u002Ftypescript-estree-2.6.1.tgz#fb363dd4ca23384745c5ea4b7f4c867432b00d31\"\n integrity sha512-+sTnssW6bcbDZKE8Ce7VV6LdzkQz2Bxk7jzk1J8H1rovoTxnm6iXvYIyncvNsaB\u002FkBCOM63j\u002FLNJfm27bNdUoA==\n dependencies:\n debug \"^4.1.1\"\n glob \"^7.1.4\"\n is-glob \"^4.0.1\"\n lodash.unescape \"4.0.1\"\n semver \"^6.3.0\"\n tsutils \"^3.17.1\"\n\n\"@webassemblyjs\u002Fast@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fast\u002F-\u002Fast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359\"\n integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==\n dependencies:\n \"@webassemblyjs\u002Fhelper-module-context\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-wasm-bytecode\" \"1.8.5\"\n \"@webassemblyjs\u002Fwast-parser\" \"1.8.5\"\n\n\"@webassemblyjs\u002Ffloating-point-hex-parser@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Ffloating-point-hex-parser\u002F-\u002Ffloating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721\"\n integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==\n\n\"@webassemblyjs\u002Fhelper-api-error@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fhelper-api-error\u002F-\u002Fhelper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7\"\n integrity sha512-Za\u002FtnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==\n\n\"@webassemblyjs\u002Fhelper-buffer@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fhelper-buffer\u002F-\u002Fhelper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204\"\n integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi\u002Fc\u002FQ==\n\n\"@webassemblyjs\u002Fhelper-code-frame@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fhelper-code-frame\u002F-\u002Fhelper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e\"\n integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD\u002Frf4v1jap744uPVU6yjL\u002FsmZbRIIJTOUnKQ==\n dependencies:\n \"@webassemblyjs\u002Fwast-printer\" \"1.8.5\"\n\n\"@webassemblyjs\u002Fhelper-fsm@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fhelper-fsm\u002F-\u002Fhelper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452\"\n integrity sha512-kRuX\u002FsaORcg8se\u002Fft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==\n\n\"@webassemblyjs\u002Fhelper-module-context@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fhelper-module-context\u002F-\u002Fhelper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245\"\n integrity sha512-\u002FO1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV\u002FkIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==\n dependencies:\n \"@webassemblyjs\u002Fast\" \"1.8.5\"\n mamacro \"^0.0.3\"\n\n\"@webassemblyjs\u002Fhelper-wasm-bytecode@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fhelper-wasm-bytecode\u002F-\u002Fhelper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61\"\n integrity sha512-Cu4YMYG3Ddl72CbmpjU\u002FwbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==\n\n\"@webassemblyjs\u002Fhelper-wasm-section@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fhelper-wasm-section\u002F-\u002Fhelper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf\"\n integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==\n dependencies:\n \"@webassemblyjs\u002Fast\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-buffer\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-wasm-bytecode\" \"1.8.5\"\n \"@webassemblyjs\u002Fwasm-gen\" \"1.8.5\"\n\n\"@webassemblyjs\u002Fieee754@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fieee754\u002F-\u002Fieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e\"\n integrity sha512-aaCvQYrvKbY\u002Fn6wKHb\u002FylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==\n dependencies:\n \"@xtuc\u002Fieee754\" \"^1.2.0\"\n\n\"@webassemblyjs\u002Fleb128@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fleb128\u002F-\u002Fleb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10\"\n integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu\u002FsGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==\n dependencies:\n \"@xtuc\u002Flong\" \"4.2.2\"\n\n\"@webassemblyjs\u002Futf8@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Futf8\u002F-\u002Futf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc\"\n integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q\u002F\u002FNGdzy79nlXh3bT8Kjw==\n\n\"@webassemblyjs\u002Fwasm-edit@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fwasm-edit\u002F-\u002Fwasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a\"\n integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO\u002F26Q==\n dependencies:\n \"@webassemblyjs\u002Fast\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-buffer\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-wasm-bytecode\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-wasm-section\" \"1.8.5\"\n \"@webassemblyjs\u002Fwasm-gen\" \"1.8.5\"\n \"@webassemblyjs\u002Fwasm-opt\" \"1.8.5\"\n \"@webassemblyjs\u002Fwasm-parser\" \"1.8.5\"\n \"@webassemblyjs\u002Fwast-printer\" \"1.8.5\"\n\n\"@webassemblyjs\u002Fwasm-gen@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fwasm-gen\u002F-\u002Fwasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc\"\n integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==\n dependencies:\n \"@webassemblyjs\u002Fast\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-wasm-bytecode\" \"1.8.5\"\n \"@webassemblyjs\u002Fieee754\" \"1.8.5\"\n \"@webassemblyjs\u002Fleb128\" \"1.8.5\"\n \"@webassemblyjs\u002Futf8\" \"1.8.5\"\n\n\"@webassemblyjs\u002Fwasm-opt@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fwasm-opt\u002F-\u002Fwasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264\"\n integrity sha512-HKo2mO\u002FUh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==\n dependencies:\n \"@webassemblyjs\u002Fast\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-buffer\" \"1.8.5\"\n \"@webassemblyjs\u002Fwasm-gen\" \"1.8.5\"\n \"@webassemblyjs\u002Fwasm-parser\" \"1.8.5\"\n\n\"@webassemblyjs\u002Fwasm-parser@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fwasm-parser\u002F-\u002Fwasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d\"\n integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6\u002F6fjgDtL6q\u002FZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==\n dependencies:\n \"@webassemblyjs\u002Fast\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-api-error\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-wasm-bytecode\" \"1.8.5\"\n \"@webassemblyjs\u002Fieee754\" \"1.8.5\"\n \"@webassemblyjs\u002Fleb128\" \"1.8.5\"\n \"@webassemblyjs\u002Futf8\" \"1.8.5\"\n\n\"@webassemblyjs\u002Fwast-parser@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fwast-parser\u002F-\u002Fwast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c\"\n integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57\u002FBtsg==\n dependencies:\n \"@webassemblyjs\u002Fast\" \"1.8.5\"\n \"@webassemblyjs\u002Ffloating-point-hex-parser\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-api-error\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-code-frame\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-fsm\" \"1.8.5\"\n \"@xtuc\u002Flong\" \"4.2.2\"\n\n\"@webassemblyjs\u002Fwast-printer@1.8.5\":\n version \"1.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@webassemblyjs\u002Fwast-printer\u002F-\u002Fwast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc\"\n integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w\u002Fce7\u002FWPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==\n dependencies:\n \"@webassemblyjs\u002Fast\" \"1.8.5\"\n \"@webassemblyjs\u002Fwast-parser\" \"1.8.5\"\n \"@xtuc\u002Flong\" \"4.2.2\"\n\n\"@xtuc\u002Fieee754@^1.2.0\":\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@xtuc\u002Fieee754\u002F-\u002Fieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790\"\n integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT\u002FMIYTOTPeA==\n\n\"@xtuc\u002Flong@4.2.2\":\n version \"4.2.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@xtuc\u002Flong\u002F-\u002Flong-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d\"\n integrity sha512-NuHqBY1PB\u002FD8xU6s\u002FthBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN\u002FYPhktdIoucipkAQ==\n\n\"@zeit\u002Fschemas@2.6.0\":\n version \"2.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002F@zeit\u002Fschemas\u002F-\u002Fschemas-2.6.0.tgz#004e8e553b4cd53d538bd38eac7bcbf58a867fe3\"\n integrity sha512-uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui\u002F7zuvpLz03YjXAhg==\n\nabab@^2.0.0:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fabab\u002F-\u002Fabab-2.0.2.tgz#a2fba1b122c69a85caa02d10f9270c7219709a9d\"\n integrity sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg\u002FnRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==\n\nabbrev@1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fabbrev\u002F-\u002Fabbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8\"\n integrity sha512-nne9\u002FIiQ\u002FhzIhY6pdDnbBtz7DjPTKrY00P\u002FzvPSm5pOFkl6xuGrGnXn\u002FVtTNNfNtAfZ9\u002F1RtehkszU9qcTii0Q==\n\naccepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:\n version \"1.3.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Faccepts\u002F-\u002Faccepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd\"\n integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU\u002FfjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==\n dependencies:\n mime-types \"~2.1.24\"\n negotiator \"0.6.2\"\n\nacorn-globals@^4.1.0, acorn-globals@^4.3.0:\n version \"4.3.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Facorn-globals\u002F-\u002Facorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7\"\n integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==\n dependencies:\n acorn \"^6.0.1\"\n acorn-walk \"^6.0.1\"\n\nacorn-jsx@^5.1.0:\n version \"5.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Facorn-jsx\u002F-\u002Facorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384\"\n integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH\u002F0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==\n\nacorn-walk@^6.0.1:\n version \"6.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Facorn-walk\u002F-\u002Facorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c\"\n integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe\u002F\u002FvS0QqfqqjCS2JkiIs0cA==\n\nacorn@^5.5.3:\n version \"5.7.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Facorn\u002F-\u002Facorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279\"\n integrity sha512-T\u002FzvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==\n\nacorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1:\n version \"6.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Facorn\u002F-\u002Facorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e\"\n integrity sha512-\u002Fczfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q\u002FYxxsAeqRrmK9TQ\u002FuYfgLDfZo91UlANIA==\n\nacorn@^7.1.0:\n version \"7.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Facorn\u002F-\u002Facorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c\"\n integrity sha512-kL5CuoXA\u002FdgxlBbVrflsflzQ3PAas7RYZB52NOm\u002F6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==\n\naddress@1.1.2, address@^1.0.1:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Faddress\u002F-\u002Faddress-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6\"\n integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ\u002FLmRA==\n\nadjust-sourcemap-loader@2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fadjust-sourcemap-loader\u002F-\u002Fadjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4\"\n integrity sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==\n dependencies:\n assert \"1.4.1\"\n camelcase \"5.0.0\"\n loader-utils \"1.2.3\"\n object-path \"0.11.4\"\n regex-parser \"2.2.10\"\n\najv-errors@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fajv-errors\u002F-\u002Fajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d\"\n integrity sha512-DCRfO\u002F4nQ+89p\u002FRK43i8Ezd41EqdGIU4ld7nGF8OQ14oc\u002Fwe5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==\n\najv-keywords@^3.1.0, ajv-keywords@^3.4.1:\n version \"3.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fajv-keywords\u002F-\u002Fajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da\"\n integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme\u002FLYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==\n\najv@6.5.3:\n version \"6.5.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fajv\u002F-\u002Fajv-6.5.3.tgz#71a569d189ecf4f4f321224fecb166f071dd90f9\"\n integrity sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==\n dependencies:\n fast-deep-equal \"^2.0.1\"\n fast-json-stable-stringify \"^2.0.0\"\n json-schema-traverse \"^0.4.1\"\n uri-js \"^4.2.2\"\n\najv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5:\n version \"6.10.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fajv\u002F-\u002Fajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52\"\n integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==\n dependencies:\n fast-deep-equal \"^2.0.1\"\n fast-json-stable-stringify \"^2.0.0\"\n json-schema-traverse \"^0.4.1\"\n uri-js \"^4.2.2\"\n\nalphanum-sort@^1.0.0:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Falphanum-sort\u002F-\u002Falphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3\"\n integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=\n\nansi-align@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-align\u002F-\u002Fansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f\"\n integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=\n dependencies:\n string-width \"^2.0.0\"\n\nansi-colors@^3.0.0:\n version \"3.2.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-colors\u002F-\u002Fansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf\"\n integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx\u002F7ysGIuJYCiMAA9FnrA==\n\nansi-escapes@^3.0.0, ansi-escapes@^3.2.0:\n version \"3.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-escapes\u002F-\u002Fansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b\"\n integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt\u002FGoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL\u002FDAlhBI97RQ==\n\nansi-escapes@^4.2.1:\n version \"4.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-escapes\u002F-\u002Fansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228\"\n integrity sha512-Cg3ymMAdN10wOk\u002FVYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU\u002Fex7tHJSssmyftDdkMLO8Q==\n dependencies:\n type-fest \"^0.5.2\"\n\nansi-html@0.0.7:\n version \"0.0.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-html\u002F-\u002Fansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e\"\n integrity sha1-gTWEAhliqenm\u002FQOflA0S9WynhZ4=\n\nansi-regex@^2.0.0:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-regex\u002F-\u002Fansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df\"\n integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=\n\nansi-regex@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-regex\u002F-\u002Fansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998\"\n integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=\n\nansi-regex@^4.0.0, ansi-regex@^4.1.0:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-regex\u002F-\u002Fansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997\"\n integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p\u002FrmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==\n\nansi-styles@^2.2.1:\n version \"2.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-styles\u002F-\u002Fansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe\"\n integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=\n\nansi-styles@^3.2.0, ansi-styles@^3.2.1:\n version \"3.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-styles\u002F-\u002Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d\"\n integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm\u002Fu+NqfsAxEpWO0Pf9sq8\u002Fe94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==\n dependencies:\n color-convert \"^1.9.0\"\n\nansi-styles@^4.1.0:\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fansi-styles\u002F-\u002Fansi-styles-4.2.0.tgz#5681f0dcf7ae5880a7841d8831c4724ed9cc0172\"\n integrity sha512-7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J\u002FMv90\u002FW+iTtN0405\u002FnLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg==\n dependencies:\n \"@types\u002Fcolor-name\" \"^1.1.1\"\n color-convert \"^2.0.1\"\n\nanymatch@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fanymatch\u002F-\u002Fanymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb\"\n integrity sha512-5teOsQWABXHHBFP9y3skS5P3d\u002FWfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==\n dependencies:\n micromatch \"^3.1.4\"\n normalize-path \"^2.1.1\"\n\naproba@^1.0.3, aproba@^1.1.1:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Faproba\u002F-\u002Faproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a\"\n integrity sha512-Y9J6ZjXtoYh8RnXVCMOU\u002FttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==\n\narch@^2.1.0:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farch\u002F-\u002Farch-2.1.1.tgz#8f5c2731aa35a30929221bb0640eed65175ec84e\"\n integrity sha512-BLM56aPo9vLLFVa8+\u002F+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==\n\nare-we-there-yet@~1.1.2:\n version \"1.1.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fare-we-there-yet\u002F-\u002Fare-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21\"\n integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q\u002FgYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==\n dependencies:\n delegates \"^1.0.0\"\n readable-stream \"^2.0.6\"\n\narg@2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farg\u002F-\u002Farg-2.0.0.tgz#c06e7ff69ab05b3a4a03ebe0407fac4cba657545\"\n integrity sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk\u002FHNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV\u002FK8wZd7PG4w==\n\nargparse@^1.0.7:\n version \"1.0.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fargparse\u002F-\u002Fargparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911\"\n integrity sha512-o5Roy6tNG4SL\u002FFOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\n dependencies:\n sprintf-js \"~1.0.2\"\n\naria-query@3.0.0, aria-query@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Faria-query\u002F-\u002Faria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc\"\n integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=\n dependencies:\n ast-types-flow \"0.0.7\"\n commander \"^2.11.0\"\n\narity-n@^1.0.4:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farity-n\u002F-\u002Farity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745\"\n integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U=\n\narr-diff@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farr-diff\u002F-\u002Farr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520\"\n integrity sha1-1kYQdP6\u002F7HHn4VI1dhoyml3HxSA=\n\narr-flatten@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farr-flatten\u002F-\u002Farr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1\"\n integrity sha512-L3hKV5R\u002Fp5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==\n\narr-union@^3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farr-union\u002F-\u002Farr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4\"\n integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=\n\narray-equal@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farray-equal\u002F-\u002Farray-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93\"\n integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=\n\narray-flatten@1.1.1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farray-flatten\u002F-\u002Farray-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2\"\n integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=\n\narray-flatten@^2.1.0:\n version \"2.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farray-flatten\u002F-\u002Farray-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099\"\n integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==\n\narray-includes@^3.0.3:\n version \"3.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farray-includes\u002F-\u002Farray-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d\"\n integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=\n dependencies:\n define-properties \"^1.1.2\"\n es-abstract \"^1.7.0\"\n\narray-union@^1.0.1:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farray-union\u002F-\u002Farray-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39\"\n integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=\n dependencies:\n array-uniq \"^1.0.1\"\n\narray-uniq@^1.0.1:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farray-uniq\u002F-\u002Farray-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6\"\n integrity sha1-r2rId6Jcx\u002FdOBYiUdThY39sk\u002FbY=\n\narray-unique@^0.3.2:\n version \"0.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farray-unique\u002F-\u002Farray-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428\"\n integrity sha1-qJS3XUvE9s1nnvMkSp\u002FY9Gri1Cg=\n\narrify@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Farrify\u002F-\u002Farrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d\"\n integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=\n\nasap@~2.0.6:\n version \"2.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fasap\u002F-\u002Fasap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46\"\n integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=\n\nasn1.js@^4.0.0:\n version \"4.10.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fasn1.js\u002F-\u002Fasn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0\"\n integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==\n dependencies:\n bn.js \"^4.0.0\"\n inherits \"^2.0.1\"\n minimalistic-assert \"^1.0.0\"\n\nasn1@~0.2.3:\n version \"0.2.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fasn1\u002F-\u002Fasn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136\"\n integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7\u002FkyEyQEagBC5mBEFlIYvdg==\n dependencies:\n safer-buffer \"~2.1.0\"\n\nassert-plus@1.0.0, assert-plus@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fassert-plus\u002F-\u002Fassert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525\"\n integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=\n\nassert@1.4.1:\n version \"1.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fassert\u002F-\u002Fassert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91\"\n integrity sha1-mZEtWRg2tab1s0XA8H7vwI\u002FGXZE=\n dependencies:\n util \"0.10.3\"\n\nassert@^1.1.1:\n version \"1.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fassert\u002F-\u002Fassert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb\"\n integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM\u002F3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==\n dependencies:\n object-assign \"^4.1.1\"\n util \"0.10.3\"\n\nassign-symbols@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fassign-symbols\u002F-\u002Fassign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367\"\n integrity sha1-WWZ\u002FQfrdTyDMvCu5a41Pf3jsA2c=\n\nast-types-flow@0.0.7, ast-types-flow@^0.0.7:\n version \"0.0.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fast-types-flow\u002F-\u002Fast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad\"\n integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=\n\nastral-regex@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fastral-regex\u002F-\u002Fastral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9\"\n integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF\u002F1\u002FsQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==\n\nasync-each@^1.0.1:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fasync-each\u002F-\u002Fasync-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf\"\n integrity sha512-z\u002FWhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7\u002FuSckMetoRGb5UBZPC1z0jlw+n\u002FXCgjeH7y1AQ==\n\nasync-limiter@~1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fasync-limiter\u002F-\u002Fasync-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd\"\n integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H\u002FQbJFMCr+uO2kwohwXQPxw\u002F9OCxp05r5ghVBFSyioixx3gfkNQ==\n\nasync@^2.6.2:\n version \"2.6.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fasync\u002F-\u002Fasync-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff\"\n integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X\u002FpjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==\n dependencies:\n lodash \"^4.17.14\"\n\nasynckit@^0.4.0:\n version \"0.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fasynckit\u002F-\u002Fasynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79\"\n integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=\n\natob@^2.1.1:\n version \"2.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fatob\u002F-\u002Fatob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9\"\n integrity sha512-Wm6ukoaOGJi\u002F73p\u002Fcl2GvLjTI5JM1k\u002FO14isD73YML8StrH\u002F7\u002FlRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==\n\nautoprefixer@^9.6.1:\n version \"9.7.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fautoprefixer\u002F-\u002Fautoprefixer-9.7.1.tgz#9ffc44c55f5ca89253d9bb7186cefb01ef57747f\"\n integrity sha512-w3b5y1PXWlhYulevrTJ0lizkQ5CyqfeU6BIRDbuhsMupstHQOeb1Ur80tcB1zxSu7AwyY\u002FqCQ7Vvqklh31ZBFw==\n dependencies:\n browserslist \"^4.7.2\"\n caniuse-lite \"^1.0.30001006\"\n chalk \"^2.4.2\"\n normalize-range \"^0.1.2\"\n num2fraction \"^1.2.2\"\n postcss \"^7.0.21\"\n postcss-value-parser \"^4.0.2\"\n\naws-sign2@~0.7.0:\n version \"0.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Faws-sign2\u002F-\u002Faws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8\"\n integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=\n\naws4@^1.8.0:\n version \"1.8.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Faws4\u002F-\u002Faws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f\"\n integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==\n\naxobject-query@^2.0.2:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Faxobject-query\u002F-\u002Faxobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9\"\n integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==\n dependencies:\n ast-types-flow \"0.0.7\"\n\nbabel-code-frame@^6.22.0:\n version \"6.26.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-code-frame\u002F-\u002Fbabel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b\"\n integrity sha1-Y\u002F1D99weO7fONZR9uP42mj9Yx0s=\n dependencies:\n chalk \"^1.1.3\"\n esutils \"^2.0.2\"\n js-tokens \"^3.0.2\"\n\nbabel-eslint@10.0.3:\n version \"10.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-eslint\u002F-\u002Fbabel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a\"\n integrity sha512-z3U7eMY6r\u002F3f3\u002FJB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t\u002FXKewP+8mEN2Ck8Dtr4q20z6ce6SoA==\n dependencies:\n \"@babel\u002Fcode-frame\" \"^7.0.0\"\n \"@babel\u002Fparser\" \"^7.0.0\"\n \"@babel\u002Ftraverse\" \"^7.0.0\"\n \"@babel\u002Ftypes\" \"^7.0.0\"\n eslint-visitor-keys \"^1.0.0\"\n resolve \"^1.12.0\"\n\nbabel-extract-comments@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-extract-comments\u002F-\u002Fbabel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21\"\n integrity sha512-qWWzi4TlddohA91bFwgt6zO\u002FJ0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==\n dependencies:\n babylon \"^6.18.0\"\n\nbabel-jest@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-jest\u002F-\u002Fbabel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54\"\n integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg\u002F+wz9brFUD6RhOAT6r4Iw==\n dependencies:\n \"@jest\u002Ftransform\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n \"@types\u002Fbabel__core\" \"^7.1.0\"\n babel-plugin-istanbul \"^5.1.0\"\n babel-preset-jest \"^24.9.0\"\n chalk \"^2.4.2\"\n slash \"^2.0.0\"\n\nbabel-loader@8.0.6:\n version \"8.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-loader\u002F-\u002Fbabel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb\"\n integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==\n dependencies:\n find-cache-dir \"^2.0.0\"\n loader-utils \"^1.0.2\"\n mkdirp \"^0.5.1\"\n pify \"^4.0.1\"\n\nbabel-plugin-dynamic-import-node@2.3.0, babel-plugin-dynamic-import-node@^2.3.0:\n version \"2.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-plugin-dynamic-import-node\u002F-\u002Fbabel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f\"\n integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD\u002F8DylxjjO4foPcvTW0GGKa\u002FcVt3rvxZ7o5ippJ+\u002F0nvLhlQ==\n dependencies:\n object.assign \"^4.1.0\"\n\nbabel-plugin-istanbul@^5.1.0:\n version \"5.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-plugin-istanbul\u002F-\u002Fbabel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854\"\n integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj\u002F9+X6P37Qfirc\u002F70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==\n dependencies:\n \"@babel\u002Fhelper-plugin-utils\" \"^7.0.0\"\n find-up \"^3.0.0\"\n istanbul-lib-instrument \"^3.3.0\"\n test-exclude \"^5.2.3\"\n\nbabel-plugin-jest-hoist@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-plugin-jest-hoist\u002F-\u002Fbabel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756\"\n integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==\n dependencies:\n \"@types\u002Fbabel__traverse\" \"^7.0.6\"\n\nbabel-plugin-macros@2.6.1, babel-plugin-macros@^2.2.2:\n version \"2.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-plugin-macros\u002F-\u002Fbabel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181\"\n integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL\u002F2NmQ==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.4.2\"\n cosmiconfig \"^5.2.0\"\n resolve \"^1.10.0\"\n\nbabel-plugin-named-asset-import@^0.3.4:\n version \"0.3.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-plugin-named-asset-import\u002F-\u002Fbabel-plugin-named-asset-import-0.3.4.tgz#4a8fc30e9a3e2b1f5ed36883386ab2d84e1089bd\"\n integrity sha512-S6d+tEzc5Af1tKIMbsf2QirCcPdQ+mKUCY2H1nJj1DyA1ShwpsoxEOAwbWsG5gcXNV\u002FolpvQd9vrUWRx4bnhpw==\n\nbabel-plugin-preval@^3.0.0:\n version \"3.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-plugin-preval\u002F-\u002Fbabel-plugin-preval-3.0.1.tgz#a26f9690114a864a54a5cbdf865496ebf541a9c3\"\n integrity sha512-s8hmTlRSmzcL7cHSIi0s6WxmpOAxfIlWqSVQwBIt7V5bNBaac+8JMZ6kJXLOazMJ8gCIcb5AJgQUgPHvbSYUzw==\n dependencies:\n babel-plugin-macros \"^2.2.2\"\n require-from-string \"^2.0.2\"\n\nbabel-plugin-syntax-object-rest-spread@^6.8.0:\n version \"6.13.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-plugin-syntax-object-rest-spread\u002F-\u002Fbabel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5\"\n integrity sha1-\u002FWU28rzhODb\u002Fo6VFjEkDpZe7O\u002FU=\n\nbabel-plugin-transform-object-rest-spread@^6.26.0:\n version \"6.26.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-plugin-transform-object-rest-spread\u002F-\u002Fbabel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06\"\n integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=\n dependencies:\n babel-plugin-syntax-object-rest-spread \"^6.8.0\"\n babel-runtime \"^6.26.0\"\n\nbabel-plugin-transform-react-remove-prop-types@0.4.24:\n version \"0.4.24\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-plugin-transform-react-remove-prop-types\u002F-\u002Fbabel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a\"\n integrity sha512-eqj0hVcJUR57\u002FUg2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd\u002Fv+4nc4y+8JsA==\n\nbabel-preset-jest@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-preset-jest\u002F-\u002Fbabel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc\"\n integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==\n dependencies:\n \"@babel\u002Fplugin-syntax-object-rest-spread\" \"^7.0.0\"\n babel-plugin-jest-hoist \"^24.9.0\"\n\nbabel-preset-react-app@^9.0.2:\n version \"9.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-preset-react-app\u002F-\u002Fbabel-preset-react-app-9.0.2.tgz#247d37e883d6d6f4b4691e5f23711bb2dd80567d\"\n integrity sha512-aXD+CTH8Chn8sNJr4tO\u002FtrWKqe5sSE4hdO76j9fhVezJSzmpWYWUSc5JoPmdSxADwef5kQFNGKXd433vvkd2VQ==\n dependencies:\n \"@babel\u002Fcore\" \"7.6.0\"\n \"@babel\u002Fplugin-proposal-class-properties\" \"7.5.5\"\n \"@babel\u002Fplugin-proposal-decorators\" \"7.6.0\"\n \"@babel\u002Fplugin-proposal-object-rest-spread\" \"7.5.5\"\n \"@babel\u002Fplugin-syntax-dynamic-import\" \"7.2.0\"\n \"@babel\u002Fplugin-transform-destructuring\" \"7.6.0\"\n \"@babel\u002Fplugin-transform-flow-strip-types\" \"7.4.4\"\n \"@babel\u002Fplugin-transform-react-display-name\" \"7.2.0\"\n \"@babel\u002Fplugin-transform-runtime\" \"7.6.0\"\n \"@babel\u002Fpreset-env\" \"7.6.0\"\n \"@babel\u002Fpreset-react\" \"7.0.0\"\n \"@babel\u002Fpreset-typescript\" \"7.6.0\"\n \"@babel\u002Fruntime\" \"7.6.0\"\n babel-plugin-dynamic-import-node \"2.3.0\"\n babel-plugin-macros \"2.6.1\"\n babel-plugin-transform-react-remove-prop-types \"0.4.24\"\n\nbabel-runtime@^6.26.0:\n version \"6.26.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabel-runtime\u002F-\u002Fbabel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe\"\n integrity sha1-llxwWGaOgrVde\u002F4E\u002FyM3vItWR\u002F4=\n dependencies:\n core-js \"^2.4.0\"\n regenerator-runtime \"^0.11.0\"\n\nbabylon@^6.18.0:\n version \"6.18.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbabylon\u002F-\u002Fbabylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3\"\n integrity sha512-q\u002FUEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==\n\nbalanced-match@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbalanced-match\u002F-\u002Fbalanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767\"\n integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=\n\nbase64-js@^1.0.2:\n version \"1.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbase64-js\u002F-\u002Fbase64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1\"\n integrity sha512-mLQ4i2QO1ytvGWFWmcngKO\u002F\u002FJXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==\n\nbase@^0.11.1:\n version \"0.11.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbase\u002F-\u002Fbase-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f\"\n integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==\n dependencies:\n cache-base \"^1.0.1\"\n class-utils \"^0.3.5\"\n component-emitter \"^1.2.1\"\n define-property \"^1.0.0\"\n isobject \"^3.0.1\"\n mixin-deep \"^1.2.0\"\n pascalcase \"^0.1.1\"\n\nbatch@0.6.1:\n version \"0.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbatch\u002F-\u002Fbatch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16\"\n integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=\n\nbcrypt-pbkdf@^1.0.0:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbcrypt-pbkdf\u002F-\u002Fbcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e\"\n integrity sha1-pDAdOJtqQ\u002Fm2f\u002FPKEaP2Y342Dp4=\n dependencies:\n tweetnacl \"^0.14.3\"\n\nbig.js@^5.2.2:\n version \"5.2.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbig.js\u002F-\u002Fbig.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328\"\n integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==\n\nbinary-extensions@^1.0.0:\n version \"1.13.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbinary-extensions\u002F-\u002Fbinary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65\"\n integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==\n\nbluebird@^3.5.5:\n version \"3.7.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbluebird\u002F-\u002Fbluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de\"\n integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==\n\nbn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:\n version \"4.11.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbn.js\u002F-\u002Fbn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f\"\n integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==\n\nbody-parser@1.19.0:\n version \"1.19.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbody-parser\u002F-\u002Fbody-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a\"\n integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV\u002Fa4fX4XWW9CuFNK22krhrj1+rgzifNCsw==\n dependencies:\n bytes \"3.1.0\"\n content-type \"~1.0.4\"\n debug \"2.6.9\"\n depd \"~1.1.2\"\n http-errors \"1.7.2\"\n iconv-lite \"0.4.24\"\n on-finished \"~2.3.0\"\n qs \"6.7.0\"\n raw-body \"2.4.0\"\n type-is \"~1.6.17\"\n\nbonjour@^3.5.0:\n version \"3.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbonjour\u002F-\u002Fbonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5\"\n integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU=\n dependencies:\n array-flatten \"^2.1.0\"\n deep-equal \"^1.0.1\"\n dns-equal \"^1.0.0\"\n dns-txt \"^2.0.2\"\n multicast-dns \"^6.0.1\"\n multicast-dns-service-types \"^1.1.0\"\n\nboolbase@^1.0.0, boolbase@~1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fboolbase\u002F-\u002Fboolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e\"\n integrity sha1-aN\u002F1++YMUes3cl6p4+0xDcwed24=\n\nboxen@1.3.0:\n version \"1.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fboxen\u002F-\u002Fboxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b\"\n integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl\u002FC51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==\n dependencies:\n ansi-align \"^2.0.0\"\n camelcase \"^4.0.0\"\n chalk \"^2.0.1\"\n cli-boxes \"^1.0.0\"\n string-width \"^2.0.0\"\n term-size \"^1.2.0\"\n widest-line \"^2.0.0\"\n\nbrace-expansion@^1.1.7:\n version \"1.1.11\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrace-expansion\u002F-\u002Fbrace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd\"\n integrity sha512-iCuPHDFgrHX7H2vEI\u002F5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==\n dependencies:\n balanced-match \"^1.0.0\"\n concat-map \"0.0.1\"\n\nbraces@^2.3.1, braces@^2.3.2:\n version \"2.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbraces\u002F-\u002Fbraces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729\"\n integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc\u002FEoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==\n dependencies:\n arr-flatten \"^1.1.0\"\n array-unique \"^0.3.2\"\n extend-shallow \"^2.0.1\"\n fill-range \"^4.0.0\"\n isobject \"^3.0.1\"\n repeat-element \"^1.1.2\"\n snapdragon \"^0.8.1\"\n snapdragon-node \"^2.0.1\"\n split-string \"^3.0.2\"\n to-regex \"^3.0.1\"\n\nbrorand@^1.0.1:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrorand\u002F-\u002Fbrorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f\"\n integrity sha1-EsJe\u002FkCkXjwyPrhnWgoM5XsiNx8=\n\nbrowser-process-hrtime@^0.1.2:\n version \"0.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrowser-process-hrtime\u002F-\u002Fbrowser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4\"\n integrity sha512-bRFnI4NnjO6cnyLmOV\u002F7PVoDEMJChlcfN0z4s1YMBY989\u002FSvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==\n\nbrowser-resolve@^1.11.3:\n version \"1.11.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrowser-resolve\u002F-\u002Fbrowser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6\"\n integrity sha512-exDi1BYWB\u002F6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK\u002FQfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==\n dependencies:\n resolve \"1.1.7\"\n\nbrowserify-aes@^1.0.0, browserify-aes@^1.0.4:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrowserify-aes\u002F-\u002Fbrowserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48\"\n integrity sha512-+7CHXqGuspUn\u002FSl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc\u002Fuzk5zSOI3H52CYnjCfb5hA==\n dependencies:\n buffer-xor \"^1.0.3\"\n cipher-base \"^1.0.0\"\n create-hash \"^1.1.0\"\n evp_bytestokey \"^1.0.3\"\n inherits \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n\nbrowserify-cipher@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrowserify-cipher\u002F-\u002Fbrowserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0\"\n integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO\u002FmexrNunNECisZs+gw2zz1w==\n dependencies:\n browserify-aes \"^1.0.4\"\n browserify-des \"^1.0.0\"\n evp_bytestokey \"^1.0.0\"\n\nbrowserify-des@^1.0.0:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrowserify-des\u002F-\u002Fbrowserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c\"\n integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4\u002F0\u002Fvd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==\n dependencies:\n cipher-base \"^1.0.1\"\n des.js \"^1.0.0\"\n inherits \"^2.0.1\"\n safe-buffer \"^5.1.2\"\n\nbrowserify-rsa@^4.0.0:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrowserify-rsa\u002F-\u002Fbrowserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524\"\n integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=\n dependencies:\n bn.js \"^4.1.0\"\n randombytes \"^2.0.1\"\n\nbrowserify-sign@^4.0.0:\n version \"4.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrowserify-sign\u002F-\u002Fbrowserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298\"\n integrity sha1-qk62jl17ZYuqa\u002FalfmMMvXqT0pg=\n dependencies:\n bn.js \"^4.1.1\"\n browserify-rsa \"^4.0.0\"\n create-hash \"^1.1.0\"\n create-hmac \"^1.1.2\"\n elliptic \"^6.0.0\"\n inherits \"^2.0.1\"\n parse-asn1 \"^5.0.0\"\n\nbrowserify-zlib@^0.2.0:\n version \"0.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrowserify-zlib\u002F-\u002Fbrowserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f\"\n integrity sha512-Z942RysHXmJrhqk88FmKBVq\u002Fv5tqmSkDz7p54G\u002FMGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==\n dependencies:\n pako \"~1.0.5\"\n\nbrowserslist@4.7.0:\n version \"4.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrowserslist\u002F-\u002Fbrowserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17\"\n integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo\u002FDn8daDQ5dUgVsA==\n dependencies:\n caniuse-lite \"^1.0.30000989\"\n electron-to-chromium \"^1.3.247\"\n node-releases \"^1.1.29\"\n\nbrowserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.4, browserslist@^4.7.2:\n version \"4.7.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbrowserslist\u002F-\u002Fbrowserslist-4.7.2.tgz#1bb984531a476b5d389cedecb195b2cd69fb1348\"\n integrity sha512-uZavT\u002FgZXJd2UTi9Ov7\u002FZ340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw==\n dependencies:\n caniuse-lite \"^1.0.30001004\"\n electron-to-chromium \"^1.3.295\"\n node-releases \"^1.1.38\"\n\nbser@^2.0.0:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbser\u002F-\u002Fbser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05\"\n integrity sha512-gQxTNE\u002FGAfIIrmHLUE3oJyp5FO6HRBfhjnw4\u002FwMmA63ZGDJnWBmgY\u002FlyQBpnDUkGmAhbSe39tx2d\u002FiTOAfglwQ==\n dependencies:\n node-int64 \"^0.4.0\"\n\nbuffer-from@^1.0.0:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbuffer-from\u002F-\u002Fbuffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef\"\n integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO\u002Fk9V3hjVUF\u002FzwW7KBVdSK4gIt\u002FbzwS9MbR5qob+F5jusZsb0YQK2A==\n\nbuffer-indexof@^1.0.0:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbuffer-indexof\u002F-\u002Fbuffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c\"\n integrity sha512-4\u002FrOEg86jivtPTeOUUT61jJO1Ya1TrR\u002FOkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte\u002F8WzC8If\u002F1g==\n\nbuffer-xor@^1.0.3:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbuffer-xor\u002F-\u002Fbuffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9\"\n integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=\n\nbuffer@^4.3.0:\n version \"4.9.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbuffer\u002F-\u002Fbuffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298\"\n integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=\n dependencies:\n base64-js \"^1.0.2\"\n ieee754 \"^1.1.4\"\n isarray \"^1.0.0\"\n\nbuiltin-status-codes@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbuiltin-status-codes\u002F-\u002Fbuiltin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8\"\n integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=\n\nbytes@3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbytes\u002F-\u002Fbytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048\"\n integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=\n\nbytes@3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fbytes\u002F-\u002Fbytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6\"\n integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==\n\ncacache@^12.0.2:\n version \"12.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcacache\u002F-\u002Fcacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390\"\n integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy\u002FkhxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==\n dependencies:\n bluebird \"^3.5.5\"\n chownr \"^1.1.1\"\n figgy-pudding \"^3.5.1\"\n glob \"^7.1.4\"\n graceful-fs \"^4.1.15\"\n infer-owner \"^1.0.3\"\n lru-cache \"^5.1.1\"\n mississippi \"^3.0.0\"\n mkdirp \"^0.5.1\"\n move-concurrently \"^1.0.1\"\n promise-inflight \"^1.0.1\"\n rimraf \"^2.6.3\"\n ssri \"^6.0.1\"\n unique-filename \"^1.1.1\"\n y18n \"^4.0.0\"\n\ncache-base@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcache-base\u002F-\u002Fcache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2\"\n integrity sha512-AKcdTnFSWATd5\u002FGCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==\n dependencies:\n collection-visit \"^1.0.0\"\n component-emitter \"^1.2.1\"\n get-value \"^2.0.6\"\n has-value \"^1.0.0\"\n isobject \"^3.0.1\"\n set-value \"^2.0.0\"\n to-object-path \"^0.3.0\"\n union-value \"^1.0.0\"\n unset-value \"^1.0.0\"\n\ncall-me-maybe@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcall-me-maybe\u002F-\u002Fcall-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b\"\n integrity sha1-JtII6onje1y95gJQoV8DHBak1ms=\n\ncaller-callsite@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcaller-callsite\u002F-\u002Fcaller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134\"\n integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=\n dependencies:\n callsites \"^2.0.0\"\n\ncaller-path@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcaller-path\u002F-\u002Fcaller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4\"\n integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=\n dependencies:\n caller-callsite \"^2.0.0\"\n\ncallsites@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcallsites\u002F-\u002Fcallsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50\"\n integrity sha1-BuuE8A7qQT2oav\u002FvrL\u002F7Ngk7PFA=\n\ncallsites@^3.0.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcallsites\u002F-\u002Fcallsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73\"\n integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\n\ncamel-case@3.0.x:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcamel-case\u002F-\u002Fcamel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73\"\n integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=\n dependencies:\n no-case \"^2.2.0\"\n upper-case \"^1.1.1\"\n\ncamelcase@5.0.0:\n version \"5.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcamelcase\u002F-\u002Fcamelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42\"\n integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp\u002FH9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu\u002FkuyYA6VTsA==\n\ncamelcase@^4.0.0, camelcase@^4.1.0:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcamelcase\u002F-\u002Fcamelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd\"\n integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=\n\ncamelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1:\n version \"5.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcamelcase\u002F-\u002Fcamelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320\"\n integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==\n\ncaniuse-api@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcaniuse-api\u002F-\u002Fcaniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0\"\n integrity sha512-bsTwuIg\u002FBZZK\u002FvreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==\n dependencies:\n browserslist \"^4.0.0\"\n caniuse-lite \"^1.0.0\"\n lodash.memoize \"^4.1.2\"\n lodash.uniq \"^4.5.0\"\n\ncaniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001004, caniuse-lite@^1.0.30001006:\n version \"1.0.30001008\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcaniuse-lite\u002F-\u002Fcaniuse-lite-1.0.30001008.tgz#b8841b1df78a9f5ed9702537ef592f1f8772c0d9\"\n integrity sha512-b8DJyb+VVXZGRgJUa30cbk8gKHZ3LOZTBLaUEEVr2P4xpmFigOCc62CO4uzquW641Ouq1Rm9N+rWLWdSYDaDIw==\n\ncapture-exit@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcapture-exit\u002F-\u002Fcapture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4\"\n integrity sha512-PiT\u002FhQmTonHhl\u002FHFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==\n dependencies:\n rsvp \"^4.8.4\"\n\ncase-sensitive-paths-webpack-plugin@2.2.0:\n version \"2.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcase-sensitive-paths-webpack-plugin\u002F-\u002Fcase-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e\"\n integrity sha512-u5ElzokS8A1pm9vM3\u002FiDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g==\n\ncaseless@~0.12.0:\n version \"0.12.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcaseless\u002F-\u002Fcaseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc\"\n integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=\n\nchalk@2.4.1:\n version \"2.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fchalk\u002F-\u002Fchalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e\"\n integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==\n dependencies:\n ansi-styles \"^3.2.1\"\n escape-string-regexp \"^1.0.5\"\n supports-color \"^5.3.0\"\n\nchalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:\n version \"2.4.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fchalk\u002F-\u002Fchalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424\"\n integrity sha512-Mti+f9lpJNcwF4tWV8\u002FOrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==\n dependencies:\n ansi-styles \"^3.2.1\"\n escape-string-regexp \"^1.0.5\"\n supports-color \"^5.3.0\"\n\nchalk@^1.1.3:\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fchalk\u002F-\u002Fchalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98\"\n integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J\u002FJg=\n dependencies:\n ansi-styles \"^2.2.1\"\n escape-string-regexp \"^1.0.2\"\n has-ansi \"^2.0.0\"\n strip-ansi \"^3.0.0\"\n supports-color \"^2.0.0\"\n\nchalk@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fchalk\u002F-\u002Fchalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4\"\n integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV\u002FuMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==\n dependencies:\n ansi-styles \"^4.1.0\"\n supports-color \"^7.1.0\"\n\nchardet@^0.7.0:\n version \"0.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fchardet\u002F-\u002Fchardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e\"\n integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0\u002F0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==\n\nchokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4:\n version \"2.1.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fchokidar\u002F-\u002Fchokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917\"\n integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==\n dependencies:\n anymatch \"^2.0.0\"\n async-each \"^1.0.1\"\n braces \"^2.3.2\"\n glob-parent \"^3.1.0\"\n inherits \"^2.0.3\"\n is-binary-path \"^1.0.0\"\n is-glob \"^4.0.0\"\n normalize-path \"^3.0.0\"\n path-is-absolute \"^1.0.0\"\n readdirp \"^2.2.1\"\n upath \"^1.1.1\"\n optionalDependencies:\n fsevents \"^1.2.7\"\n\nchownr@^1.1.1:\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fchownr\u002F-\u002Fchownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142\"\n integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==\n\nchrome-trace-event@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fchrome-trace-event\u002F-\u002Fchrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4\"\n integrity sha512-9e\u002Fzx1jw7B4CO+c\u002FRXoCsfg\u002Fx1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==\n dependencies:\n tslib \"^1.9.0\"\n\nci-info@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fci-info\u002F-\u002Fci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46\"\n integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1\u002FZ8wZzYPxqUrXeBboCQ==\n\ncipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcipher-base\u002F-\u002Fcipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de\"\n integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj\u002FT71N\u002FXzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==\n dependencies:\n inherits \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n\nclass-utils@^0.3.5:\n version \"0.3.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fclass-utils\u002F-\u002Fclass-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463\"\n integrity sha512-qOhPa\u002FFj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==\n dependencies:\n arr-union \"^3.1.0\"\n define-property \"^0.2.5\"\n isobject \"^3.0.0\"\n static-extend \"^0.1.1\"\n\nclean-css@4.2.x:\n version \"4.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fclean-css\u002F-\u002Fclean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17\"\n integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH\u002FXLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==\n dependencies:\n source-map \"~0.6.0\"\n\ncli-boxes@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcli-boxes\u002F-\u002Fcli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143\"\n integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM=\n\ncli-cursor@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcli-cursor\u002F-\u002Fcli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5\"\n integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP\u002FLU=\n dependencies:\n restore-cursor \"^2.0.0\"\n\ncli-cursor@^3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcli-cursor\u002F-\u002Fcli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307\"\n integrity sha512-I\u002FzHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==\n dependencies:\n restore-cursor \"^3.1.0\"\n\ncli-width@^2.0.0:\n version \"2.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcli-width\u002F-\u002Fcli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639\"\n integrity sha1-\u002Fxnt6Kml5XkyQUewwR8PvLq+1jk=\n\nclipboardy@1.2.3:\n version \"1.2.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fclipboardy\u002F-\u002Fclipboardy-1.2.3.tgz#0526361bf78724c1f20be248d428e365433c07ef\"\n integrity sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==\n dependencies:\n arch \"^2.1.0\"\n execa \"^0.8.0\"\n\ncliui@^4.0.0:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcliui\u002F-\u002Fcliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49\"\n integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR\u002FUkAeW2QHgeP+hWrXs7jQ==\n dependencies:\n string-width \"^2.1.1\"\n strip-ansi \"^4.0.0\"\n wrap-ansi \"^2.0.0\"\n\ncliui@^5.0.0:\n version \"5.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcliui\u002F-\u002Fcliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5\"\n integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6\u002FAU8NHjZugXvo8w3oWM2qnwXA==\n dependencies:\n string-width \"^3.1.0\"\n strip-ansi \"^5.2.0\"\n wrap-ansi \"^5.1.0\"\n\nclone-deep@^0.2.4:\n version \"0.2.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fclone-deep\u002F-\u002Fclone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6\"\n integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=\n dependencies:\n for-own \"^0.1.3\"\n is-plain-object \"^2.0.1\"\n kind-of \"^3.0.2\"\n lazy-cache \"^1.0.3\"\n shallow-clone \"^0.1.2\"\n\nclone-deep@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fclone-deep\u002F-\u002Fclone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387\"\n integrity sha512-neHB9xuzh\u002Fwk0dIHweyAXv2aPGZIVk3pLMe+\u002FRNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==\n dependencies:\n is-plain-object \"^2.0.4\"\n kind-of \"^6.0.2\"\n shallow-clone \"^3.0.0\"\n\nco@^4.6.0:\n version \"4.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fco\u002F-\u002Fco-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184\"\n integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=\n\ncoa@^2.0.2:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcoa\u002F-\u002Fcoa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3\"\n integrity sha512-q5\u002FjG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==\n dependencies:\n \"@types\u002Fq\" \"^1.5.1\"\n chalk \"^2.4.1\"\n q \"^1.1.2\"\n\ncode-point-at@^1.0.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcode-point-at\u002F-\u002Fcode-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77\"\n integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=\n\ncollection-visit@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcollection-visit\u002F-\u002Fcollection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0\"\n integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=\n dependencies:\n map-visit \"^1.0.0\"\n object-visit \"^1.0.0\"\n\ncolor-convert@^1.9.0, color-convert@^1.9.1:\n version \"1.9.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcolor-convert\u002F-\u002Fcolor-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8\"\n integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G\u002FSHHJYAT88\u002Faz\u002FIuDGALsNVbGg==\n dependencies:\n color-name \"1.1.3\"\n\ncolor-convert@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcolor-convert\u002F-\u002Fcolor-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3\"\n integrity sha512-RRECPsj7iu\u002Fxb5oKYcsFHSppFNnsj\u002F52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK\u002FU584fMg38ZHCaElKQ==\n dependencies:\n color-name \"~1.1.4\"\n\ncolor-name@1.1.3:\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcolor-name\u002F-\u002Fcolor-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25\"\n integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=\n\ncolor-name@^1.0.0, color-name@~1.1.4:\n version \"1.1.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcolor-name\u002F-\u002Fcolor-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2\"\n integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU\u002FuBL\u002FubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\n\ncolor-string@^1.5.2:\n version \"1.5.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcolor-string\u002F-\u002Fcolor-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc\"\n integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==\n dependencies:\n color-name \"^1.0.0\"\n simple-swizzle \"^0.2.2\"\n\ncolor@^3.0.0:\n version \"3.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcolor\u002F-\u002Fcolor-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10\"\n integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==\n dependencies:\n color-convert \"^1.9.1\"\n color-string \"^1.5.2\"\n\ncombined-stream@^1.0.6, combined-stream@~1.0.6:\n version \"1.0.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcombined-stream\u002F-\u002Fcombined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f\"\n integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe\u002F+5cdoEdg==\n dependencies:\n delayed-stream \"~1.0.0\"\n\ncommander@2.17.x:\n version \"2.17.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcommander\u002F-\u002Fcommander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf\"\n integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM\u002FEJ4KscsQVG8uNN4uVreUeT8+drlgg==\n\ncommander@^2.11.0, commander@^2.20.0, commander@~2.20.3:\n version \"2.20.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcommander\u002F-\u002Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33\"\n integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey\u002FlJEnhZw75x\u002FOMcQ==\n\ncommander@~2.19.0:\n version \"2.19.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcommander\u002F-\u002Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a\"\n integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==\n\ncommon-tags@^1.8.0:\n version \"1.8.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcommon-tags\u002F-\u002Fcommon-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937\"\n integrity sha512-6P6g0uetGpW\u002FsdyUy\u002FiQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==\n\ncommondir@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcommondir\u002F-\u002Fcommondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b\"\n integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=\n\ncomponent-emitter@^1.2.1:\n version \"1.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcomponent-emitter\u002F-\u002Fcomponent-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0\"\n integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0\u002FyYnSin6Q\u002FrD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==\n\ncompose-function@3.0.3:\n version \"3.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcompose-function\u002F-\u002Fcompose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f\"\n integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=\n dependencies:\n arity-n \"^1.0.4\"\n\ncompressible@~2.0.14, compressible@~2.0.16:\n version \"2.0.17\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcompressible\u002F-\u002Fcompressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1\"\n integrity sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr\u002F0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==\n dependencies:\n mime-db \"\u003E= 1.40.0 \u003C 2\"\n\ncompression@1.7.3:\n version \"1.7.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcompression\u002F-\u002Fcompression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db\"\n integrity sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71\u002FfwgNb7oIsEVHR0WShfs2tIS\u002FEySLgiTe98aOK18YDlMXpzjCXY\u002Fn9mg==\n dependencies:\n accepts \"~1.3.5\"\n bytes \"3.0.0\"\n compressible \"~2.0.14\"\n debug \"2.6.9\"\n on-headers \"~1.0.1\"\n safe-buffer \"5.1.2\"\n vary \"~1.1.2\"\n\ncompression@^1.5.2:\n version \"1.7.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcompression\u002F-\u002Fcompression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f\"\n integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==\n dependencies:\n accepts \"~1.3.5\"\n bytes \"3.0.0\"\n compressible \"~2.0.16\"\n debug \"2.6.9\"\n on-headers \"~1.0.2\"\n safe-buffer \"5.1.2\"\n vary \"~1.1.2\"\n\nconcat-map@0.0.1:\n version \"0.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fconcat-map\u002F-\u002Fconcat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b\"\n integrity sha1-2Klr13\u002FWjfd5OnMDajug1UBdR3s=\n\nconcat-stream@^1.5.0:\n version \"1.6.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fconcat-stream\u002F-\u002Fconcat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34\"\n integrity sha512-27HBghJxjiZtIk3Ycvn\u002F4kbJk\u002F1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==\n dependencies:\n buffer-from \"^1.0.0\"\n inherits \"^2.0.3\"\n readable-stream \"^2.2.2\"\n typedarray \"^0.0.6\"\n\nconfusing-browser-globals@^1.0.9:\n version \"1.0.9\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fconfusing-browser-globals\u002F-\u002Fconfusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd\"\n integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==\n\nconnect-history-api-fallback@^1.3.0:\n version \"1.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fconnect-history-api-fallback\u002F-\u002Fconnect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc\"\n integrity sha512-e54B99q\u002FOUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==\n\nconsole-browserify@^1.1.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fconsole-browserify\u002F-\u002Fconsole-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336\"\n integrity sha512-ZMkYO\u002FLkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==\n\nconsole-control-strings@^1.0.0, console-control-strings@~1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fconsole-control-strings\u002F-\u002Fconsole-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e\"\n integrity sha1-PXz0Rk22RG6mRL9LOVB\u002FmFEAjo4=\n\nconstants-browserify@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fconstants-browserify\u002F-\u002Fconstants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75\"\n integrity sha1-wguW2MYXdIqvHBYCF2DNJ\u002Fy4y3U=\n\ncontains-path@^0.1.0:\n version \"0.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcontains-path\u002F-\u002Fcontains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a\"\n integrity sha1-\u002FozxhP9mcLa67wGp1IYaXL7EEgo=\n\ncontent-disposition@0.5.2:\n version \"0.5.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcontent-disposition\u002F-\u002Fcontent-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4\"\n integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ=\n\ncontent-disposition@0.5.3:\n version \"0.5.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcontent-disposition\u002F-\u002Fcontent-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd\"\n integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==\n dependencies:\n safe-buffer \"5.1.2\"\n\ncontent-type@~1.0.4:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcontent-type\u002F-\u002Fcontent-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b\"\n integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF\u002Fj4osnnQLXBCBFBk\u002FtvIG\u002FtUc9mOUJiPBhPXA==\n\nconvert-source-map@1.6.0:\n version \"1.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fconvert-source-map\u002F-\u002Fconvert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20\"\n integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ\u002FZ++C0eEhTor0qRwBw9unw+L0\u002F6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==\n dependencies:\n safe-buffer \"~5.1.1\"\n\nconvert-source-map@^0.3.3:\n version \"0.3.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fconvert-source-map\u002F-\u002Fconvert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190\"\n integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA=\n\nconvert-source-map@^1.1.0, convert-source-map@^1.4.0:\n version \"1.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fconvert-source-map\u002F-\u002Fconvert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442\"\n integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==\n dependencies:\n safe-buffer \"~5.1.1\"\n\ncookie-signature@1.0.6:\n version \"1.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcookie-signature\u002F-\u002Fcookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c\"\n integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=\n\ncookie@0.4.0:\n version \"0.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcookie\u002F-\u002Fcookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba\"\n integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg\u002Fjqx+1Om94\u002FW6ZaPDOUbnjOt\u002F99w66zk+l1Xg==\n\ncopy-concurrently@^1.0.0:\n version \"1.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcopy-concurrently\u002F-\u002Fcopy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0\"\n integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB\u002FQ8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T\u002FKTFOL4X2A==\n dependencies:\n aproba \"^1.1.1\"\n fs-write-stream-atomic \"^1.0.8\"\n iferr \"^0.1.5\"\n mkdirp \"^0.5.1\"\n rimraf \"^2.5.4\"\n run-queue \"^1.0.0\"\n\ncopy-descriptor@^0.1.0:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcopy-descriptor\u002F-\u002Fcopy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d\"\n integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=\n\ncore-js-compat@^3.1.1:\n version \"3.3.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcore-js-compat\u002F-\u002Fcore-js-compat-3.3.6.tgz#70c30dbeb582626efe9ecd6f49daa9ff4aeb136c\"\n integrity sha512-YnwZG\u002F+0\u002Ff7Pf6Lr3jxtVAFjtGBW9lsLYcqrxhYJai1GfvrP8DEyEpnNzj\u002FFRQfIkOOfk1j5tTBvPBLWVVJm4A==\n dependencies:\n browserslist \"^4.7.2\"\n semver \"^6.3.0\"\n\ncore-js@3.2.1:\n version \"3.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcore-js\u002F-\u002Fcore-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09\"\n integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM\u002FUxZeu1dcOX\u002Fxr4UmfUd+muuvsaxilQzCyUurMw==\n\ncore-js@^2.4.0:\n version \"2.6.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcore-js\u002F-\u002Fcore-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f\"\n integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc\u002FREhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF\u002FdBBlA==\n\ncore-util-is@1.0.2, core-util-is@~1.0.0:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcore-util-is\u002F-\u002Fcore-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7\"\n integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=\n\ncosmiconfig@^5.0.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1:\n version \"5.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcosmiconfig\u002F-\u002Fcosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a\"\n integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW\u002FSKMKYhSTrqR7ufy6RP69rPogdaPh\u002FkA==\n dependencies:\n import-fresh \"^2.0.0\"\n is-directory \"^0.3.1\"\n js-yaml \"^3.13.1\"\n parse-json \"^4.0.0\"\n\ncreate-ecdh@^4.0.0:\n version \"4.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcreate-ecdh\u002F-\u002Fcreate-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff\"\n integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+\u002FpFDc3jQdxrxQLaw==\n dependencies:\n bn.js \"^4.1.0\"\n elliptic \"^6.0.0\"\n\ncreate-hash@^1.1.0, create-hash@^1.1.2:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcreate-hash\u002F-\u002Fcreate-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196\"\n integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq\u002F4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj\u002Fhl2u4OGIjapeCg==\n dependencies:\n cipher-base \"^1.0.1\"\n inherits \"^2.0.1\"\n md5.js \"^1.3.4\"\n ripemd160 \"^2.0.1\"\n sha.js \"^2.4.0\"\n\ncreate-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:\n version \"1.1.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcreate-hmac\u002F-\u002Fcreate-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff\"\n integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR\u002Fg5h82fGaIRWMWddtKBHi7\u002FsVhfjQZ6SehlyhvQYrcYkaUIpLg==\n dependencies:\n cipher-base \"^1.0.3\"\n create-hash \"^1.1.0\"\n inherits \"^2.0.1\"\n ripemd160 \"^2.0.0\"\n safe-buffer \"^5.0.1\"\n sha.js \"^2.4.8\"\n\ncross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5:\n version \"6.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcross-spawn\u002F-\u002Fcross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4\"\n integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==\n dependencies:\n nice-try \"^1.0.4\"\n path-key \"^2.0.1\"\n semver \"^5.5.0\"\n shebang-command \"^1.2.0\"\n which \"^1.2.9\"\n\ncross-spawn@^5.0.1:\n version \"5.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcross-spawn\u002F-\u002Fcross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449\"\n integrity sha1-6L0O\u002FuWPz\u002Fb4+UUQoKVUu\u002FojVEk=\n dependencies:\n lru-cache \"^4.0.1\"\n shebang-command \"^1.2.0\"\n which \"^1.2.9\"\n\ncross-spawn@^7.0.1:\n version \"7.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcross-spawn\u002F-\u002Fcross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14\"\n integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1\u002Fie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==\n dependencies:\n path-key \"^3.1.0\"\n shebang-command \"^2.0.0\"\n which \"^2.0.1\"\n\ncrypto-browserify@^3.11.0:\n version \"3.12.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcrypto-browserify\u002F-\u002Fcrypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec\"\n integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+\u002FcCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==\n dependencies:\n browserify-cipher \"^1.0.0\"\n browserify-sign \"^4.0.0\"\n create-ecdh \"^4.0.0\"\n create-hash \"^1.1.0\"\n create-hmac \"^1.1.0\"\n diffie-hellman \"^5.0.0\"\n inherits \"^2.0.1\"\n pbkdf2 \"^3.0.3\"\n public-encrypt \"^4.0.0\"\n randombytes \"^2.0.0\"\n randomfill \"^1.0.3\"\n\ncss-blank-pseudo@^0.1.4:\n version \"0.1.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-blank-pseudo\u002F-\u002Fcss-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5\"\n integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==\n dependencies:\n postcss \"^7.0.5\"\n\ncss-color-names@0.0.4, css-color-names@^0.0.4:\n version \"0.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-color-names\u002F-\u002Fcss-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0\"\n integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=\n\ncss-declaration-sorter@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-declaration-sorter\u002F-\u002Fcss-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22\"\n integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19\u002FsBt6asXGKZ\u002F6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==\n dependencies:\n postcss \"^7.0.1\"\n timsort \"^0.3.0\"\n\ncss-has-pseudo@^0.10.0:\n version \"0.10.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-has-pseudo\u002F-\u002Fcss-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee\"\n integrity sha512-Z8hnfsZu4o\u002Fkt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV\u002FfTHH8UNZUytOIImuGPrl\u002Fprlb4oX4qQ==\n dependencies:\n postcss \"^7.0.6\"\n postcss-selector-parser \"^5.0.0-rc.4\"\n\ncss-loader@2.1.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-loader\u002F-\u002Fcss-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea\"\n integrity sha512-OcKJU\u002Flt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI\u002FhIwi3841+w==\n dependencies:\n camelcase \"^5.2.0\"\n icss-utils \"^4.1.0\"\n loader-utils \"^1.2.3\"\n normalize-path \"^3.0.0\"\n postcss \"^7.0.14\"\n postcss-modules-extract-imports \"^2.0.0\"\n postcss-modules-local-by-default \"^2.0.6\"\n postcss-modules-scope \"^2.1.0\"\n postcss-modules-values \"^2.0.0\"\n postcss-value-parser \"^3.3.0\"\n schema-utils \"^1.0.0\"\n\ncss-prefers-color-scheme@^3.1.1:\n version \"3.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-prefers-color-scheme\u002F-\u002Fcss-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4\"\n integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD\u002FTGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm\u002FlLjsDNXDE6k9bhg==\n dependencies:\n postcss \"^7.0.5\"\n\ncss-select-base-adapter@^0.1.1:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-select-base-adapter\u002F-\u002Fcss-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7\"\n integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8\u002FxC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==\n\ncss-select@^1.1.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-select\u002F-\u002Fcss-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858\"\n integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=\n dependencies:\n boolbase \"~1.0.0\"\n css-what \"2.1\"\n domutils \"1.5.1\"\n nth-check \"~1.0.1\"\n\ncss-select@^2.0.0:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-select\u002F-\u002Fcss-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede\"\n integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM\u002Fy2PMPa\u002FXYoEfYNZePL4U\u002FXgyxZNroHEHReDx\u002Fd+VgXh9VbCTtFqLkFbmeqeaRQ==\n dependencies:\n boolbase \"^1.0.0\"\n css-what \"^2.1.2\"\n domutils \"^1.7.0\"\n nth-check \"^1.0.2\"\n\ncss-tree@1.0.0-alpha.37:\n version \"1.0.0-alpha.37\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-tree\u002F-\u002Fcss-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22\"\n integrity sha512-DMxWJg0rnz7UgxKT0Q1HU\u002FL9BeJI0M6ksor0OgqOnF+aRCDWg\u002FN2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==\n dependencies:\n mdn-data \"2.0.4\"\n source-map \"^0.6.1\"\n\ncss-unit-converter@^1.1.1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-unit-converter\u002F-\u002Fcss-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996\"\n integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=\n\ncss-what@2.1, css-what@^2.1.2:\n version \"2.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss-what\u002F-\u002Fcss-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2\"\n integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==\n\ncss.escape@^1.5.1:\n version \"1.5.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss.escape\u002F-\u002Fcss.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb\"\n integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=\n\ncss@^2.0.0, css@^2.2.3:\n version \"2.2.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcss\u002F-\u002Fcss-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929\"\n integrity sha512-oUnjmWpy0niI3x\u002FmPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==\n dependencies:\n inherits \"^2.0.3\"\n source-map \"^0.6.1\"\n source-map-resolve \"^0.5.2\"\n urix \"^0.1.0\"\n\ncssdb@^4.4.0:\n version \"4.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssdb\u002F-\u002Fcssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0\"\n integrity sha512-LsTAR1JPEM9TpGhl\u002F0p3nQecC2LJ0kD8X5YARu1hk\u002F9I1gril5vDtMZyNxcEpxxDj34YNck\u002FucjuoUd66K03oQ==\n\ncssesc@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssesc\u002F-\u002Fcssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703\"\n integrity sha512-MsCAG1z9lPdoO\u002FIUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk\u002FDnW6bqoEUYg==\n\ncssesc@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssesc\u002F-\u002Fcssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee\"\n integrity sha512-\u002FTb\u002FJcjK111nNScGob5MNtsntNM1aCNUDipB\u002FTkwZFhyDrrE47SOx\u002F18wF2bbjgc3ZzCSKW1T5nt5EbFoAz\u002FVg==\n\ncssnano-preset-default@^4.0.7:\n version \"4.0.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssnano-preset-default\u002F-\u002Fcssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76\"\n integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==\n dependencies:\n css-declaration-sorter \"^4.0.1\"\n cssnano-util-raw-cache \"^4.0.1\"\n postcss \"^7.0.0\"\n postcss-calc \"^7.0.1\"\n postcss-colormin \"^4.0.3\"\n postcss-convert-values \"^4.0.1\"\n postcss-discard-comments \"^4.0.2\"\n postcss-discard-duplicates \"^4.0.2\"\n postcss-discard-empty \"^4.0.1\"\n postcss-discard-overridden \"^4.0.1\"\n postcss-merge-longhand \"^4.0.11\"\n postcss-merge-rules \"^4.0.3\"\n postcss-minify-font-values \"^4.0.2\"\n postcss-minify-gradients \"^4.0.2\"\n postcss-minify-params \"^4.0.2\"\n postcss-minify-selectors \"^4.0.2\"\n postcss-normalize-charset \"^4.0.1\"\n postcss-normalize-display-values \"^4.0.2\"\n postcss-normalize-positions \"^4.0.2\"\n postcss-normalize-repeat-style \"^4.0.2\"\n postcss-normalize-string \"^4.0.2\"\n postcss-normalize-timing-functions \"^4.0.2\"\n postcss-normalize-unicode \"^4.0.1\"\n postcss-normalize-url \"^4.0.1\"\n postcss-normalize-whitespace \"^4.0.2\"\n postcss-ordered-values \"^4.1.2\"\n postcss-reduce-initial \"^4.0.3\"\n postcss-reduce-transforms \"^4.0.2\"\n postcss-svgo \"^4.0.2\"\n postcss-unique-selectors \"^4.0.1\"\n\ncssnano-util-get-arguments@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssnano-util-get-arguments\u002F-\u002Fcssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f\"\n integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=\n\ncssnano-util-get-match@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssnano-util-get-match\u002F-\u002Fcssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d\"\n integrity sha1-wOTKB\u002FU4a7F+xeUiULT1lhNlFW0=\n\ncssnano-util-raw-cache@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssnano-util-raw-cache\u002F-\u002Fcssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282\"\n integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn\u002FxDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==\n dependencies:\n postcss \"^7.0.0\"\n\ncssnano-util-same-parent@^4.0.0:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssnano-util-same-parent\u002F-\u002Fcssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3\"\n integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj\u002Fzsl21Q==\n\ncssnano@^4.1.10:\n version \"4.1.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssnano\u002F-\u002Fcssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2\"\n integrity sha512-5wny+F6H4\u002F8RgNlaqab4ktc3e0\u002FblKutmq8yNlBFXA\u002F\u002FnSFFAqAngjNVRzUvCgYROULmZZUoosL\u002FKSoZo5aUaQ==\n dependencies:\n cosmiconfig \"^5.0.0\"\n cssnano-preset-default \"^4.0.7\"\n is-resolvable \"^1.0.0\"\n postcss \"^7.0.0\"\n\ncsso@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcsso\u002F-\u002Fcsso-4.0.2.tgz#e5f81ab3a56b8eefb7f0092ce7279329f454de3d\"\n integrity sha512-kS7\u002FoeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==\n dependencies:\n css-tree \"1.0.0-alpha.37\"\n\ncssom@0.3.x, \"cssom@\u003E= 0.3.2 \u003C 0.4.0\", cssom@^0.3.4:\n version \"0.3.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssom\u002F-\u002Fcssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a\"\n integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==\n\ncssstyle@^1.0.0, cssstyle@^1.1.1:\n version \"1.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcssstyle\u002F-\u002Fcssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1\"\n integrity sha512-GBrLZYZ4X4x6\u002FQEoBnIrqb8B\u002Ff5l4+8me2dkom\u002Fj1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==\n dependencies:\n cssom \"0.3.x\"\n\ncsstype@^2.2.0:\n version \"2.6.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcsstype\u002F-\u002Fcsstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5\"\n integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0\u002F7fyCd6iBDqmksUcCOUIkisPHsQ==\n\ncyclist@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fcyclist\u002F-\u002Fcyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9\"\n integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=\n\nd@1, d@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fd\u002F-\u002Fd-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a\"\n integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc\u002FF3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==\n dependencies:\n es5-ext \"^0.10.50\"\n type \"^1.0.1\"\n\ndamerau-levenshtein@^1.0.4:\n version \"1.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdamerau-levenshtein\u002F-\u002Fdamerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414\"\n integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+\u002FTdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA==\n\ndashdash@^1.12.0:\n version \"1.14.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdashdash\u002F-\u002Fdashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0\"\n integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=\n dependencies:\n assert-plus \"^1.0.0\"\n\ndata-urls@^1.0.0, data-urls@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdata-urls\u002F-\u002Fdata-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe\"\n integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6\u002Ft52odI64KP2YvFpkDOi3eQ==\n dependencies:\n abab \"^2.0.0\"\n whatwg-mimetype \"^2.2.0\"\n whatwg-url \"^7.0.0\"\n\ndebug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9:\n version \"2.6.9\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdebug\u002F-\u002Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f\"\n integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm\u002FE7AdgFBVeAPVMNcKGsHMA==\n dependencies:\n ms \"2.0.0\"\n\ndebug@^3.0.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:\n version \"3.2.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdebug\u002F-\u002Fdebug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b\"\n integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==\n dependencies:\n ms \"^2.1.1\"\n\ndebug@^4.0.1, debug@^4.1.0, debug@^4.1.1:\n version \"4.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdebug\u002F-\u002Fdebug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791\"\n integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw\u002FRetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==\n dependencies:\n ms \"^2.1.1\"\n\ndecamelize@^1.2.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdecamelize\u002F-\u002Fdecamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290\"\n integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=\n\ndecamelize@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdecamelize\u002F-\u002Fdecamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7\"\n integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv\u002FXj2CaQfI8RLMuwi7XvjX9H\u002FfhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==\n dependencies:\n xregexp \"4.0.0\"\n\ndecode-uri-component@^0.2.0:\n version \"0.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdecode-uri-component\u002F-\u002Fdecode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545\"\n integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=\n\ndeep-equal@^1.0.1:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdeep-equal\u002F-\u002Fdeep-equal-1.1.0.tgz#3103cdf8ab6d32cf4a8df7865458f2b8d33f3745\"\n integrity sha512-ZbfWJq\u002FwN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v\u002FUv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==\n dependencies:\n is-arguments \"^1.0.4\"\n is-date-object \"^1.0.1\"\n is-regex \"^1.0.4\"\n object-is \"^1.0.1\"\n object-keys \"^1.1.1\"\n regexp.prototype.flags \"^1.2.0\"\n\ndeep-extend@^0.6.0:\n version \"0.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdeep-extend\u002F-\u002Fdeep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac\"\n integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw\u002FufM8+rVj649RIHzcm\u002FvGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==\n\ndeep-is@~0.1.3:\n version \"0.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdeep-is\u002F-\u002Fdeep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34\"\n integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=\n\ndefault-gateway@^4.2.0:\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdefault-gateway\u002F-\u002Fdefault-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b\"\n integrity sha512-h6sMrVB1VMWVrW13mSc6ia\u002FDwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==\n dependencies:\n execa \"^1.0.0\"\n ip-regex \"^2.1.0\"\n\ndefine-properties@^1.1.2, define-properties@^1.1.3:\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdefine-properties\u002F-\u002Fdefine-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1\"\n integrity sha512-3MqfYKj2lLzdMSf8ZIZE\u002FV+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==\n dependencies:\n object-keys \"^1.0.12\"\n\ndefine-property@^0.2.5:\n version \"0.2.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdefine-property\u002F-\u002Fdefine-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116\"\n integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=\n dependencies:\n is-descriptor \"^0.1.0\"\n\ndefine-property@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdefine-property\u002F-\u002Fdefine-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6\"\n integrity sha1-dp66rz9KY6rTr56NMEybvnm\u002FsOY=\n dependencies:\n is-descriptor \"^1.0.0\"\n\ndefine-property@^2.0.2:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdefine-property\u002F-\u002Fdefine-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d\"\n integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ\u002F46ZYQ==\n dependencies:\n is-descriptor \"^1.0.2\"\n isobject \"^3.0.1\"\n\ndel@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdel\u002F-\u002Fdel-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5\"\n integrity sha1-U+z2mf\u002FLyzljdpGrE7rxYIGXZuU=\n dependencies:\n globby \"^6.1.0\"\n is-path-cwd \"^1.0.0\"\n is-path-in-cwd \"^1.0.0\"\n p-map \"^1.1.1\"\n pify \"^3.0.0\"\n rimraf \"^2.2.8\"\n\ndelayed-stream@~1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdelayed-stream\u002F-\u002Fdelayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619\"\n integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=\n\ndelegates@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdelegates\u002F-\u002Fdelegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a\"\n integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=\n\ndepd@~1.1.2:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdepd\u002F-\u002Fdepd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9\"\n integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=\n\ndes.js@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdes.js\u002F-\u002Fdes.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc\"\n integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=\n dependencies:\n inherits \"^2.0.1\"\n minimalistic-assert \"^1.0.0\"\n\ndestroy@~1.0.4:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdestroy\u002F-\u002Fdestroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80\"\n integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=\n\ndetect-libc@^1.0.2:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdetect-libc\u002F-\u002Fdetect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b\"\n integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=\n\ndetect-newline@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdetect-newline\u002F-\u002Fdetect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2\"\n integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW\u002F0+I=\n\ndetect-node@^2.0.4:\n version \"2.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdetect-node\u002F-\u002Fdetect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c\"\n integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==\n\ndetect-port-alt@1.1.6:\n version \"1.1.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdetect-port-alt\u002F-\u002Fdetect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275\"\n integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ\u002FzQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==\n dependencies:\n address \"^1.0.1\"\n debug \"^2.6.0\"\n\ndiff-sequences@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdiff-sequences\u002F-\u002Fdiff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5\"\n integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==\n\ndiffie-hellman@^5.0.0:\n version \"5.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdiffie-hellman\u002F-\u002Fdiffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875\"\n integrity sha512-kqag\u002FNl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==\n dependencies:\n bn.js \"^4.1.0\"\n miller-rabin \"^4.0.0\"\n randombytes \"^2.0.0\"\n\ndir-glob@2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdir-glob\u002F-\u002Fdir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034\"\n integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==\n dependencies:\n arrify \"^1.0.1\"\n path-type \"^3.0.0\"\n\ndns-equal@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdns-equal\u002F-\u002Fdns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d\"\n integrity sha1-s55\u002FHabrCnW6nBcySzR1PEfgZU0=\n\ndns-packet@^1.3.1:\n version \"1.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdns-packet\u002F-\u002Fdns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a\"\n integrity sha512-0UxfQkMhYAUaZI+xrNZOz\u002Fas5KgDU0M\u002FfQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==\n dependencies:\n ip \"^1.1.0\"\n safe-buffer \"^5.0.1\"\n\ndns-txt@^2.0.2:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdns-txt\u002F-\u002Fdns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6\"\n integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=\n dependencies:\n buffer-indexof \"^1.0.0\"\n\ndoctrine@1.5.0:\n version \"1.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdoctrine\u002F-\u002Fdoctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa\"\n integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=\n dependencies:\n esutils \"^2.0.2\"\n isarray \"^1.0.0\"\n\ndoctrine@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdoctrine\u002F-\u002Fdoctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d\"\n integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\n dependencies:\n esutils \"^2.0.2\"\n\ndoctrine@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdoctrine\u002F-\u002Fdoctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961\"\n integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==\n dependencies:\n esutils \"^2.0.2\"\n\ndom-converter@^0.2:\n version \"0.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdom-converter\u002F-\u002Fdom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768\"\n integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==\n dependencies:\n utila \"~0.4\"\n\ndom-serializer@0:\n version \"0.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdom-serializer\u002F-\u002Fdom-serializer-0.2.1.tgz#13650c850daffea35d8b626a4cfc4d3a17643fdb\"\n integrity sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==\n dependencies:\n domelementtype \"^2.0.1\"\n entities \"^2.0.0\"\n\ndomain-browser@^1.1.1:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdomain-browser\u002F-\u002Fdomain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda\"\n integrity sha512-jnjyiM6eRyZl2H+W8Q\u002FzLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==\n\ndomelementtype@1, domelementtype@^1.3.1:\n version \"1.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdomelementtype\u002F-\u002Fdomelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f\"\n integrity sha512-BSKB+TSpMpFI\u002FHOxCNr1O8aMOTZ8hT3pM3GQ0w\u002FmWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==\n\ndomelementtype@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdomelementtype\u002F-\u002Fdomelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d\"\n integrity sha512-5HOHUDsYZWV8FGWN0Njbr\u002FRn7f\u002FeWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx\u002F5tMO5AQ==\n\ndomexception@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdomexception\u002F-\u002Fdomexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90\"\n integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==\n dependencies:\n webidl-conversions \"^4.0.2\"\n\ndomhandler@^2.3.0:\n version \"2.4.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdomhandler\u002F-\u002Fdomhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803\"\n integrity sha512-JiK04h0Ht5u\u002F80fdLMCEmV4zkNh2BcoMFBmZ\u002F91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==\n dependencies:\n domelementtype \"1\"\n\ndomutils@1.5.1:\n version \"1.5.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdomutils\u002F-\u002Fdomutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf\"\n integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=\n dependencies:\n dom-serializer \"0\"\n domelementtype \"1\"\n\ndomutils@^1.5.1, domutils@^1.7.0:\n version \"1.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdomutils\u002F-\u002Fdomutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a\"\n integrity sha512-Lgd2XcJ\u002FNjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII\u002FvDlMVmxwa6pHmdxIYgttDg==\n dependencies:\n dom-serializer \"0\"\n domelementtype \"1\"\n\ndot-prop@^4.1.1:\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdot-prop\u002F-\u002Fdot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57\"\n integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY\u002Fic+eaysnSkwB4kA\u002FmBlCyy\u002FIKDJ+Lc3wbWeaXtuQ==\n dependencies:\n is-obj \"^1.0.0\"\n\ndotenv-expand@5.1.0:\n version \"5.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdotenv-expand\u002F-\u002Fdotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0\"\n integrity sha512-YXQl1DSa4\u002FPQyRfgrv6aoNjhasp\u002Fp4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==\n\ndotenv@6.2.0:\n version \"6.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fdotenv\u002F-\u002Fdotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064\"\n integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o\u002F76w==\n\nduplexer@^0.1.1:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fduplexer\u002F-\u002Fduplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1\"\n integrity sha1-rOb\u002FgIwc5mtX0ev5eXessCM0z8E=\n\nduplexify@^3.4.2, duplexify@^3.6.0:\n version \"3.7.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fduplexify\u002F-\u002Fduplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309\"\n integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==\n dependencies:\n end-of-stream \"^1.0.0\"\n inherits \"^2.0.1\"\n readable-stream \"^2.0.0\"\n stream-shift \"^1.0.0\"\n\necc-jsbn@~0.1.1:\n version \"0.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fecc-jsbn\u002F-\u002Fecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9\"\n integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=\n dependencies:\n jsbn \"~0.1.0\"\n safer-buffer \"^2.1.0\"\n\nee-first@1.1.1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fee-first\u002F-\u002Fee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d\"\n integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=\n\nelectron-to-chromium@^1.3.247, electron-to-chromium@^1.3.295:\n version \"1.3.304\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Felectron-to-chromium\u002F-\u002Felectron-to-chromium-1.3.304.tgz#49b47d961f8143116174c2f70fbfee3aabf43015\"\n integrity sha512-a5mqa13jCdBc+Crgk3Gyr7vpXCiFWfFq23YDCEmrPYeiDOQKZDVE6EX\u002FQ4Xdv97n3XkcjiSBDOY0IS19yP2yeA==\n\nelliptic@^6.0.0:\n version \"6.5.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Felliptic\u002F-\u002Felliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b\"\n integrity sha512-xvJINNLbTeWQjrl6X+7eQCrIy\u002FYPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==\n dependencies:\n bn.js \"^4.4.0\"\n brorand \"^1.0.1\"\n hash.js \"^1.0.0\"\n hmac-drbg \"^1.0.0\"\n inherits \"^2.0.1\"\n minimalistic-assert \"^1.0.0\"\n minimalistic-crypto-utils \"^1.0.0\"\n\nemoji-regex@^7.0.1, emoji-regex@^7.0.2:\n version \"7.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Femoji-regex\u002F-\u002Femoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156\"\n integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==\n\nemoji-regex@^8.0.0:\n version \"8.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Femoji-regex\u002F-\u002Femoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37\"\n integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo\u002FRPgnr1\u002FGGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\n\nemojis-list@^2.0.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Femojis-list\u002F-\u002Femojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389\"\n integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=\n\nencodeurl@~1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fencodeurl\u002F-\u002Fencodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59\"\n integrity sha1-rT\u002F0yG7C0CkyL1oCw6mmBslbP1k=\n\nend-of-stream@^1.0.0, end-of-stream@^1.1.0:\n version \"1.4.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fend-of-stream\u002F-\u002Fend-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0\"\n integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x\u002FoIyhLP5PR1H+phQAHu5Q==\n dependencies:\n once \"^1.4.0\"\n\nenhanced-resolve@^4.1.0:\n version \"4.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fenhanced-resolve\u002F-\u002Fenhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66\"\n integrity sha512-98p2zE+rL7\u002Fg\u002FDzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==\n dependencies:\n graceful-fs \"^4.1.2\"\n memory-fs \"^0.5.0\"\n tapable \"^1.0.0\"\n\nentities@^1.1.1:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fentities\u002F-\u002Fentities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56\"\n integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ\u002F7qm1I0wUHK1eJnn2y2w==\n\nentities@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fentities\u002F-\u002Fentities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4\"\n integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0\u002F6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==\n\nerrno@^0.1.3, errno@~0.1.7:\n version \"0.1.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ferrno\u002F-\u002Ferrno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618\"\n integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze\u002F8V6kgyz7H3FF8Npzv78mZ7XLLflg==\n dependencies:\n prr \"~1.0.1\"\n\nerror-ex@^1.2.0, error-ex@^1.3.1:\n version \"1.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ferror-ex\u002F-\u002Ferror-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf\"\n integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4\u002F\u002FDL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==\n dependencies:\n is-arrayish \"^0.2.1\"\n\nes-abstract@^1.12.0, es-abstract@^1.15.0, es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.7.0:\n version \"1.16.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fes-abstract\u002F-\u002Fes-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d\"\n integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79\u002FAWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j\u002F\u002FGjjLHLg==\n dependencies:\n es-to-primitive \"^1.2.0\"\n function-bind \"^1.1.1\"\n has \"^1.0.3\"\n has-symbols \"^1.0.0\"\n is-callable \"^1.1.4\"\n is-regex \"^1.0.4\"\n object-inspect \"^1.6.0\"\n object-keys \"^1.1.1\"\n string.prototype.trimleft \"^2.1.0\"\n string.prototype.trimright \"^2.1.0\"\n\nes-to-primitive@^1.2.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fes-to-primitive\u002F-\u002Fes-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377\"\n integrity sha512-qZryBOJjV\u002F\u002FLaxLTV6UC\u002F\u002FWewneB3LcXOL9NP++ozKVXsIIIpm\u002F2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==\n dependencies:\n is-callable \"^1.1.4\"\n is-date-object \"^1.0.1\"\n is-symbol \"^1.0.2\"\n\nes5-ext@^0.10.35, es5-ext@^0.10.50:\n version \"0.10.52\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fes5-ext\u002F-\u002Fes5-ext-0.10.52.tgz#bb21777e919a04263736ded120a9d665f10ea63f\"\n integrity sha512-bWCbE9fbpYQY4CU6hJbJ1vSz70EClMlDgJ7BmwI+zEJhxrwjesZRPglGJlsZhu0334U3hI+gaspwksH9IGD6ag==\n dependencies:\n es6-iterator \"~2.0.3\"\n es6-symbol \"~3.1.2\"\n next-tick \"~1.0.0\"\n\nes6-iterator@2.0.3, es6-iterator@~2.0.3:\n version \"2.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fes6-iterator\u002F-\u002Fes6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7\"\n integrity sha1-p96IkUGgWpSwhUQDstCg+\u002FqY87c=\n dependencies:\n d \"1\"\n es5-ext \"^0.10.35\"\n es6-symbol \"^3.1.1\"\n\nes6-symbol@^3.1.1, es6-symbol@~3.1.2:\n version \"3.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fes6-symbol\u002F-\u002Fes6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18\"\n integrity sha512-NJ6Yn3FuDinBaBRWl\u002Fq5X\u002Fs4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR\u002FEXVfylRk8dpQVJoLEFhK+Mu31NA==\n dependencies:\n d \"^1.0.1\"\n ext \"^1.1.2\"\n\nescape-html@~1.0.3:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fescape-html\u002F-\u002Fescape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988\"\n integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=\n\nescape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:\n version \"1.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fescape-string-regexp\u002F-\u002Fescape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4\"\n integrity sha1-G2HAViGQqN\u002F2rjuyzwIAyhMLhtQ=\n\nescodegen@^1.11.0, escodegen@^1.9.1:\n version \"1.12.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fescodegen\u002F-\u002Fescodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541\"\n integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ\u002FOqjTwREp9qgmg==\n dependencies:\n esprima \"^3.1.3\"\n estraverse \"^4.2.0\"\n esutils \"^2.0.2\"\n optionator \"^0.8.1\"\n optionalDependencies:\n source-map \"~0.6.1\"\n\neslint-config-react-app@^5.0.2:\n version \"5.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-config-react-app\u002F-\u002Feslint-config-react-app-5.0.2.tgz#df40d73a1402986030680c040bbee520db5a32a4\"\n integrity sha512-VhlESAQM83uULJ9jsvcKxx2Ab0yrmjUt8kDz5DyhTQufqWE0ssAnejlWri5LXv25xoXfdqOyeDPdfJS9dXKagQ==\n dependencies:\n confusing-browser-globals \"^1.0.9\"\n\neslint-import-resolver-node@^0.3.2:\n version \"0.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-import-resolver-node\u002F-\u002Feslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a\"\n integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==\n dependencies:\n debug \"^2.6.9\"\n resolve \"^1.5.0\"\n\neslint-loader@3.0.2:\n version \"3.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-loader\u002F-\u002Feslint-loader-3.0.2.tgz#5a627316a51d6f41d357b9f6f0554e91506cdd6e\"\n integrity sha512-S5VnD+UpVY1PyYRqeBd\u002F4pgsmkvSokbHqTXAQMpvCyRr3XN2tvSLo9spm2nEpqQqh9dezw3os\u002F0zWihLeOg2Rw==\n dependencies:\n fs-extra \"^8.1.0\"\n loader-fs-cache \"^1.0.2\"\n loader-utils \"^1.2.3\"\n object-hash \"^1.3.1\"\n schema-utils \"^2.2.0\"\n\neslint-module-utils@^2.4.0:\n version \"2.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-module-utils\u002F-\u002Feslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c\"\n integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O\u002Fw6wkYFy2MymON0fTwHmXBvvfLNZVZEw==\n dependencies:\n debug \"^2.6.8\"\n pkg-dir \"^2.0.0\"\n\neslint-plugin-flowtype@3.13.0:\n version \"3.13.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-plugin-flowtype\u002F-\u002Feslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c\"\n integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==\n dependencies:\n lodash \"^4.17.15\"\n\neslint-plugin-import@2.18.2:\n version \"2.18.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-plugin-import\u002F-\u002Feslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6\"\n integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9\u002FTBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==\n dependencies:\n array-includes \"^3.0.3\"\n contains-path \"^0.1.0\"\n debug \"^2.6.9\"\n doctrine \"1.5.0\"\n eslint-import-resolver-node \"^0.3.2\"\n eslint-module-utils \"^2.4.0\"\n has \"^1.0.3\"\n minimatch \"^3.0.4\"\n object.values \"^1.1.0\"\n read-pkg-up \"^2.0.0\"\n resolve \"^1.11.0\"\n\neslint-plugin-jsx-a11y@6.2.3:\n version \"6.2.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-plugin-jsx-a11y\u002F-\u002Feslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa\"\n integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.4.5\"\n aria-query \"^3.0.0\"\n array-includes \"^3.0.3\"\n ast-types-flow \"^0.0.7\"\n axobject-query \"^2.0.2\"\n damerau-levenshtein \"^1.0.4\"\n emoji-regex \"^7.0.2\"\n has \"^1.0.3\"\n jsx-ast-utils \"^2.2.1\"\n\neslint-plugin-react-hooks@^1.6.1:\n version \"1.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-plugin-react-hooks\u002F-\u002Feslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04\"\n integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==\n\neslint-plugin-react@7.14.3:\n version \"7.14.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-plugin-react\u002F-\u002Feslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13\"\n integrity sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B\u002FpJQcjw5X+x\u002FH2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA==\n dependencies:\n array-includes \"^3.0.3\"\n doctrine \"^2.1.0\"\n has \"^1.0.3\"\n jsx-ast-utils \"^2.1.0\"\n object.entries \"^1.1.0\"\n object.fromentries \"^2.0.0\"\n object.values \"^1.1.0\"\n prop-types \"^15.7.2\"\n resolve \"^1.10.1\"\n\neslint-scope@^4.0.3:\n version \"4.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-scope\u002F-\u002Feslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848\"\n integrity sha512-p7VutNr1O\u002FQrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW\u002Fy6lW3O76VaYNPKfpKrg==\n dependencies:\n esrecurse \"^4.1.0\"\n estraverse \"^4.1.1\"\n\neslint-scope@^5.0.0:\n version \"5.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-scope\u002F-\u002Feslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9\"\n integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==\n dependencies:\n esrecurse \"^4.1.0\"\n estraverse \"^4.1.1\"\n\neslint-utils@^1.4.2, eslint-utils@^1.4.3:\n version \"1.4.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-utils\u002F-\u002Feslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f\"\n integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT\u002F464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+\u002FE+XAeZ8Q==\n dependencies:\n eslint-visitor-keys \"^1.1.0\"\n\neslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint-visitor-keys\u002F-\u002Feslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2\"\n integrity sha512-8y9YjtM1JBJU\u002FA9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN\u002FsbnKDf6xJUl+8g7FAij9LVaP8C24DUiH\u002Ff\u002F2Z9A==\n\neslint@^6.1.0, eslint@^6.6.0:\n version \"6.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feslint\u002F-\u002Feslint-6.6.0.tgz#4a01a2fb48d32aacef5530ee9c5a78f11a8afd04\"\n integrity sha512-PpEBq7b6qY\u002FqrOmpYQ\u002FjTMDYfuQMELR4g4WI1M\u002FNaSDDD\u002FbdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==\n dependencies:\n \"@babel\u002Fcode-frame\" \"^7.0.0\"\n ajv \"^6.10.0\"\n chalk \"^2.1.0\"\n cross-spawn \"^6.0.5\"\n debug \"^4.0.1\"\n doctrine \"^3.0.0\"\n eslint-scope \"^5.0.0\"\n eslint-utils \"^1.4.3\"\n eslint-visitor-keys \"^1.1.0\"\n espree \"^6.1.2\"\n esquery \"^1.0.1\"\n esutils \"^2.0.2\"\n file-entry-cache \"^5.0.1\"\n functional-red-black-tree \"^1.0.1\"\n glob-parent \"^5.0.0\"\n globals \"^11.7.0\"\n ignore \"^4.0.6\"\n import-fresh \"^3.0.0\"\n imurmurhash \"^0.1.4\"\n inquirer \"^7.0.0\"\n is-glob \"^4.0.0\"\n js-yaml \"^3.13.1\"\n json-stable-stringify-without-jsonify \"^1.0.1\"\n levn \"^0.3.0\"\n lodash \"^4.17.14\"\n minimatch \"^3.0.4\"\n mkdirp \"^0.5.1\"\n natural-compare \"^1.4.0\"\n optionator \"^0.8.2\"\n progress \"^2.0.0\"\n regexpp \"^2.0.1\"\n semver \"^6.1.2\"\n strip-ansi \"^5.2.0\"\n strip-json-comments \"^3.0.1\"\n table \"^5.2.3\"\n text-table \"^0.2.0\"\n v8-compile-cache \"^2.0.3\"\n\nespree@^6.1.2:\n version \"6.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fespree\u002F-\u002Fespree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d\"\n integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc\u002FzHYjII5khoixIUTMO794NOY8F\u002FThF1Bo8ncZILarUTA==\n dependencies:\n acorn \"^7.1.0\"\n acorn-jsx \"^5.1.0\"\n eslint-visitor-keys \"^1.1.0\"\n\nesprima@^3.1.3:\n version \"3.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fesprima\u002F-\u002Fesprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633\"\n integrity sha1-\u002FcpRzuYTOJXjyI1TXOSdv\u002FYqRjM=\n\nesprima@^4.0.0:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fesprima\u002F-\u002Fesprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71\"\n integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX\u002FSVeJBDM\u002FgCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB\u002FsbNop0Kszm0jsaWU4A==\n\nesquery@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fesquery\u002F-\u002Fesquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708\"\n integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==\n dependencies:\n estraverse \"^4.0.0\"\n\nesrecurse@^4.1.0:\n version \"4.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fesrecurse\u002F-\u002Fesrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf\"\n integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX\u002F3EhUPFYbg5ER4JYgDw4007\u002FDQ==\n dependencies:\n estraverse \"^4.1.0\"\n\nestraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:\n version \"4.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Festraverse\u002F-\u002Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d\"\n integrity sha512-39nnKffWz8xN1BU\u002F2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==\n\nesutils@^2.0.0, esutils@^2.0.2:\n version \"2.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fesutils\u002F-\u002Fesutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64\"\n integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6\u002F8ij300KBWTJq32P\u002FdYeWTSwK41WyTxalN1eRmA5Z9UU\u002FLX9D7FWSmV9SAYx6g==\n\netag@~1.8.1:\n version \"1.8.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fetag\u002F-\u002Fetag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887\"\n integrity sha1-Qa4u62XvpiJorr\u002Fqg6x9eSmbCIc=\n\neventemitter3@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feventemitter3\u002F-\u002Feventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb\"\n integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==\n\nevents@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fevents\u002F-\u002Fevents-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88\"\n integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05\u002FTVNpjnfRqi\u002FX0EpJEJohPjNI3zpVA==\n\neventsource@^1.0.7:\n version \"1.0.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Feventsource\u002F-\u002Feventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0\"\n integrity sha512-4Ln17+vVT0k8aWq+t\u002FbF5arcS3EpT9gYtW66EPacdj\u002FmAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG\u002F\u002FBQ==\n dependencies:\n original \"^1.0.0\"\n\nevp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fevp_bytestokey\u002F-\u002Fevp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02\"\n integrity sha512-\u002Ff2Go4TognH\u002FKvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm\u002F40hdlgSLyuOimsrTKLUMEorQexp\u002FaPQeA==\n dependencies:\n md5.js \"^1.3.4\"\n safe-buffer \"^5.1.1\"\n\nexec-sh@^0.3.2:\n version \"0.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fexec-sh\u002F-\u002Fexec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b\"\n integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47\u002FemR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==\n\nexeca@^0.7.0:\n version \"0.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fexeca\u002F-\u002Fexeca-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777\"\n integrity sha1-lEvs00zEHuMqY6n68nrVpl\u002FFl3c=\n dependencies:\n cross-spawn \"^5.0.1\"\n get-stream \"^3.0.0\"\n is-stream \"^1.1.0\"\n npm-run-path \"^2.0.0\"\n p-finally \"^1.0.0\"\n signal-exit \"^3.0.0\"\n strip-eof \"^1.0.0\"\n\nexeca@^0.8.0:\n version \"0.8.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fexeca\u002F-\u002Fexeca-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da\"\n integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=\n dependencies:\n cross-spawn \"^5.0.1\"\n get-stream \"^3.0.0\"\n is-stream \"^1.1.0\"\n npm-run-path \"^2.0.0\"\n p-finally \"^1.0.0\"\n signal-exit \"^3.0.0\"\n strip-eof \"^1.0.0\"\n\nexeca@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fexeca\u002F-\u002Fexeca-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8\"\n integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7\u002FnxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP\u002FRw\u002FAuEbX61LA==\n dependencies:\n cross-spawn \"^6.0.0\"\n get-stream \"^4.0.0\"\n is-stream \"^1.1.0\"\n npm-run-path \"^2.0.0\"\n p-finally \"^1.0.0\"\n signal-exit \"^3.0.0\"\n strip-eof \"^1.0.0\"\n\nexit@^0.1.2:\n version \"0.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fexit\u002F-\u002Fexit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c\"\n integrity sha1-BjJjj42HfMghB9MKD\u002F8aF8uhzQw=\n\nexpand-brackets@^2.1.4:\n version \"2.1.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fexpand-brackets\u002F-\u002Fexpand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622\"\n integrity sha1-t3c14xXOMPa27\u002FD4OwQVGiJEliI=\n dependencies:\n debug \"^2.3.3\"\n define-property \"^0.2.5\"\n extend-shallow \"^2.0.1\"\n posix-character-classes \"^0.1.0\"\n regex-not \"^1.0.0\"\n snapdragon \"^0.8.1\"\n to-regex \"^3.0.1\"\n\nexpect@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fexpect\u002F-\u002Fexpect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca\"\n integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D\u002FAmEwZywL6wtJkbAbJtzkOfBuR0Q==\n dependencies:\n \"@jest\u002Ftypes\" \"^24.9.0\"\n ansi-styles \"^3.2.0\"\n jest-get-type \"^24.9.0\"\n jest-matcher-utils \"^24.9.0\"\n jest-message-util \"^24.9.0\"\n jest-regex-util \"^24.9.0\"\n\nexpress@^4.16.2:\n version \"4.17.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fexpress\u002F-\u002Fexpress-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134\"\n integrity sha512-mHJ9O79RqluphRrcw2X\u002FGTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==\n dependencies:\n accepts \"~1.3.7\"\n array-flatten \"1.1.1\"\n body-parser \"1.19.0\"\n content-disposition \"0.5.3\"\n content-type \"~1.0.4\"\n cookie \"0.4.0\"\n cookie-signature \"1.0.6\"\n debug \"2.6.9\"\n depd \"~1.1.2\"\n encodeurl \"~1.0.2\"\n escape-html \"~1.0.3\"\n etag \"~1.8.1\"\n finalhandler \"~1.1.2\"\n fresh \"0.5.2\"\n merge-descriptors \"1.0.1\"\n methods \"~1.1.2\"\n on-finished \"~2.3.0\"\n parseurl \"~1.3.3\"\n path-to-regexp \"0.1.7\"\n proxy-addr \"~2.0.5\"\n qs \"6.7.0\"\n range-parser \"~1.2.1\"\n safe-buffer \"5.1.2\"\n send \"0.17.1\"\n serve-static \"1.14.1\"\n setprototypeof \"1.1.1\"\n statuses \"~1.5.0\"\n type-is \"~1.6.18\"\n utils-merge \"1.0.1\"\n vary \"~1.1.2\"\n\next@^1.1.2:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fext\u002F-\u002Fext-1.1.2.tgz#d1d216c83641bb4cb7684622b063cff44a19ce35\"\n integrity sha512-\u002FKLjJdTNyDepCihrk4HQt57nAE1IRCEo5jUt+WgWGCr1oARhibDvmI2DMcSNWood1T9AUWwq+jaV1wvRqaXfnA==\n dependencies:\n type \"^2.0.0\"\n\nextend-shallow@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fextend-shallow\u002F-\u002Fextend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f\"\n integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=\n dependencies:\n is-extendable \"^0.1.0\"\n\nextend-shallow@^3.0.0, extend-shallow@^3.0.2:\n version \"3.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fextend-shallow\u002F-\u002Fextend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8\"\n integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=\n dependencies:\n assign-symbols \"^1.0.0\"\n is-extendable \"^1.0.1\"\n\nextend@~3.0.2:\n version \"3.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fextend\u002F-\u002Fextend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa\"\n integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S\u002FWARVqhXffZl2LNgS+gQdPIIim\u002Fg==\n\nexternal-editor@^3.0.3:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fexternal-editor\u002F-\u002Fexternal-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495\"\n integrity sha512-hMQ4CX1p1izmuLYyZqLMO\u002FqGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==\n dependencies:\n chardet \"^0.7.0\"\n iconv-lite \"^0.4.24\"\n tmp \"^0.0.33\"\n\nextglob@^2.0.4:\n version \"2.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fextglob\u002F-\u002Fextglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543\"\n integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==\n dependencies:\n array-unique \"^0.3.2\"\n define-property \"^1.0.0\"\n expand-brackets \"^2.1.4\"\n extend-shallow \"^2.0.1\"\n fragment-cache \"^0.2.1\"\n regex-not \"^1.0.0\"\n snapdragon \"^0.8.1\"\n to-regex \"^3.0.1\"\n\nextsprintf@1.3.0:\n version \"1.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fextsprintf\u002F-\u002Fextsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05\"\n integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=\n\nextsprintf@^1.2.0:\n version \"1.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fextsprintf\u002F-\u002Fextsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f\"\n integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=\n\nfast-deep-equal@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffast-deep-equal\u002F-\u002Ffast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49\"\n integrity sha1-ewUhjd+WZ79\u002FNwv3\u002FbLLFf3Qqkk=\n\nfast-glob@^2.0.2:\n version \"2.2.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffast-glob\u002F-\u002Ffast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d\"\n integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==\n dependencies:\n \"@mrmlnc\u002Freaddir-enhanced\" \"^2.2.1\"\n \"@nodelib\u002Ffs.stat\" \"^1.1.2\"\n glob-parent \"^3.1.0\"\n is-glob \"^4.0.0\"\n merge2 \"^1.2.3\"\n micromatch \"^3.1.10\"\n\nfast-json-stable-stringify@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffast-json-stable-stringify\u002F-\u002Ffast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2\"\n integrity sha1-1RQsDK7msRifh9OnYREGT4bIu\u002FI=\n\nfast-levenshtein@~2.0.4:\n version \"2.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffast-levenshtein\u002F-\u002Ffast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917\"\n integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=\n\nfast-url-parser@1.1.3:\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffast-url-parser\u002F-\u002Ffast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d\"\n integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=\n dependencies:\n punycode \"^1.3.2\"\n\nfaye-websocket@^0.10.0:\n version \"0.10.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffaye-websocket\u002F-\u002Ffaye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4\"\n integrity sha1-TkkvjQTftviQA1B\u002Fbtvy1QHnxvQ=\n dependencies:\n websocket-driver \"\u003E=0.5.1\"\n\nfaye-websocket@~0.11.1:\n version \"0.11.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffaye-websocket\u002F-\u002Ffaye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e\"\n integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl\u002Fy+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==\n dependencies:\n websocket-driver \"\u003E=0.5.1\"\n\nfb-watchman@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffb-watchman\u002F-\u002Ffb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58\"\n integrity sha1-VOmr99+i8mzZsWNsWIwa\u002FAXeXVg=\n dependencies:\n bser \"^2.0.0\"\n\nfiggy-pudding@^3.5.1:\n version \"3.5.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffiggy-pudding\u002F-\u002Ffiggy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790\"\n integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==\n\nfigures@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffigures\u002F-\u002Ffigures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962\"\n integrity sha1-OrGi0qYsi\u002FtDGgyUy3l6L84nyWI=\n dependencies:\n escape-string-regexp \"^1.0.5\"\n\nfigures@^3.0.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffigures\u002F-\u002Ffigures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec\"\n integrity sha512-ravh8VRXqHuMvZt\u002Fd8GblBeqDMkdJMBdv\u002F2KntFH+ra5MXkO7nxNKpzQ3n6QD\u002F2da1kH0aWmNISdvhM7gl2gVg==\n dependencies:\n escape-string-regexp \"^1.0.5\"\n\nfile-entry-cache@^5.0.1:\n version \"5.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffile-entry-cache\u002F-\u002Ffile-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c\"\n integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM\u002FYn\u002FFDoqndh\u002F9vNuQfXRDvTuXKLxfD\u002FJtZQGKFT8MGcJBK644g==\n dependencies:\n flat-cache \"^2.0.1\"\n\nfile-loader@3.0.1:\n version \"3.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffile-loader\u002F-\u002Ffile-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa\"\n integrity sha512-4sNIOXgtH\u002F9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe\u002FmsZNX\u002Fj4pCJTIM14Fsw66Svo1oVrw==\n dependencies:\n loader-utils \"^1.0.2\"\n schema-utils \"^1.0.0\"\n\nfilesize@3.6.1:\n version \"3.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffilesize\u002F-\u002Ffilesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317\"\n integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO\u002FPSFCu6SvqL8jN2Wjt\u002FNIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==\n\nfill-range@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffill-range\u002F-\u002Ffill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7\"\n integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=\n dependencies:\n extend-shallow \"^2.0.1\"\n is-number \"^3.0.0\"\n repeat-string \"^1.6.1\"\n to-regex-range \"^2.1.0\"\n\nfinalhandler@~1.1.2:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffinalhandler\u002F-\u002Ffinalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d\"\n integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==\n dependencies:\n debug \"2.6.9\"\n encodeurl \"~1.0.2\"\n escape-html \"~1.0.3\"\n on-finished \"~2.3.0\"\n parseurl \"~1.3.3\"\n statuses \"~1.5.0\"\n unpipe \"~1.0.0\"\n\nfind-cache-dir@^0.1.1:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffind-cache-dir\u002F-\u002Ffind-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9\"\n integrity sha1-yN765XyKUqinhPnjHFfHQumToLk=\n dependencies:\n commondir \"^1.0.1\"\n mkdirp \"^0.5.1\"\n pkg-dir \"^1.0.0\"\n\nfind-cache-dir@^2.0.0, find-cache-dir@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffind-cache-dir\u002F-\u002Ffind-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7\"\n integrity sha512-Tq6PixE0w\u002FVMFfCgbONnkiQIVol\u002FJJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==\n dependencies:\n commondir \"^1.0.1\"\n make-dir \"^2.0.0\"\n pkg-dir \"^3.0.0\"\n\nfind-up@3.0.0, find-up@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffind-up\u002F-\u002Ffind-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73\"\n integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX\u002FFTs9cBAMEk1gWSEx1kSbylg==\n dependencies:\n locate-path \"^3.0.0\"\n\nfind-up@^1.0.0:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffind-up\u002F-\u002Ffind-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f\"\n integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=\n dependencies:\n path-exists \"^2.0.0\"\n pinkie-promise \"^2.0.0\"\n\nfind-up@^2.0.0, find-up@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffind-up\u002F-\u002Ffind-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7\"\n integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=\n dependencies:\n locate-path \"^2.0.0\"\n\nfind-up@^4.0.0:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffind-up\u002F-\u002Ffind-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19\"\n integrity sha512-PpOwAdQ\u002FYlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==\n dependencies:\n locate-path \"^5.0.0\"\n path-exists \"^4.0.0\"\n\nflat-cache@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fflat-cache\u002F-\u002Fflat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0\"\n integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc\u002F7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B\u002Fzj24a5ReA==\n dependencies:\n flatted \"^2.0.0\"\n rimraf \"2.6.3\"\n write \"1.0.3\"\n\nflatted@^2.0.0:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fflatted\u002F-\u002Fflatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08\"\n integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==\n\nflatten@^1.0.2:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fflatten\u002F-\u002Fflatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b\"\n integrity sha512-dVsPA\u002FUwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo\u002FZfEr95Uk56vZoX86OsHkUeIg==\n\nflush-write-stream@^1.0.0:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fflush-write-stream\u002F-\u002Fflush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8\"\n integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz\u002Fr+1MWCaMoSQ28P85+1Yc77w==\n dependencies:\n inherits \"^2.0.3\"\n readable-stream \"^2.3.6\"\n\nfollow-redirects@^1.0.0:\n version \"1.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffollow-redirects\u002F-\u002Ffollow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f\"\n integrity sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7\u002FJb6GHJUiuqyYxPooFfNt6A==\n dependencies:\n debug \"^3.0.0\"\n\nfor-in@^0.1.3:\n version \"0.1.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffor-in\u002F-\u002Ffor-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1\"\n integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=\n\nfor-in@^1.0.1, for-in@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffor-in\u002F-\u002Ffor-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80\"\n integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=\n\nfor-own@^0.1.3:\n version \"0.1.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffor-own\u002F-\u002Ffor-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce\"\n integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=\n dependencies:\n for-in \"^1.0.1\"\n\nforever-agent@~0.6.1:\n version \"0.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fforever-agent\u002F-\u002Fforever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91\"\n integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=\n\nfork-ts-checker-webpack-plugin@1.5.0:\n version \"1.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffork-ts-checker-webpack-plugin\u002F-\u002Ffork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c\"\n integrity sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==\n dependencies:\n babel-code-frame \"^6.22.0\"\n chalk \"^2.4.1\"\n chokidar \"^2.0.4\"\n micromatch \"^3.1.10\"\n minimatch \"^3.0.4\"\n semver \"^5.6.0\"\n tapable \"^1.0.0\"\n worker-rpc \"^0.1.0\"\n\nform-data@~2.3.2:\n version \"2.3.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fform-data\u002F-\u002Fform-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6\"\n integrity sha512-1lLKB2Mu3aGP1Q\u002F2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==\n dependencies:\n asynckit \"^0.4.0\"\n combined-stream \"^1.0.6\"\n mime-types \"^2.1.12\"\n\nforwarded@~0.1.2:\n version \"0.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fforwarded\u002F-\u002Fforwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84\"\n integrity sha1-mMI9qxF1ZXuMBXPozszZGw\u002FxjIQ=\n\nfragment-cache@^0.2.1:\n version \"0.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffragment-cache\u002F-\u002Ffragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19\"\n integrity sha1-QpD60n8T6Jvn8zeZxrxaCr\u002F\u002FDRk=\n dependencies:\n map-cache \"^0.2.2\"\n\nfresh@0.5.2:\n version \"0.5.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffresh\u002F-\u002Ffresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7\"\n integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=\n\nfrom2@^2.1.0:\n version \"2.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffrom2\u002F-\u002Ffrom2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af\"\n integrity sha1-i\u002FtVAr3kpNNs\u002Fe6gB\u002FzKIdfjgq8=\n dependencies:\n inherits \"^2.0.1\"\n readable-stream \"^2.0.0\"\n\nfs-extra@7.0.1, fs-extra@^7.0.0:\n version \"7.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffs-extra\u002F-\u002Ffs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9\"\n integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy\u002F1ni01eGCw==\n dependencies:\n graceful-fs \"^4.1.2\"\n jsonfile \"^4.0.0\"\n universalify \"^0.1.0\"\n\nfs-extra@^4.0.2:\n version \"4.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffs-extra\u002F-\u002Ffs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94\"\n integrity sha512-q6rbdDd1o2mAnQreO7YADIxf\u002FWhx4AHBiRf6d+\u002FcVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==\n dependencies:\n graceful-fs \"^4.1.2\"\n jsonfile \"^4.0.0\"\n universalify \"^0.1.0\"\n\nfs-extra@^8.1.0:\n version \"8.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffs-extra\u002F-\u002Ffs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0\"\n integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y\u002FhP+CxMN0TU9QxoOtG4g==\n dependencies:\n graceful-fs \"^4.2.0\"\n jsonfile \"^4.0.0\"\n universalify \"^0.1.0\"\n\nfs-minipass@^1.2.5:\n version \"1.2.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffs-minipass\u002F-\u002Ffs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7\"\n integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N\u002FPF61H5udOV3aY1IaMLs6pGbH71nlCTA==\n dependencies:\n minipass \"^2.6.0\"\n\nfs-write-stream-atomic@^1.0.8:\n version \"1.0.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffs-write-stream-atomic\u002F-\u002Ffs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9\"\n integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=\n dependencies:\n graceful-fs \"^4.1.2\"\n iferr \"^0.1.5\"\n imurmurhash \"^0.1.4\"\n readable-stream \"1 || 2\"\n\nfs.realpath@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffs.realpath\u002F-\u002Ffs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f\"\n integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=\n\nfsevents@2.0.7:\n version \"2.0.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffsevents\u002F-\u002Ffsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a\"\n integrity sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==\n\nfsevents@^1.2.7:\n version \"1.2.9\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffsevents\u002F-\u002Ffsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f\"\n integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z\u002FSW5kcA+fZUait9EApnw==\n dependencies:\n nan \"^2.12.1\"\n node-pre-gyp \"^0.12.0\"\n\nfunction-bind@^1.0.2, function-bind@^1.1.1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffunction-bind\u002F-\u002Ffunction-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d\"\n integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==\n\nfunctional-red-black-tree@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ffunctional-red-black-tree\u002F-\u002Ffunctional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327\"\n integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=\n\ngauge@~2.7.3:\n version \"2.7.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fgauge\u002F-\u002Fgauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7\"\n integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi\u002Fc=\n dependencies:\n aproba \"^1.0.3\"\n console-control-strings \"^1.0.0\"\n has-unicode \"^2.0.0\"\n object-assign \"^4.1.0\"\n signal-exit \"^3.0.0\"\n string-width \"^1.0.1\"\n strip-ansi \"^3.0.1\"\n wide-align \"^1.1.0\"\n\nget-caller-file@^1.0.1:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fget-caller-file\u002F-\u002Fget-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a\"\n integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==\n\nget-caller-file@^2.0.1:\n version \"2.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fget-caller-file\u002F-\u002Fget-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e\"\n integrity sha512-DyFP3BM\u002F3YHTQOCUL\u002Fw0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\n\nget-own-enumerable-property-symbols@^3.0.0:\n version \"3.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fget-own-enumerable-property-symbols\u002F-\u002Fget-own-enumerable-property-symbols-3.0.1.tgz#6f7764f88ea11e0b514bd9bd860a132259992ca4\"\n integrity sha512-09\u002FVS4iek66Dh2bctjRkowueRJbY1JDGR1L\u002FzRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA==\n\nget-stdin@^7.0.0:\n version \"7.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fget-stdin\u002F-\u002Fget-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6\"\n integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==\n\nget-stream@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fget-stream\u002F-\u002Fget-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14\"\n integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=\n\nget-stream@^4.0.0:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fget-stream\u002F-\u002Fget-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5\"\n integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS\u002FL66Kox+rJRNklLK7w==\n dependencies:\n pump \"^3.0.0\"\n\nget-value@^2.0.3, get-value@^2.0.6:\n version \"2.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fget-value\u002F-\u002Fget-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28\"\n integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=\n\ngetpass@^0.1.1:\n version \"0.1.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fgetpass\u002F-\u002Fgetpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa\"\n integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=\n dependencies:\n assert-plus \"^1.0.0\"\n\nglob-parent@^3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fglob-parent\u002F-\u002Fglob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae\"\n integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=\n dependencies:\n is-glob \"^3.1.0\"\n path-dirname \"^1.0.0\"\n\nglob-parent@^5.0.0:\n version \"5.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fglob-parent\u002F-\u002Fglob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2\"\n integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==\n dependencies:\n is-glob \"^4.0.1\"\n\nglob-to-regexp@^0.3.0:\n version \"0.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fglob-to-regexp\u002F-\u002Fglob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab\"\n integrity sha1-jFoUlNIGbFcMw7\u002FkSWF1rMTVAqs=\n\nglob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:\n version \"7.1.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fglob\u002F-\u002Fglob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0\"\n integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn\u002Fjn50Ux4MNXVhubL1wu\u002Fj2t+H4NVI+cXEcCaYellqaPVGXNqQ==\n dependencies:\n fs.realpath \"^1.0.0\"\n inflight \"^1.0.4\"\n inherits \"2\"\n minimatch \"^3.0.4\"\n once \"^1.3.0\"\n path-is-absolute \"^1.0.0\"\n\nglob@^7.1.6:\n version \"7.1.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fglob\u002F-\u002Fglob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6\"\n integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==\n dependencies:\n fs.realpath \"^1.0.0\"\n inflight \"^1.0.4\"\n inherits \"2\"\n minimatch \"^3.0.4\"\n once \"^1.3.0\"\n path-is-absolute \"^1.0.0\"\n\nglobal-modules@2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fglobal-modules\u002F-\u002Fglobal-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780\"\n integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l\u002Fr6W4epkeKJHqL8A==\n dependencies:\n global-prefix \"^3.0.0\"\n\nglobal-prefix@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fglobal-prefix\u002F-\u002Fglobal-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97\"\n integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==\n dependencies:\n ini \"^1.3.5\"\n kind-of \"^6.0.2\"\n which \"^1.3.1\"\n\nglobals@^11.1.0, globals@^11.7.0:\n version \"11.12.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fglobals\u002F-\u002Fglobals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e\"\n integrity sha512-WOBp\u002FEEGUiIsJSp7wcv\u002Fy6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==\n\nglobby@8.0.2:\n version \"8.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fglobby\u002F-\u002Fglobby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d\"\n integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==\n dependencies:\n array-union \"^1.0.1\"\n dir-glob \"2.0.0\"\n fast-glob \"^2.0.2\"\n glob \"^7.1.2\"\n ignore \"^3.3.5\"\n pify \"^3.0.0\"\n slash \"^1.0.0\"\n\nglobby@^6.1.0:\n version \"6.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fglobby\u002F-\u002Fglobby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c\"\n integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=\n dependencies:\n array-union \"^1.0.1\"\n glob \"^7.0.3\"\n object-assign \"^4.0.1\"\n pify \"^2.0.0\"\n pinkie-promise \"^2.0.0\"\n\ngraceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0:\n version \"4.2.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fgraceful-fs\u002F-\u002Fgraceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423\"\n integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M\u002F5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==\n\ngrowly@^1.3.0:\n version \"1.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fgrowly\u002F-\u002Fgrowly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081\"\n integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=\n\ngud@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fgud\u002F-\u002Fgud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0\"\n integrity sha512-zGEOVKFM5sVPPrYs7J5\u002FhYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==\n\ngzip-size@5.1.1:\n version \"5.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fgzip-size\u002F-\u002Fgzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274\"\n integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==\n dependencies:\n duplexer \"^0.1.1\"\n pify \"^4.0.1\"\n\nhandle-thing@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhandle-thing\u002F-\u002Fhandle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754\"\n integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li\u002FNcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo\u002F\u002FkQ==\n\nhandlebars@^4.1.2:\n version \"4.5.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhandlebars\u002F-\u002Fhandlebars-4.5.1.tgz#8a01c382c180272260d07f2d1aa3ae745715c7ba\"\n integrity sha512-C29UoFzHe9yM61lOsIlCE5\u002FmQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==\n dependencies:\n neo-async \"^2.6.0\"\n optimist \"^0.6.1\"\n source-map \"^0.6.1\"\n optionalDependencies:\n uglify-js \"^3.1.4\"\n\nhar-schema@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhar-schema\u002F-\u002Fhar-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92\"\n integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=\n\nhar-validator@~5.1.0:\n version \"5.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhar-validator\u002F-\u002Fhar-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080\"\n integrity sha512-sNvOCzEQNr\u002FqrvJgc3UG\u002FkD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==\n dependencies:\n ajv \"^6.5.5\"\n har-schema \"^2.0.0\"\n\nharmony-reflect@^1.4.6:\n version \"1.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fharmony-reflect\u002F-\u002Fharmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9\"\n integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==\n\nhas-ansi@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhas-ansi\u002F-\u002Fhas-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91\"\n integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=\n dependencies:\n ansi-regex \"^2.0.0\"\n\nhas-flag@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhas-flag\u002F-\u002Fhas-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd\"\n integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=\n\nhas-flag@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhas-flag\u002F-\u002Fhas-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b\"\n integrity sha512-EykJT\u002FQ1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG\u002FZxU3EvlMPQ==\n\nhas-symbols@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhas-symbols\u002F-\u002Fhas-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44\"\n integrity sha1-uhqPGvKg\u002FDllD1yFA2dwQSIGO0Q=\n\nhas-unicode@^2.0.0:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhas-unicode\u002F-\u002Fhas-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9\"\n integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=\n\nhas-value@^0.3.1:\n version \"0.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhas-value\u002F-\u002Fhas-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f\"\n integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=\n dependencies:\n get-value \"^2.0.3\"\n has-values \"^0.1.4\"\n isobject \"^2.0.0\"\n\nhas-value@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhas-value\u002F-\u002Fhas-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177\"\n integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=\n dependencies:\n get-value \"^2.0.6\"\n has-values \"^1.0.0\"\n isobject \"^3.0.0\"\n\nhas-values@^0.1.4:\n version \"0.1.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhas-values\u002F-\u002Fhas-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771\"\n integrity sha1-bWHeldkd\u002FKm5oCCJrThL\u002F49it3E=\n\nhas-values@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhas-values\u002F-\u002Fhas-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f\"\n integrity sha1-lbC2P+whRmGab+V\u002F51Yo1aOe\u002Fk8=\n dependencies:\n is-number \"^3.0.0\"\n kind-of \"^4.0.0\"\n\nhas@^1.0.0, has@^1.0.1, has@^1.0.3:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhas\u002F-\u002Fhas-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796\"\n integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5\u002FVKPp5tTpWIV4JHHZK1\u002FBxbFRtf\u002FsiA2SWTe09caDmVtYYzWEIbBS4zw==\n dependencies:\n function-bind \"^1.1.1\"\n\nhash-base@^3.0.0:\n version \"3.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhash-base\u002F-\u002Fhash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918\"\n integrity sha1-X8hoaEfs1zSZQDMZprCj8\u002FauSRg=\n dependencies:\n inherits \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n\nhash.js@^1.0.0, hash.js@^1.0.3:\n version \"1.1.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhash.js\u002F-\u002Fhash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42\"\n integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s\u002FuzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==\n dependencies:\n inherits \"^2.0.3\"\n minimalistic-assert \"^1.0.1\"\n\nhe@1.2.x:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhe\u002F-\u002Fhe-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f\"\n integrity sha512-F\u002F1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn\u002F7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\n\nhex-color-regex@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhex-color-regex\u002F-\u002Fhex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e\"\n integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR\u002FBVnZ0shmQRM96Ji99kYZP\u002F7hn1cedc1+ApsTQ==\n\nhistory@^4.10.1, history@^4.9.0:\n version \"4.10.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhistory\u002F-\u002Fhistory-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3\"\n integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.1.2\"\n loose-envify \"^1.2.0\"\n resolve-pathname \"^3.0.0\"\n tiny-invariant \"^1.0.2\"\n tiny-warning \"^1.0.0\"\n value-equal \"^1.0.1\"\n\nhmac-drbg@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhmac-drbg\u002F-\u002Fhmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1\"\n integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=\n dependencies:\n hash.js \"^1.0.3\"\n minimalistic-assert \"^1.0.0\"\n minimalistic-crypto-utils \"^1.0.1\"\n\nhoist-non-react-statics@^3.1.0:\n version \"3.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhoist-non-react-statics\u002F-\u002Fhoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b\"\n integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E\u002FCrWbxRG3m5GzY4lnIwGRBA==\n dependencies:\n react-is \"^16.7.0\"\n\nhosted-git-info@^2.1.4:\n version \"2.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhosted-git-info\u002F-\u002Fhosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c\"\n integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==\n\nhpack.js@^2.1.6:\n version \"2.1.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhpack.js\u002F-\u002Fhpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2\"\n integrity sha1-h3dMCUnlE\u002FQuhFdbPEVoH63ioLI=\n dependencies:\n inherits \"^2.0.1\"\n obuf \"^1.0.0\"\n readable-stream \"^2.0.1\"\n wbuf \"^1.1.0\"\n\nhsl-regex@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhsl-regex\u002F-\u002Fhsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e\"\n integrity sha1-1JMwx4ntgZ4nakwNJy3\u002FowsY\u002Fm4=\n\nhsla-regex@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhsla-regex\u002F-\u002Fhsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38\"\n integrity sha1-wc56MWjIxmFAM6S194d\u002FOyJfnDg=\n\nhtml-comment-regex@^1.1.0:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhtml-comment-regex\u002F-\u002Fhtml-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7\"\n integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+\u002FOHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==\n\nhtml-encoding-sniffer@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhtml-encoding-sniffer\u002F-\u002Fhtml-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8\"\n integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4\u002FFuZJMVWyNaIDr4RGmaSYw==\n dependencies:\n whatwg-encoding \"^1.0.1\"\n\nhtml-entities@^1.2.0:\n version \"1.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhtml-entities\u002F-\u002Fhtml-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f\"\n integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=\n\nhtml-minifier@^3.5.20:\n version \"3.5.21\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhtml-minifier\u002F-\u002Fhtml-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c\"\n integrity sha512-LKUKwuJDhxNa3uf\u002FLPR\u002FKVjm\u002Fl3rBqtYeCOAekvG8F1vItxMUpueGd94i\u002FasDDr8\u002F1u7InxzFA5EeGjhhG5mMA==\n dependencies:\n camel-case \"3.0.x\"\n clean-css \"4.2.x\"\n commander \"2.17.x\"\n he \"1.2.x\"\n param-case \"2.1.x\"\n relateurl \"0.2.x\"\n uglify-js \"3.4.x\"\n\nhtml-webpack-plugin@4.0.0-beta.5:\n version \"4.0.0-beta.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhtml-webpack-plugin\u002F-\u002Fhtml-webpack-plugin-4.0.0-beta.5.tgz#2c53083c1151bfec20479b1f8aaf0039e77b5513\"\n integrity sha512-y5l4lGxOW3pz3xBTFdfB9rnnrWRPVxlAhX6nrBYIcW+2k2zC3mSp\u002F3DxlWVCMBfnO6UAnoF8OcFn0IMy6kaKAQ==\n dependencies:\n html-minifier \"^3.5.20\"\n loader-utils \"^1.1.0\"\n lodash \"^4.17.11\"\n pretty-error \"^2.1.1\"\n tapable \"^1.1.0\"\n util.promisify \"1.0.0\"\n\nhtmlparser2@^3.3.0:\n version \"3.10.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhtmlparser2\u002F-\u002Fhtmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f\"\n integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE\u002FfuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==\n dependencies:\n domelementtype \"^1.3.1\"\n domhandler \"^2.3.0\"\n domutils \"^1.5.1\"\n entities \"^1.1.1\"\n inherits \"^2.0.1\"\n readable-stream \"^3.1.1\"\n\nhttp-deceiver@^1.2.7:\n version \"1.2.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhttp-deceiver\u002F-\u002Fhttp-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87\"\n integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=\n\nhttp-errors@1.7.2:\n version \"1.7.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhttp-errors\u002F-\u002Fhttp-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f\"\n integrity sha512-uUQBt3H\u002FcSIVfch6i1EuPNy\u002FYsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==\n dependencies:\n depd \"~1.1.2\"\n inherits \"2.0.3\"\n setprototypeof \"1.1.1\"\n statuses \"\u003E= 1.5.0 \u003C 2\"\n toidentifier \"1.0.0\"\n\nhttp-errors@~1.6.2:\n version \"1.6.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhttp-errors\u002F-\u002Fhttp-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d\"\n integrity sha1-i1VoC7S+KDoLW\u002FTqLjhYC+HZMg0=\n dependencies:\n depd \"~1.1.2\"\n inherits \"2.0.3\"\n setprototypeof \"1.1.0\"\n statuses \"\u003E= 1.4.0 \u003C 2\"\n\nhttp-errors@~1.7.2:\n version \"1.7.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhttp-errors\u002F-\u002Fhttp-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06\"\n integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm\u002FQfw==\n dependencies:\n depd \"~1.1.2\"\n inherits \"2.0.4\"\n setprototypeof \"1.1.1\"\n statuses \"\u003E= 1.5.0 \u003C 2\"\n toidentifier \"1.0.0\"\n\n\"http-parser-js@\u003E=0.4.0 \u003C0.4.11\":\n version \"0.4.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhttp-parser-js\u002F-\u002Fhttp-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4\"\n integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=\n\nhttp-proxy-middleware@^0.19.1:\n version \"0.19.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhttp-proxy-middleware\u002F-\u002Fhttp-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a\"\n integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==\n dependencies:\n http-proxy \"^1.17.0\"\n is-glob \"^4.0.0\"\n lodash \"^4.17.11\"\n micromatch \"^3.1.10\"\n\nhttp-proxy@^1.17.0:\n version \"1.18.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhttp-proxy\u002F-\u002Fhttp-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a\"\n integrity sha512-84I2iJM\u002Fn1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==\n dependencies:\n eventemitter3 \"^4.0.0\"\n follow-redirects \"^1.0.0\"\n requires-port \"^1.0.0\"\n\nhttp-signature@~1.2.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhttp-signature\u002F-\u002Fhttp-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1\"\n integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=\n dependencies:\n assert-plus \"^1.0.0\"\n jsprim \"^1.2.2\"\n sshpk \"^1.7.0\"\n\nhttps-browserify@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhttps-browserify\u002F-\u002Fhttps-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73\"\n integrity sha1-7AbBDgo0wPL68Zn3\u002FX\u002FHj\u002F\u002FQPHM=\n\nhusky@^3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fhusky\u002F-\u002Fhusky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0\"\n integrity sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5\u002FHBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ==\n dependencies:\n chalk \"^2.4.2\"\n ci-info \"^2.0.0\"\n cosmiconfig \"^5.2.1\"\n execa \"^1.0.0\"\n get-stdin \"^7.0.0\"\n opencollective-postinstall \"^2.0.2\"\n pkg-dir \"^4.2.0\"\n please-upgrade-node \"^3.2.0\"\n read-pkg \"^5.2.0\"\n run-node \"^1.0.0\"\n slash \"^3.0.0\"\n\niconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4:\n version \"0.4.24\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ficonv-lite\u002F-\u002Ficonv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b\"\n integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8\u002FrA==\n dependencies:\n safer-buffer \"\u003E= 2.1.2 \u003C 3\"\n\nicss-replace-symbols@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ficss-replace-symbols\u002F-\u002Ficss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded\"\n integrity sha1-Bupvg2ead0njhs\u002Fh\u002FoEq5dsiPe0=\n\nicss-utils@^4.1.0:\n version \"4.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ficss-utils\u002F-\u002Ficss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467\"\n integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==\n dependencies:\n postcss \"^7.0.14\"\n\nidentity-obj-proxy@3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fidentity-obj-proxy\u002F-\u002Fidentity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14\"\n integrity sha1-lNK9qWCERT7zb7xarsN+D3nx\u002FBQ=\n dependencies:\n harmony-reflect \"^1.4.6\"\n\nieee754@^1.1.4:\n version \"1.1.13\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fieee754\u002F-\u002Fieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84\"\n integrity sha512-4vf7I2LYV\u002FHaWerSo3XmlMkp5eZ83i+\u002FCDluXi\u002FIGTs\u002FO1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==\n\niferr@^0.1.5:\n version \"0.1.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fiferr\u002F-\u002Fiferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501\"\n integrity sha1-xg7taebY\u002FbazEEofy8ocGS3FtQE=\n\nignore-walk@^3.0.1:\n version \"3.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fignore-walk\u002F-\u002Fignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37\"\n integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==\n dependencies:\n minimatch \"^3.0.4\"\n\nignore@^3.3.5:\n version \"3.3.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fignore\u002F-\u002Fignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043\"\n integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh\u002Fug==\n\nignore@^4.0.6:\n version \"4.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fignore\u002F-\u002Fignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc\"\n integrity sha512-cyFDKrqc\u002FYdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy\u002FKjuxWLZ\u002FFHEH6Moq1NizMOBWyTcv8O4OZIMg==\n\nimmer@1.10.0:\n version \"1.10.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fimmer\u002F-\u002Fimmer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d\"\n integrity sha512-O3sR1\u002FopvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==\n\nimport-cwd@^2.0.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fimport-cwd\u002F-\u002Fimport-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9\"\n integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=\n dependencies:\n import-from \"^2.1.0\"\n\nimport-fresh@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fimport-fresh\u002F-\u002Fimport-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546\"\n integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=\n dependencies:\n caller-path \"^2.0.0\"\n resolve-from \"^3.0.0\"\n\nimport-fresh@^3.0.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fimport-fresh\u002F-\u002Fimport-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118\"\n integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5\u002Fwht0z2UhEQ==\n dependencies:\n parent-module \"^1.0.0\"\n resolve-from \"^4.0.0\"\n\nimport-from@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fimport-from\u002F-\u002Fimport-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1\"\n integrity sha1-M1238qev\u002FVOqpHHUuAId7ja387E=\n dependencies:\n resolve-from \"^3.0.0\"\n\nimport-local@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fimport-local\u002F-\u002Fimport-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d\"\n integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq\u002FW+\u002FWRpQmCQ==\n dependencies:\n pkg-dir \"^3.0.0\"\n resolve-cwd \"^2.0.0\"\n\nimurmurhash@^0.1.4:\n version \"0.1.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fimurmurhash\u002F-\u002Fimurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea\"\n integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=\n\nindent-string@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Findent-string\u002F-\u002Findent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251\"\n integrity sha512-EdDDZu4A2OyIK7Lr\u002F2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1\u002Fy5xwg==\n\nindexes-of@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Findexes-of\u002F-\u002Findexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607\"\n integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=\n\ninfer-owner@^1.0.3:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Finfer-owner\u002F-\u002Finfer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467\"\n integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+\u002FATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==\n\ninflight@^1.0.4:\n version \"1.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Finflight\u002F-\u002Finflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9\"\n integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=\n dependencies:\n once \"^1.3.0\"\n wrappy \"1\"\n\ninherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:\n version \"2.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Finherits\u002F-\u002Finherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c\"\n integrity sha512-k\u002FvGaX4\u002FYla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\n\ninherits@2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Finherits\u002F-\u002Finherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1\"\n integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=\n\ninherits@2.0.3:\n version \"2.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Finherits\u002F-\u002Finherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de\"\n integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=\n\nini@^1.3.5, ini@~1.3.0:\n version \"1.3.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fini\u002F-\u002Fini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927\"\n integrity sha512-RZY5huIKCMRWDUqZlEi72f\u002FlmXKMvuszcMBduliQ3nnWbx9X\u002FZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==\n\ninquirer@6.5.0:\n version \"6.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Finquirer\u002F-\u002Finquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42\"\n integrity sha512-scfHejeG\u002FlVZSpvCXpsB4j\u002FwQNPM5JC8kiElOI0OUTwmc1RTpXr4H32\u002FHOlQHcZiYl2z2VElwuCVDRG8vFmbnA==\n dependencies:\n ansi-escapes \"^3.2.0\"\n chalk \"^2.4.2\"\n cli-cursor \"^2.1.0\"\n cli-width \"^2.0.0\"\n external-editor \"^3.0.3\"\n figures \"^2.0.0\"\n lodash \"^4.17.12\"\n mute-stream \"0.0.7\"\n run-async \"^2.2.0\"\n rxjs \"^6.4.0\"\n string-width \"^2.1.0\"\n strip-ansi \"^5.1.0\"\n through \"^2.3.6\"\n\ninquirer@^7.0.0:\n version \"7.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Finquirer\u002F-\u002Finquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a\"\n integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2\u002FtQ==\n dependencies:\n ansi-escapes \"^4.2.1\"\n chalk \"^2.4.2\"\n cli-cursor \"^3.1.0\"\n cli-width \"^2.0.0\"\n external-editor \"^3.0.3\"\n figures \"^3.0.0\"\n lodash \"^4.17.15\"\n mute-stream \"0.0.8\"\n run-async \"^2.2.0\"\n rxjs \"^6.4.0\"\n string-width \"^4.1.0\"\n strip-ansi \"^5.1.0\"\n through \"^2.3.6\"\n\ninternal-ip@^4.2.0:\n version \"4.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Finternal-ip\u002F-\u002Finternal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907\"\n integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo\u002FsDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==\n dependencies:\n default-gateway \"^4.2.0\"\n ipaddr.js \"^1.9.0\"\n\ninvariant@^2.2.2, invariant@^2.2.4:\n version \"2.2.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Finvariant\u002F-\u002Finvariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6\"\n integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns\u002F\u002FLaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif\u002FA2B1C2gNA==\n dependencies:\n loose-envify \"^1.0.0\"\n\ninvert-kv@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Finvert-kv\u002F-\u002Finvert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02\"\n integrity sha512-wPVv\u002Fy\u002FQQ\u002FUiirj\u002Fvh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==\n\nip-regex@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fip-regex\u002F-\u002Fip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9\"\n integrity sha1-+ni\u002FXS5pE8kRzp+BnuUUa7bYROk=\n\nip@^1.1.0, ip@^1.1.5:\n version \"1.1.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fip\u002F-\u002Fip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a\"\n integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=\n\nipaddr.js@1.9.0:\n version \"1.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fipaddr.js\u002F-\u002Fipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65\"\n integrity sha512-M4Sjn6N\u002F+O6\u002FIXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R\u002FKRv2GLoa7nNtg\u002FC2Ev6m7z+eA==\n\nipaddr.js@^1.9.0:\n version \"1.9.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fipaddr.js\u002F-\u002Fipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3\"\n integrity sha512-0KI\u002F607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh\u002FhZykN8KpmMf7uYwPW3R+akZ6R\u002Fw18ZlXSHBYXiYUPO3g==\n\nis-absolute-url@^2.0.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-absolute-url\u002F-\u002Fis-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6\"\n integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=\n\nis-accessor-descriptor@^0.1.6:\n version \"0.1.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-accessor-descriptor\u002F-\u002Fis-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6\"\n integrity sha1-qeEss66Nh2cn7u84Q\u002FigiXtcmNY=\n dependencies:\n kind-of \"^3.0.2\"\n\nis-accessor-descriptor@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-accessor-descriptor\u002F-\u002Fis-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656\"\n integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==\n dependencies:\n kind-of \"^6.0.0\"\n\nis-arguments@^1.0.4:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-arguments\u002F-\u002Fis-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3\"\n integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==\n\nis-arrayish@^0.2.1:\n version \"0.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-arrayish\u002F-\u002Fis-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d\"\n integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=\n\nis-arrayish@^0.3.1:\n version \"0.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-arrayish\u002F-\u002Fis-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03\"\n integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR\u002FLRY\u002F92w0zxQ5\u002F1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==\n\nis-binary-path@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-binary-path\u002F-\u002Fis-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898\"\n integrity sha1-dfFmQrSA8YenEcgUFh\u002FTpKdlWJg=\n dependencies:\n binary-extensions \"^1.0.0\"\n\nis-buffer@^1.0.2, is-buffer@^1.1.5:\n version \"1.1.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-buffer\u002F-\u002Fis-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be\"\n integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5\u002FewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==\n\nis-callable@^1.1.4:\n version \"1.1.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-callable\u002F-\u002Fis-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75\"\n integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==\n\nis-ci@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-ci\u002F-\u002Fis-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c\"\n integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==\n dependencies:\n ci-info \"^2.0.0\"\n\nis-color-stop@^1.0.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-color-stop\u002F-\u002Fis-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345\"\n integrity sha1-z\u002F9HGu5N1cnhWFmPvhKWe1za00U=\n dependencies:\n css-color-names \"^0.0.4\"\n hex-color-regex \"^1.1.0\"\n hsl-regex \"^1.0.0\"\n hsla-regex \"^1.0.0\"\n rgb-regex \"^1.0.1\"\n rgba-regex \"^1.0.0\"\n\nis-data-descriptor@^0.1.4:\n version \"0.1.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-data-descriptor\u002F-\u002Fis-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56\"\n integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=\n dependencies:\n kind-of \"^3.0.2\"\n\nis-data-descriptor@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-data-descriptor\u002F-\u002Fis-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7\"\n integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE\u002FjLQ==\n dependencies:\n kind-of \"^6.0.0\"\n\nis-date-object@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-date-object\u002F-\u002Fis-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16\"\n integrity sha1-mqIOtq7rv\u002Fd\u002FvTPnTKAbM1gdOhY=\n\nis-descriptor@^0.1.0:\n version \"0.1.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-descriptor\u002F-\u002Fis-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca\"\n integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq\u002F4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==\n dependencies:\n is-accessor-descriptor \"^0.1.6\"\n is-data-descriptor \"^0.1.4\"\n kind-of \"^5.0.0\"\n\nis-descriptor@^1.0.0, is-descriptor@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-descriptor\u002F-\u002Fis-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec\"\n integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==\n dependencies:\n is-accessor-descriptor \"^1.0.0\"\n is-data-descriptor \"^1.0.0\"\n kind-of \"^6.0.2\"\n\nis-directory@^0.3.1:\n version \"0.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-directory\u002F-\u002Fis-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1\"\n integrity sha1-YTObbyR1\u002FHcv2cnYP1yFddwVSuE=\n\nis-extendable@^0.1.0, is-extendable@^0.1.1:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-extendable\u002F-\u002Fis-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89\"\n integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd\u002FIk=\n\nis-extendable@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-extendable\u002F-\u002Fis-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4\"\n integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul\u002F6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==\n dependencies:\n is-plain-object \"^2.0.4\"\n\nis-extglob@^2.1.0, is-extglob@^2.1.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-extglob\u002F-\u002Fis-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2\"\n integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=\n\nis-fullwidth-code-point@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-fullwidth-code-point\u002F-\u002Fis-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb\"\n integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=\n dependencies:\n number-is-nan \"^1.0.0\"\n\nis-fullwidth-code-point@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-fullwidth-code-point\u002F-\u002Fis-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f\"\n integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=\n\nis-fullwidth-code-point@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-fullwidth-code-point\u002F-\u002Fis-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d\"\n integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\n\nis-generator-fn@^2.0.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-generator-fn\u002F-\u002Fis-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118\"\n integrity sha512-cTIB4yPYL\u002FGrw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==\n\nis-glob@^3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-glob\u002F-\u002Fis-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a\"\n integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=\n dependencies:\n is-extglob \"^2.1.0\"\n\nis-glob@^4.0.0, is-glob@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-glob\u002F-\u002Fis-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc\"\n integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT\u002FH6NQv\u002Fghhy30o55ufafxJ\u002FLdH79LLs2Kfrn85TLKyA7BUg==\n dependencies:\n is-extglob \"^2.1.1\"\n\nis-number@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-number\u002F-\u002Fis-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195\"\n integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=\n dependencies:\n kind-of \"^3.0.2\"\n\nis-obj@^1.0.0, is-obj@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-obj\u002F-\u002Fis-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f\"\n integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=\n\nis-path-cwd@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-path-cwd\u002F-\u002Fis-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d\"\n integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=\n\nis-path-in-cwd@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-path-in-cwd\u002F-\u002Fis-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52\"\n integrity sha512-FjV1RTW48E7CWM7eE\u002FJ2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==\n dependencies:\n is-path-inside \"^1.0.0\"\n\nis-path-inside@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-path-inside\u002F-\u002Fis-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036\"\n integrity sha1-jvW33lBDej\u002FcprToZe96pVy0gDY=\n dependencies:\n path-is-inside \"^1.0.1\"\n\nis-plain-obj@^1.0.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-plain-obj\u002F-\u002Fis-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e\"\n integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=\n\nis-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:\n version \"2.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-plain-object\u002F-\u002Fis-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677\"\n integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI\u002FyqXiFR5mdLsgYNaPe8uao6Uv9Og==\n dependencies:\n isobject \"^3.0.1\"\n\nis-promise@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-promise\u002F-\u002Fis-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa\"\n integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8\u002Fo=\n\nis-regex@^1.0.4:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-regex\u002F-\u002Fis-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491\"\n integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=\n dependencies:\n has \"^1.0.1\"\n\nis-regexp@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-regexp\u002F-\u002Fis-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069\"\n integrity sha1-\u002FS2INUXEa6xaYz57mgnof6LLUGk=\n\nis-resolvable@^1.0.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-resolvable\u002F-\u002Fis-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88\"\n integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq\u002FgXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==\n\nis-root@2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-root\u002F-\u002Fis-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c\"\n integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==\n\nis-stream@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-stream\u002F-\u002Fis-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44\"\n integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=\n\nis-svg@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-svg\u002F-\u002Fis-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75\"\n integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG\u002FCqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==\n dependencies:\n html-comment-regex \"^1.1.0\"\n\nis-symbol@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-symbol\u002F-\u002Fis-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38\"\n integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==\n dependencies:\n has-symbols \"^1.0.0\"\n\nis-typedarray@~1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-typedarray\u002F-\u002Fis-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a\"\n integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=\n\nis-windows@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-windows\u002F-\u002Fis-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d\"\n integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ\u002FpGu6m8TRnBHP9dkXQVsT\u002FCOVIA==\n\nis-wsl@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fis-wsl\u002F-\u002Fis-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d\"\n integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=\n\nisarray@0.0.1:\n version \"0.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fisarray\u002F-\u002Fisarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf\"\n integrity sha1-ihis\u002FKmo9Bd+Cav8YDiTmwXR7t8=\n\nisarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fisarray\u002F-\u002Fisarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11\"\n integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=\n\nisexe@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fisexe\u002F-\u002Fisexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10\"\n integrity sha1-6PvzdNxVb\u002FiUehDcsFctYz8s+hA=\n\nisobject@^2.0.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fisobject\u002F-\u002Fisobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89\"\n integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=\n dependencies:\n isarray \"1.0.0\"\n\nisobject@^3.0.0, isobject@^3.0.1:\n version \"3.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fisobject\u002F-\u002Fisobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df\"\n integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=\n\nisstream@~0.1.2:\n version \"0.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fisstream\u002F-\u002Fisstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a\"\n integrity sha1-R+Y\u002FevVa+m+S4VAOaQ64uFKcCZo=\n\nistanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5:\n version \"2.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fistanbul-lib-coverage\u002F-\u002Fistanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49\"\n integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==\n\nistanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0:\n version \"3.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fistanbul-lib-instrument\u002F-\u002Fistanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630\"\n integrity sha512-5nnIN4vo5xQZHdXno\u002FYDXJ0G+I3dAm4XgzfSVTPLQpj\u002FzAV2dV6Juy0yaf10\u002FzrJOJeHoN3fraFe+XRq2bFVZA==\n dependencies:\n \"@babel\u002Fgenerator\" \"^7.4.0\"\n \"@babel\u002Fparser\" \"^7.4.3\"\n \"@babel\u002Ftemplate\" \"^7.4.0\"\n \"@babel\u002Ftraverse\" \"^7.4.3\"\n \"@babel\u002Ftypes\" \"^7.4.0\"\n istanbul-lib-coverage \"^2.0.5\"\n semver \"^6.0.0\"\n\nistanbul-lib-report@^2.0.4:\n version \"2.0.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fistanbul-lib-report\u002F-\u002Fistanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33\"\n integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR\u002FHvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==\n dependencies:\n istanbul-lib-coverage \"^2.0.5\"\n make-dir \"^2.1.0\"\n supports-color \"^6.1.0\"\n\nistanbul-lib-source-maps@^3.0.1:\n version \"3.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fistanbul-lib-source-maps\u002F-\u002Fistanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8\"\n integrity sha512-R47KzMtDJH6X4\u002FYW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==\n dependencies:\n debug \"^4.1.1\"\n istanbul-lib-coverage \"^2.0.5\"\n make-dir \"^2.1.0\"\n rimraf \"^2.6.3\"\n source-map \"^0.6.1\"\n\nistanbul-reports@^2.2.6:\n version \"2.2.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fistanbul-reports\u002F-\u002Fistanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af\"\n integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==\n dependencies:\n handlebars \"^4.1.2\"\n\njest-changed-files@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-changed-files\u002F-\u002Fjest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039\"\n integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23\u002F5Bl9Z4AkFwqg==\n dependencies:\n \"@jest\u002Ftypes\" \"^24.9.0\"\n execa \"^1.0.0\"\n throat \"^4.0.0\"\n\njest-cli@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-cli\u002F-\u002Fjest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af\"\n integrity sha512-+VLRKyitT3BWoMeSUIHRxV\u002F2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns\u002FtqafQDJW7imYvGg==\n dependencies:\n \"@jest\u002Fcore\" \"^24.9.0\"\n \"@jest\u002Ftest-result\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n chalk \"^2.0.1\"\n exit \"^0.1.2\"\n import-local \"^2.0.0\"\n is-ci \"^2.0.0\"\n jest-config \"^24.9.0\"\n jest-util \"^24.9.0\"\n jest-validate \"^24.9.0\"\n prompts \"^2.0.1\"\n realpath-native \"^1.1.0\"\n yargs \"^13.3.0\"\n\njest-config@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-config\u002F-\u002Fjest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5\"\n integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==\n dependencies:\n \"@babel\u002Fcore\" \"^7.1.0\"\n \"@jest\u002Ftest-sequencer\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n babel-jest \"^24.9.0\"\n chalk \"^2.0.1\"\n glob \"^7.1.1\"\n jest-environment-jsdom \"^24.9.0\"\n jest-environment-node \"^24.9.0\"\n jest-get-type \"^24.9.0\"\n jest-jasmine2 \"^24.9.0\"\n jest-regex-util \"^24.3.0\"\n jest-resolve \"^24.9.0\"\n jest-util \"^24.9.0\"\n jest-validate \"^24.9.0\"\n micromatch \"^3.1.10\"\n pretty-format \"^24.9.0\"\n realpath-native \"^1.1.0\"\n\njest-diff@^24.0.0, jest-diff@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-diff\u002F-\u002Fjest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da\"\n integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==\n dependencies:\n chalk \"^2.0.1\"\n diff-sequences \"^24.9.0\"\n jest-get-type \"^24.9.0\"\n pretty-format \"^24.9.0\"\n\njest-docblock@^24.3.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-docblock\u002F-\u002Fjest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2\"\n integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L\u002FIvXvvgsG8OsqhLPXTpfmZAA==\n dependencies:\n detect-newline \"^2.1.0\"\n\njest-each@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-each\u002F-\u002Fjest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05\"\n integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ\u002FwIDwmsM3CqM\u002FnlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==\n dependencies:\n \"@jest\u002Ftypes\" \"^24.9.0\"\n chalk \"^2.0.1\"\n jest-get-type \"^24.9.0\"\n jest-util \"^24.9.0\"\n pretty-format \"^24.9.0\"\n\njest-environment-jsdom-fourteen@0.1.0:\n version \"0.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-environment-jsdom-fourteen\u002F-\u002Fjest-environment-jsdom-fourteen-0.1.0.tgz#aad6393a9d4b565b69a609109bf469f62bf18ccc\"\n integrity sha512-4vtoRMg7jAstitRzL4nbw83VmGH8Rs13wrND3Ud2o1fczDhMUF32iIrNKwYGgeOPUdfvZU4oy8Bbv+ni1fgVCA==\n dependencies:\n jest-mock \"^24.5.0\"\n jest-util \"^24.5.0\"\n jsdom \"^14.0.0\"\n\njest-environment-jsdom@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-environment-jsdom\u002F-\u002Fjest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b\"\n integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==\n dependencies:\n \"@jest\u002Fenvironment\" \"^24.9.0\"\n \"@jest\u002Ffake-timers\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n jest-mock \"^24.9.0\"\n jest-util \"^24.9.0\"\n jsdom \"^11.5.1\"\n\njest-environment-node@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-environment-node\u002F-\u002Fjest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3\"\n integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==\n dependencies:\n \"@jest\u002Fenvironment\" \"^24.9.0\"\n \"@jest\u002Ffake-timers\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n jest-mock \"^24.9.0\"\n jest-util \"^24.9.0\"\n\njest-get-type@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-get-type\u002F-\u002Fjest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e\"\n integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD\u002FsUpKxetKGP+gsHl8f8TSj8Q==\n\njest-haste-map@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-haste-map\u002F-\u002Fjest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d\"\n integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS\u002FvO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==\n dependencies:\n \"@jest\u002Ftypes\" \"^24.9.0\"\n anymatch \"^2.0.0\"\n fb-watchman \"^2.0.0\"\n graceful-fs \"^4.1.15\"\n invariant \"^2.2.4\"\n jest-serializer \"^24.9.0\"\n jest-util \"^24.9.0\"\n jest-worker \"^24.9.0\"\n micromatch \"^3.1.10\"\n sane \"^4.0.3\"\n walker \"^1.0.7\"\n optionalDependencies:\n fsevents \"^1.2.7\"\n\njest-jasmine2@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-jasmine2\u002F-\u002Fjest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0\"\n integrity sha512-Cq7vkAgaYKp+PsX+2\u002FJbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07\u002FqFO0AdKTzw==\n dependencies:\n \"@babel\u002Ftraverse\" \"^7.1.0\"\n \"@jest\u002Fenvironment\" \"^24.9.0\"\n \"@jest\u002Ftest-result\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n chalk \"^2.0.1\"\n co \"^4.6.0\"\n expect \"^24.9.0\"\n is-generator-fn \"^2.0.0\"\n jest-each \"^24.9.0\"\n jest-matcher-utils \"^24.9.0\"\n jest-message-util \"^24.9.0\"\n jest-runtime \"^24.9.0\"\n jest-snapshot \"^24.9.0\"\n jest-util \"^24.9.0\"\n pretty-format \"^24.9.0\"\n throat \"^4.0.0\"\n\njest-leak-detector@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-leak-detector\u002F-\u002Fjest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a\"\n integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY\u002F2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==\n dependencies:\n jest-get-type \"^24.9.0\"\n pretty-format \"^24.9.0\"\n\njest-matcher-utils@^24.0.0, jest-matcher-utils@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-matcher-utils\u002F-\u002Fjest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073\"\n integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27\u002FEMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU\u002FGjHA==\n dependencies:\n chalk \"^2.0.1\"\n jest-diff \"^24.9.0\"\n jest-get-type \"^24.9.0\"\n pretty-format \"^24.9.0\"\n\njest-message-util@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-message-util\u002F-\u002Fjest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3\"\n integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk\u002Fb11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==\n dependencies:\n \"@babel\u002Fcode-frame\" \"^7.0.0\"\n \"@jest\u002Ftest-result\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n \"@types\u002Fstack-utils\" \"^1.0.1\"\n chalk \"^2.0.1\"\n micromatch \"^3.1.10\"\n slash \"^2.0.0\"\n stack-utils \"^1.0.1\"\n\njest-mock@^24.5.0, jest-mock@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-mock\u002F-\u002Fjest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6\"\n integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A\u002FROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv\u002FwN3zl1w==\n dependencies:\n \"@jest\u002Ftypes\" \"^24.9.0\"\n\njest-pnp-resolver@^1.2.1:\n version \"1.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-pnp-resolver\u002F-\u002Fjest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a\"\n integrity sha512-pgFw2tm54fzgYvc\u002FOHrnysABEObZCUNFnhjoRjaVOCN8NYc032\u002FgVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==\n\njest-regex-util@^24.3.0, jest-regex-util@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-regex-util\u002F-\u002Fjest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636\"\n integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==\n\njest-resolve-dependencies@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-resolve-dependencies\u002F-\u002Fjest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab\"\n integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==\n dependencies:\n \"@jest\u002Ftypes\" \"^24.9.0\"\n jest-regex-util \"^24.3.0\"\n jest-snapshot \"^24.9.0\"\n\njest-resolve@24.9.0, jest-resolve@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-resolve\u002F-\u002Fjest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321\"\n integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q\u002FVI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU\u002FMQ==\n dependencies:\n \"@jest\u002Ftypes\" \"^24.9.0\"\n browser-resolve \"^1.11.3\"\n chalk \"^2.0.1\"\n jest-pnp-resolver \"^1.2.1\"\n realpath-native \"^1.1.0\"\n\njest-runner@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-runner\u002F-\u002Fjest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42\"\n integrity sha512-KksJQyI3\u002F0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==\n dependencies:\n \"@jest\u002Fconsole\" \"^24.7.1\"\n \"@jest\u002Fenvironment\" \"^24.9.0\"\n \"@jest\u002Ftest-result\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n chalk \"^2.4.2\"\n exit \"^0.1.2\"\n graceful-fs \"^4.1.15\"\n jest-config \"^24.9.0\"\n jest-docblock \"^24.3.0\"\n jest-haste-map \"^24.9.0\"\n jest-jasmine2 \"^24.9.0\"\n jest-leak-detector \"^24.9.0\"\n jest-message-util \"^24.9.0\"\n jest-resolve \"^24.9.0\"\n jest-runtime \"^24.9.0\"\n jest-util \"^24.9.0\"\n jest-worker \"^24.6.0\"\n source-map-support \"^0.5.6\"\n throat \"^4.0.0\"\n\njest-runtime@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-runtime\u002F-\u002Fjest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac\"\n integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub\u002FlM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==\n dependencies:\n \"@jest\u002Fconsole\" \"^24.7.1\"\n \"@jest\u002Fenvironment\" \"^24.9.0\"\n \"@jest\u002Fsource-map\" \"^24.3.0\"\n \"@jest\u002Ftransform\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n \"@types\u002Fyargs\" \"^13.0.0\"\n chalk \"^2.0.1\"\n exit \"^0.1.2\"\n glob \"^7.1.3\"\n graceful-fs \"^4.1.15\"\n jest-config \"^24.9.0\"\n jest-haste-map \"^24.9.0\"\n jest-message-util \"^24.9.0\"\n jest-mock \"^24.9.0\"\n jest-regex-util \"^24.3.0\"\n jest-resolve \"^24.9.0\"\n jest-snapshot \"^24.9.0\"\n jest-util \"^24.9.0\"\n jest-validate \"^24.9.0\"\n realpath-native \"^1.1.0\"\n slash \"^2.0.0\"\n strip-bom \"^3.0.0\"\n yargs \"^13.3.0\"\n\njest-serializer@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-serializer\u002F-\u002Fjest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73\"\n integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==\n\njest-snapshot@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-snapshot\u002F-\u002Fjest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba\"\n integrity sha512-uI\u002FrszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81\u002FB7Ix81KSFe1lwkbl7GnBGG4UfuDew==\n dependencies:\n \"@babel\u002Ftypes\" \"^7.0.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n chalk \"^2.0.1\"\n expect \"^24.9.0\"\n jest-diff \"^24.9.0\"\n jest-get-type \"^24.9.0\"\n jest-matcher-utils \"^24.9.0\"\n jest-message-util \"^24.9.0\"\n jest-resolve \"^24.9.0\"\n mkdirp \"^0.5.1\"\n natural-compare \"^1.4.0\"\n pretty-format \"^24.9.0\"\n semver \"^6.2.0\"\n\njest-util@^24.5.0, jest-util@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-util\u002F-\u002Fjest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162\"\n integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG\u002FoKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==\n dependencies:\n \"@jest\u002Fconsole\" \"^24.9.0\"\n \"@jest\u002Ffake-timers\" \"^24.9.0\"\n \"@jest\u002Fsource-map\" \"^24.9.0\"\n \"@jest\u002Ftest-result\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n callsites \"^3.0.0\"\n chalk \"^2.0.1\"\n graceful-fs \"^4.1.15\"\n is-ci \"^2.0.0\"\n mkdirp \"^0.5.1\"\n slash \"^2.0.0\"\n source-map \"^0.6.0\"\n\njest-validate@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-validate\u002F-\u002Fjest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab\"\n integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd\u002Fg3J7DghugzxrGjI93qS\u002F+RPKe1H6PqvhRQ==\n dependencies:\n \"@jest\u002Ftypes\" \"^24.9.0\"\n camelcase \"^5.3.1\"\n chalk \"^2.0.1\"\n jest-get-type \"^24.9.0\"\n leven \"^3.1.0\"\n pretty-format \"^24.9.0\"\n\njest-watch-typeahead@0.4.0:\n version \"0.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-watch-typeahead\u002F-\u002Fjest-watch-typeahead-0.4.0.tgz#4d5356839a85421588ce452d2440bf0d25308397\"\n integrity sha512-bJR\u002FHPNgOQnkmttg1OkBIrYFAYuxFxExtgQh67N2qPvaWGVC8TCkedRNPKBfmZfVXFD3u2sCH+9OuS5ApBfCgA==\n dependencies:\n ansi-escapes \"^4.2.1\"\n chalk \"^2.4.1\"\n jest-watcher \"^24.3.0\"\n slash \"^3.0.0\"\n string-length \"^3.1.0\"\n strip-ansi \"^5.0.0\"\n\njest-watcher@^24.3.0, jest-watcher@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-watcher\u002F-\u002Fjest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b\"\n integrity sha512-+\u002FfLOfKPXXYJDYlks62\u002F4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==\n dependencies:\n \"@jest\u002Ftest-result\" \"^24.9.0\"\n \"@jest\u002Ftypes\" \"^24.9.0\"\n \"@types\u002Fyargs\" \"^13.0.0\"\n ansi-escapes \"^3.0.0\"\n chalk \"^2.0.1\"\n jest-util \"^24.9.0\"\n string-length \"^2.0.0\"\n\njest-worker@^24.6.0, jest-worker@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest-worker\u002F-\u002Fjest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5\"\n integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX\u002FHrAoKEKz3uUPzSvKs9A3qR4iVw==\n dependencies:\n merge-stream \"^2.0.0\"\n supports-color \"^6.1.0\"\n\njest@24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjest\u002F-\u002Fjest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171\"\n integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86\u002F0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==\n dependencies:\n import-local \"^2.0.0\"\n jest-cli \"^24.9.0\"\n\njs-levenshtein@^1.1.3:\n version \"1.1.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjs-levenshtein\u002F-\u002Fjs-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d\"\n integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==\n\n\"js-tokens@^3.0.0 || ^4.0.0\", js-tokens@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjs-tokens\u002F-\u002Fjs-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499\"\n integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW\u002FPKQ==\n\njs-tokens@^3.0.2:\n version \"3.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjs-tokens\u002F-\u002Fjs-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b\"\n integrity sha1-mGbfOVECEw449\u002FmWvOtlRDIJwls=\n\njs-yaml@^3.13.1:\n version \"3.13.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjs-yaml\u002F-\u002Fjs-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847\"\n integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==\n dependencies:\n argparse \"^1.0.7\"\n esprima \"^4.0.0\"\n\njsbn@~0.1.0:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjsbn\u002F-\u002Fjsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513\"\n integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=\n\njsdom@^11.5.1:\n version \"11.12.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjsdom\u002F-\u002Fjsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8\"\n integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty\u002FLXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT\u002FFjw==\n dependencies:\n abab \"^2.0.0\"\n acorn \"^5.5.3\"\n acorn-globals \"^4.1.0\"\n array-equal \"^1.0.0\"\n cssom \"\u003E= 0.3.2 \u003C 0.4.0\"\n cssstyle \"^1.0.0\"\n data-urls \"^1.0.0\"\n domexception \"^1.0.1\"\n escodegen \"^1.9.1\"\n html-encoding-sniffer \"^1.0.2\"\n left-pad \"^1.3.0\"\n nwsapi \"^2.0.7\"\n parse5 \"4.0.0\"\n pn \"^1.1.0\"\n request \"^2.87.0\"\n request-promise-native \"^1.0.5\"\n sax \"^1.2.4\"\n symbol-tree \"^3.2.2\"\n tough-cookie \"^2.3.4\"\n w3c-hr-time \"^1.0.1\"\n webidl-conversions \"^4.0.2\"\n whatwg-encoding \"^1.0.3\"\n whatwg-mimetype \"^2.1.0\"\n whatwg-url \"^6.4.1\"\n ws \"^5.2.0\"\n xml-name-validator \"^3.0.0\"\n\njsdom@^14.0.0:\n version \"14.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjsdom\u002F-\u002Fjsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b\"\n integrity sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==\n dependencies:\n abab \"^2.0.0\"\n acorn \"^6.0.4\"\n acorn-globals \"^4.3.0\"\n array-equal \"^1.0.0\"\n cssom \"^0.3.4\"\n cssstyle \"^1.1.1\"\n data-urls \"^1.1.0\"\n domexception \"^1.0.1\"\n escodegen \"^1.11.0\"\n html-encoding-sniffer \"^1.0.2\"\n nwsapi \"^2.1.3\"\n parse5 \"5.1.0\"\n pn \"^1.1.0\"\n request \"^2.88.0\"\n request-promise-native \"^1.0.5\"\n saxes \"^3.1.9\"\n symbol-tree \"^3.2.2\"\n tough-cookie \"^2.5.0\"\n w3c-hr-time \"^1.0.1\"\n w3c-xmlserializer \"^1.1.2\"\n webidl-conversions \"^4.0.2\"\n whatwg-encoding \"^1.0.5\"\n whatwg-mimetype \"^2.3.0\"\n whatwg-url \"^7.0.0\"\n ws \"^6.1.2\"\n xml-name-validator \"^3.0.0\"\n\njsesc@^2.5.1:\n version \"2.5.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjsesc\u002F-\u002Fjsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4\"\n integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6\u002FCy2lbNdPlZBpuQHXE63gA==\n\njsesc@~0.5.0:\n version \"0.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjsesc\u002F-\u002Fjsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d\"\n integrity sha1-597mbjXW\u002FBb3EP6R1c9p9w8IkR0=\n\njson-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjson-parse-better-errors\u002F-\u002Fjson-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9\"\n integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==\n\njson-schema-traverse@^0.4.1:\n version \"0.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjson-schema-traverse\u002F-\u002Fjson-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660\"\n integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU\u002FJxzk629Brsab\u002FmMiHQti9wMP+845RPe3Vg==\n\njson-schema@0.2.3:\n version \"0.2.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjson-schema\u002F-\u002Fjson-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13\"\n integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=\n\njson-stable-stringify-without-jsonify@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjson-stable-stringify-without-jsonify\u002F-\u002Fjson-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651\"\n integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=\n\njson-stable-stringify@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjson-stable-stringify\u002F-\u002Fjson-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af\"\n integrity sha1-mnWdOcXy\u002F1A\u002F1TAGRu1EX4jE+a8=\n dependencies:\n jsonify \"~0.0.0\"\n\njson-stringify-safe@~5.0.1:\n version \"5.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjson-stringify-safe\u002F-\u002Fjson-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb\"\n integrity sha1-Epai1Y\u002FUXxmg9s4B1lcB4sc1tus=\n\njson3@^3.3.2:\n version \"3.3.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjson3\u002F-\u002Fjson3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81\"\n integrity sha512-c7\u002F8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu\u002Fe7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==\n\njson5@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjson5\u002F-\u002Fjson5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe\"\n integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd\u002F1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==\n dependencies:\n minimist \"^1.2.0\"\n\njson5@^2.1.0:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjson5\u002F-\u002Fjson5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6\"\n integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==\n dependencies:\n minimist \"^1.2.0\"\n\njsonfile@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjsonfile\u002F-\u002Fjsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb\"\n integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=\n optionalDependencies:\n graceful-fs \"^4.1.6\"\n\njsonify@~0.0.0:\n version \"0.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjsonify\u002F-\u002Fjsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73\"\n integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=\n\njsprim@^1.2.2:\n version \"1.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjsprim\u002F-\u002Fjsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2\"\n integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=\n dependencies:\n assert-plus \"1.0.0\"\n extsprintf \"1.3.0\"\n json-schema \"0.2.3\"\n verror \"1.10.0\"\n\njsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1:\n version \"2.2.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fjsx-ast-utils\u002F-\u002Fjsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f\"\n integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA==\n dependencies:\n array-includes \"^3.0.3\"\n object.assign \"^4.1.0\"\n\nkillable@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fkillable\u002F-\u002Fkillable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892\"\n integrity sha512-LzqtLKlUwirEUyl\u002FnicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW\u002FvuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==\n\nkind-of@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fkind-of\u002F-\u002Fkind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5\"\n integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=\n dependencies:\n is-buffer \"^1.0.2\"\n\nkind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:\n version \"3.2.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fkind-of\u002F-\u002Fkind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64\"\n integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=\n dependencies:\n is-buffer \"^1.1.5\"\n\nkind-of@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fkind-of\u002F-\u002Fkind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57\"\n integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=\n dependencies:\n is-buffer \"^1.1.5\"\n\nkind-of@^5.0.0:\n version \"5.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fkind-of\u002F-\u002Fkind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d\"\n integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7\u002FwOcfdRHaZ7VWtqCztfHri\u002F++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==\n\nkind-of@^6.0.0, kind-of@^6.0.2:\n version \"6.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fkind-of\u002F-\u002Fkind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051\"\n integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==\n\nkleur@^3.0.3:\n version \"3.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fkleur\u002F-\u002Fkleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e\"\n integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==\n\nlast-call-webpack-plugin@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flast-call-webpack-plugin\u002F-\u002Flast-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555\"\n integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e\u002FSQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==\n dependencies:\n lodash \"^4.17.5\"\n webpack-sources \"^1.1.0\"\n\nlazy-cache@^0.2.3:\n version \"0.2.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flazy-cache\u002F-\u002Flazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65\"\n integrity sha1-f+3fLctu23fRHvHRF6tf\u002FfCrG2U=\n\nlazy-cache@^1.0.3:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flazy-cache\u002F-\u002Flazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e\"\n integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=\n\nlcid@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flcid\u002F-\u002Flcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf\"\n integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH\u002FY0Zc96xWsPcoDKeA==\n dependencies:\n invert-kv \"^2.0.0\"\n\nleft-pad@^1.3.0:\n version \"1.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fleft-pad\u002F-\u002Fleft-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e\"\n integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy\u002FaVx2HrNcqQGsdot8ghrjyrvMCoEA==\n\nleven@^3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fleven\u002F-\u002Fleven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2\"\n integrity sha512-qsda+H8jTaUaN\u002Fx5vzW2rzc+8Rw4TAQ\u002F4KjB46IwK5VH+IlVeeeje\u002FEoZRpiXvIqjFgK84QffqPztGI3VBLG1A==\n\nlevn@^0.3.0, levn@~0.3.0:\n version \"0.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flevn\u002F-\u002Flevn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee\"\n integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=\n dependencies:\n prelude-ls \"~1.1.2\"\n type-check \"~0.3.2\"\n\nlines-and-columns@^1.1.6:\n version \"1.1.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flines-and-columns\u002F-\u002Flines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00\"\n integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ\u002FwA=\n\nload-json-file@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fload-json-file\u002F-\u002Fload-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8\"\n integrity sha1-eUfkIUmvgNaWy\u002FeXvKq8\u002Fh\u002FinKg=\n dependencies:\n graceful-fs \"^4.1.2\"\n parse-json \"^2.2.0\"\n pify \"^2.0.0\"\n strip-bom \"^3.0.0\"\n\nload-json-file@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fload-json-file\u002F-\u002Fload-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b\"\n integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=\n dependencies:\n graceful-fs \"^4.1.2\"\n parse-json \"^4.0.0\"\n pify \"^3.0.0\"\n strip-bom \"^3.0.0\"\n\nloader-fs-cache@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Floader-fs-cache\u002F-\u002Floader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086\"\n integrity sha512-70IzT\u002F0\u002FL+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3\u002FhgYpySqI9PwsVRHHFja0LfEmsx9X2Cw==\n dependencies:\n find-cache-dir \"^0.1.1\"\n mkdirp \"0.5.1\"\n\nloader-runner@^2.4.0:\n version \"2.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Floader-runner\u002F-\u002Floader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357\"\n integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9\u002F4Fc3wW4LVcB5DmGflaRw==\n\nloader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3:\n version \"1.2.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Floader-utils\u002F-\u002Floader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7\"\n integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==\n dependencies:\n big.js \"^5.2.2\"\n emojis-list \"^2.0.0\"\n json5 \"^1.0.1\"\n\nlocate-path@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flocate-path\u002F-\u002Flocate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e\"\n integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=\n dependencies:\n p-locate \"^2.0.0\"\n path-exists \"^3.0.0\"\n\nlocate-path@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flocate-path\u002F-\u002Flocate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e\"\n integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220\u002FmaaRsrec1G65A==\n dependencies:\n p-locate \"^3.0.0\"\n path-exists \"^3.0.0\"\n\nlocate-path@^5.0.0:\n version \"5.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flocate-path\u002F-\u002Flocate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0\"\n integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==\n dependencies:\n p-locate \"^4.1.0\"\n\nlodash._reinterpolate@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flodash._reinterpolate\u002F-\u002Flodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d\"\n integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=\n\nlodash.memoize@^4.1.2:\n version \"4.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flodash.memoize\u002F-\u002Flodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe\"\n integrity sha1-vMbEmkKihA7Zl\u002FMj6tpezRguC\u002F4=\n\nlodash.sortby@^4.7.0:\n version \"4.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flodash.sortby\u002F-\u002Flodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438\"\n integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=\n\nlodash.template@^4.4.0, lodash.template@^4.5.0:\n version \"4.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flodash.template\u002F-\u002Flodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab\"\n integrity sha512-84vYFxIkmidUiFxidA\u002FKjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T\u002FA==\n dependencies:\n lodash._reinterpolate \"^3.0.0\"\n lodash.templatesettings \"^4.0.0\"\n\nlodash.templatesettings@^4.0.0:\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flodash.templatesettings\u002F-\u002Flodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33\"\n integrity sha512-stgLz+i3Aa9mZgnjr\u002FO+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==\n dependencies:\n lodash._reinterpolate \"^3.0.0\"\n\nlodash.unescape@4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flodash.unescape\u002F-\u002Flodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c\"\n integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR\u002FJw=\n\nlodash.uniq@^4.5.0:\n version \"4.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flodash.uniq\u002F-\u002Flodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773\"\n integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=\n\n\"lodash@\u003E=3.5 \u003C5\", lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5:\n version \"4.17.15\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flodash\u002F-\u002Flodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548\"\n integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==\n\nloglevel@^1.4.1:\n version \"1.6.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Floglevel\u002F-\u002Floglevel-1.6.4.tgz#f408f4f006db8354d0577dcf6d33485b3cb90d56\"\n integrity sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo\u002FXffOGwZtRpUhr8dTH\u002Fx2oCMmEoIU0Zwm3ZauhvYD17g==\n\nloose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0:\n version \"1.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Floose-envify\u002F-\u002Floose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf\"\n integrity sha512-lyuxPGr\u002FWfhrlem2CL\u002FUcnUc1zcqKAImBDzukY7Y5F\u002FyQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\n dependencies:\n js-tokens \"^3.0.0 || ^4.0.0\"\n\nlower-case@^1.1.1:\n version \"1.1.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flower-case\u002F-\u002Flower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac\"\n integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=\n\nlru-cache@^4.0.1:\n version \"4.1.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flru-cache\u002F-\u002Flru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd\"\n integrity sha512-sWZlbEP2OsHNkXrMl5GYk\u002FjKk70MBng6UU4YI\u002FqGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==\n dependencies:\n pseudomap \"^1.0.2\"\n yallist \"^2.1.2\"\n\nlru-cache@^5.1.1:\n version \"5.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Flru-cache\u002F-\u002Flru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920\"\n integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk\u002FFviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\n dependencies:\n yallist \"^3.0.2\"\n\nmake-dir@^2.0.0, make-dir@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmake-dir\u002F-\u002Fmake-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5\"\n integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy\u002FlSO57ilRixqk0vDmtRA==\n dependencies:\n pify \"^4.0.1\"\n semver \"^5.6.0\"\n\nmakeerror@1.0.x:\n version \"1.0.11\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmakeerror\u002F-\u002Fmakeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c\"\n integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=\n dependencies:\n tmpl \"1.0.x\"\n\nmamacro@^0.0.3:\n version \"0.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmamacro\u002F-\u002Fmamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4\"\n integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==\n\nmap-age-cleaner@^0.1.1:\n version \"0.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmap-age-cleaner\u002F-\u002Fmap-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a\"\n integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z\u002FDJSz7hrs0w3w==\n dependencies:\n p-defer \"^1.0.0\"\n\nmap-cache@^0.2.2:\n version \"0.2.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmap-cache\u002F-\u002Fmap-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf\"\n integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=\n\nmap-visit@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmap-visit\u002F-\u002Fmap-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f\"\n integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=\n dependencies:\n object-visit \"^1.0.0\"\n\nmd5.js@^1.3.4:\n version \"1.3.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmd5.js\u002F-\u002Fmd5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f\"\n integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==\n dependencies:\n hash-base \"^3.0.0\"\n inherits \"^2.0.1\"\n safe-buffer \"^5.1.2\"\n\nmdn-data@2.0.4:\n version \"2.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmdn-data\u002F-\u002Fmdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b\"\n integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==\n\nmedia-typer@0.3.0:\n version \"0.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmedia-typer\u002F-\u002Fmedia-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748\"\n integrity sha1-hxDXrwqmJvj\u002F+hzgAWhUUmMlV0g=\n\nmem@^4.0.0:\n version \"4.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmem\u002F-\u002Fmem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178\"\n integrity sha512-qX2bG48pTqYRVmDB37rn\u002F6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s\u002Fw==\n dependencies:\n map-age-cleaner \"^0.1.1\"\n mimic-fn \"^2.0.0\"\n p-is-promise \"^2.0.0\"\n\nmemory-fs@^0.4.1:\n version \"0.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmemory-fs\u002F-\u002Fmemory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552\"\n integrity sha1-OpoguEYlI+RHz7x+i7gO1me\u002FxVI=\n dependencies:\n errno \"^0.1.3\"\n readable-stream \"^2.0.1\"\n\nmemory-fs@^0.5.0:\n version \"0.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmemory-fs\u002F-\u002Fmemory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c\"\n integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj\u002FMtHwGIbB1QaK\u002FdunyjWteJzmkpd7ooeWg10T7GA==\n dependencies:\n errno \"^0.1.3\"\n readable-stream \"^2.0.1\"\n\nmemorystream@^0.3.1:\n version \"0.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmemorystream\u002F-\u002Fmemorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2\"\n integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI=\n\nmerge-deep@^3.0.2:\n version \"3.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmerge-deep\u002F-\u002Fmerge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2\"\n integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==\n dependencies:\n arr-union \"^3.1.0\"\n clone-deep \"^0.2.4\"\n kind-of \"^3.0.2\"\n\nmerge-descriptors@1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmerge-descriptors\u002F-\u002Fmerge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61\"\n integrity sha1-sAqqVW3YtEVoFQ7J0blT8\u002FkMu2E=\n\nmerge-stream@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmerge-stream\u002F-\u002Fmerge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60\"\n integrity sha512-abv\u002FqOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol\u002FdoWcdA4ZqsWQ8ENrFKkd67Mfpo\u002FLovbIUsbt3w==\n\nmerge2@^1.2.3:\n version \"1.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmerge2\u002F-\u002Fmerge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81\"\n integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==\n\nmethods@~1.1.2:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmethods\u002F-\u002Fmethods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee\"\n integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua\u002FO4=\n\nmicroevent.ts@~0.1.1:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmicroevent.ts\u002F-\u002Fmicroevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0\"\n integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW\u002FPxQW53wM0S6OR1JHNa2g==\n\nmicromatch@^3.1.10, micromatch@^3.1.4:\n version \"3.1.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmicromatch\u002F-\u002Fmicromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23\"\n integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==\n dependencies:\n arr-diff \"^4.0.0\"\n array-unique \"^0.3.2\"\n braces \"^2.3.1\"\n define-property \"^2.0.2\"\n extend-shallow \"^3.0.2\"\n extglob \"^2.0.4\"\n fragment-cache \"^0.2.1\"\n kind-of \"^6.0.2\"\n nanomatch \"^1.2.9\"\n object.pick \"^1.3.0\"\n regex-not \"^1.0.0\"\n snapdragon \"^0.8.1\"\n to-regex \"^3.0.2\"\n\nmiller-rabin@^4.0.0:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmiller-rabin\u002F-\u002Fmiller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d\"\n integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O\u002FOxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==\n dependencies:\n bn.js \"^4.0.0\"\n brorand \"^1.0.1\"\n\nmime-db@1.40.0:\n version \"1.40.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmime-db\u002F-\u002Fmime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32\"\n integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln\u002FqWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==\n\n\"mime-db@\u003E= 1.40.0 \u003C 2\":\n version \"1.42.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmime-db\u002F-\u002Fmime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac\"\n integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==\n\nmime-db@~1.33.0:\n version \"1.33.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmime-db\u002F-\u002Fmime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db\"\n integrity sha512-BHJ\u002FEKruNIqJf\u002FQahvxwQZXKygOQ256myeN\u002FEw+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==\n\nmime-types@2.1.18:\n version \"2.1.18\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmime-types\u002F-\u002Fmime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8\"\n integrity sha512-lc\u002Faahn+t4\u002FSWV\u002FqcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO\u002FSI2KVX26bx+En+zhM8g8hQ==\n dependencies:\n mime-db \"~1.33.0\"\n\nmime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:\n version \"2.1.24\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmime-types\u002F-\u002Fmime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81\"\n integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==\n dependencies:\n mime-db \"1.40.0\"\n\nmime@1.6.0:\n version \"1.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmime\u002F-\u002Fmime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1\"\n integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==\n\nmime@^2.4.4:\n version \"2.4.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmime\u002F-\u002Fmime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5\"\n integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==\n\nmimic-fn@^1.0.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmimic-fn\u002F-\u002Fmimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022\"\n integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3\u002Fj+BoVAb+a5G6YDPW3M5HOdMWQ==\n\nmimic-fn@^2.0.0, mimic-fn@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmimic-fn\u002F-\u002Fmimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b\"\n integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH\u002FsqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==\n\nmin-indent@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmin-indent\u002F-\u002Fmin-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256\"\n integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=\n\nmini-create-react-context@^0.3.0:\n version \"0.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmini-create-react-context\u002F-\u002Fmini-create-react-context-0.3.2.tgz#79fc598f283dd623da8e088b05db8cddab250189\"\n integrity sha512-2v+OeetEyliMt5VHMXsBhABoJ0\u002FM4RCe7fatd\u002FfBy6SMiKazUSEt3gxxypfnk2SHMkdBYvorHRoQxuGoiwbzAw==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.4.0\"\n gud \"^1.0.0\"\n tiny-warning \"^1.0.2\"\n\nmini-css-extract-plugin@0.8.0:\n version \"0.8.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmini-css-extract-plugin\u002F-\u002Fmini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1\"\n integrity sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf\u002FmCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==\n dependencies:\n loader-utils \"^1.1.0\"\n normalize-url \"1.9.1\"\n schema-utils \"^1.0.0\"\n webpack-sources \"^1.1.0\"\n\nminimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fminimalistic-assert\u002F-\u002Fminimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7\"\n integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH\u002F8\u002FIm3yEHQP4b67cXlD\u002FQr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00\u002FA==\n\nminimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fminimalistic-crypto-utils\u002F-\u002Fminimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a\"\n integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=\n\nminimatch@3.0.4, minimatch@^3.0.4:\n version \"3.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fminimatch\u002F-\u002Fminimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083\"\n integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==\n dependencies:\n brace-expansion \"^1.1.7\"\n\nminimist@0.0.8:\n version \"0.0.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fminimist\u002F-\u002Fminimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d\"\n integrity sha1-hX\u002FKv8M5fSYluCKCYuhqp6ARsF0=\n\nminimist@^1.1.1, minimist@^1.2.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fminimist\u002F-\u002Fminimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284\"\n integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=\n\nminimist@~0.0.1:\n version \"0.0.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fminimist\u002F-\u002Fminimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf\"\n integrity sha1-3j+YVD2\u002Flggr5IrRoMfNqDYwHc8=\n\nminipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:\n version \"2.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fminipass\u002F-\u002Fminipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6\"\n integrity sha512-wxfUjg9WebH+CUDX\u002FCdbRlh5SmfZiy\u002FhpkxaRI16Y9W56Pa75sWgd\u002FrvFilSgrauD9NyFymP\u002F+JFV3KwzIsJeg==\n dependencies:\n safe-buffer \"^5.1.2\"\n yallist \"^3.0.0\"\n\nminizlib@^1.2.1:\n version \"1.3.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fminizlib\u002F-\u002Fminizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d\"\n integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma\u002FiOwwRDsdQoePpoX56\u002F8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==\n dependencies:\n minipass \"^2.9.0\"\n\nmississippi@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmississippi\u002F-\u002Fmississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022\"\n integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+\u002F2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss\u002F\u002FrHnWryupDrgLvmSkA==\n dependencies:\n concat-stream \"^1.5.0\"\n duplexify \"^3.4.2\"\n end-of-stream \"^1.1.0\"\n flush-write-stream \"^1.0.0\"\n from2 \"^2.1.0\"\n parallel-transform \"^1.1.0\"\n pump \"^3.0.0\"\n pumpify \"^1.3.3\"\n stream-each \"^1.1.0\"\n through2 \"^2.0.0\"\n\nmixin-deep@^1.2.0:\n version \"1.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmixin-deep\u002F-\u002Fmixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566\"\n integrity sha512-WRoDn\u002F\u002FmXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==\n dependencies:\n for-in \"^1.0.2\"\n is-extendable \"^1.0.1\"\n\nmixin-object@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmixin-object\u002F-\u002Fmixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e\"\n integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=\n dependencies:\n for-in \"^0.1.3\"\n is-extendable \"^0.1.1\"\n\nmkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:\n version \"0.5.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmkdirp\u002F-\u002Fmkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903\"\n integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=\n dependencies:\n minimist \"0.0.8\"\n\nmove-concurrently@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmove-concurrently\u002F-\u002Fmove-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92\"\n integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=\n dependencies:\n aproba \"^1.1.1\"\n copy-concurrently \"^1.0.0\"\n fs-write-stream-atomic \"^1.0.8\"\n mkdirp \"^0.5.1\"\n rimraf \"^2.5.4\"\n run-queue \"^1.0.3\"\n\nms@2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fms\u002F-\u002Fms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8\"\n integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=\n\nms@2.1.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fms\u002F-\u002Fms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a\"\n integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z\u002FEfhWI4gl1Hwq8B\u002FGmY\u002F0oXZ6nF8hDVesS\u002FFpnYaD\u002FkOWhYQvyg==\n\nms@^2.1.1:\n version \"2.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fms\u002F-\u002Fms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009\"\n integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk\u002FRyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==\n\nmulticast-dns-service-types@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmulticast-dns-service-types\u002F-\u002Fmulticast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901\"\n integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=\n\nmulticast-dns@^6.0.1:\n version \"6.2.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmulticast-dns\u002F-\u002Fmulticast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229\"\n integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==\n dependencies:\n dns-packet \"^1.3.1\"\n thunky \"^1.0.2\"\n\nmute-stream@0.0.7:\n version \"0.0.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmute-stream\u002F-\u002Fmute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab\"\n integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=\n\nmute-stream@0.0.8:\n version \"0.0.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fmute-stream\u002F-\u002Fmute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d\"\n integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==\n\nnan@^2.12.1:\n version \"2.14.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnan\u002F-\u002Fnan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c\"\n integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==\n\nnanomatch@^1.2.9:\n version \"1.2.13\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnanomatch\u002F-\u002Fnanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119\"\n integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb\u002Fh+X94VXzI64rKFHYImXSvdwGGCmwOqCA==\n dependencies:\n arr-diff \"^4.0.0\"\n array-unique \"^0.3.2\"\n define-property \"^2.0.2\"\n extend-shallow \"^3.0.2\"\n fragment-cache \"^0.2.1\"\n is-windows \"^1.0.2\"\n kind-of \"^6.0.2\"\n object.pick \"^1.3.0\"\n regex-not \"^1.0.0\"\n snapdragon \"^0.8.1\"\n to-regex \"^3.0.1\"\n\nnatural-compare@^1.4.0:\n version \"1.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnatural-compare\u002F-\u002Fnatural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7\"\n integrity sha1-Sr6\u002F7tdUHywnrPspvbvRXI1bpPc=\n\nneedle@^2.2.1:\n version \"2.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fneedle\u002F-\u002Fneedle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c\"\n integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW\u002FOnhy4nUKR\u002FlVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==\n dependencies:\n debug \"^3.2.6\"\n iconv-lite \"^0.4.4\"\n sax \"^1.2.4\"\n\nnegotiator@0.6.2:\n version \"0.6.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnegotiator\u002F-\u002Fnegotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb\"\n integrity sha512-hZXc7K2e+PgeI1eDBe\u002F10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==\n\nneo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1:\n version \"2.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fneo-async\u002F-\u002Fneo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c\"\n integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==\n\nnext-tick@~1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnext-tick\u002F-\u002Fnext-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c\"\n integrity sha1-yobR\u002FogoFpsBICCOPchCS524NCw=\n\nnice-try@^1.0.4:\n version \"1.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnice-try\u002F-\u002Fnice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366\"\n integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==\n\nno-case@^2.2.0:\n version \"2.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fno-case\u002F-\u002Fno-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac\"\n integrity sha512-rmTZ9kz+f3rCvK2TD1Ue\u002FoZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==\n dependencies:\n lower-case \"^1.1.1\"\n\nnode-forge@0.9.0:\n version \"0.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnode-forge\u002F-\u002Fnode-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579\"\n integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs\u002FaYl5V\u002FJCIaHVUKKQ==\n\nnode-int64@^0.4.0:\n version \"0.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnode-int64\u002F-\u002Fnode-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b\"\n integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=\n\nnode-libs-browser@^2.2.1:\n version \"2.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnode-libs-browser\u002F-\u002Fnode-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425\"\n integrity sha512-h\u002FzcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==\n dependencies:\n assert \"^1.1.1\"\n browserify-zlib \"^0.2.0\"\n buffer \"^4.3.0\"\n console-browserify \"^1.1.0\"\n constants-browserify \"^1.0.0\"\n crypto-browserify \"^3.11.0\"\n domain-browser \"^1.1.1\"\n events \"^3.0.0\"\n https-browserify \"^1.0.0\"\n os-browserify \"^0.3.0\"\n path-browserify \"0.0.1\"\n process \"^0.11.10\"\n punycode \"^1.2.4\"\n querystring-es3 \"^0.2.0\"\n readable-stream \"^2.3.3\"\n stream-browserify \"^2.0.1\"\n stream-http \"^2.7.2\"\n string_decoder \"^1.0.0\"\n timers-browserify \"^2.0.4\"\n tty-browserify \"0.0.0\"\n url \"^0.11.0\"\n util \"^0.11.0\"\n vm-browserify \"^1.0.1\"\n\nnode-modules-regexp@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnode-modules-regexp\u002F-\u002Fnode-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40\"\n integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=\n\nnode-notifier@^5.4.2:\n version \"5.4.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnode-notifier\u002F-\u002Fnode-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50\"\n integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6\u002FMzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==\n dependencies:\n growly \"^1.3.0\"\n is-wsl \"^1.1.0\"\n semver \"^5.5.0\"\n shellwords \"^0.1.1\"\n which \"^1.3.0\"\n\nnode-pre-gyp@^0.12.0:\n version \"0.12.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnode-pre-gyp\u002F-\u002Fnode-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149\"\n integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW\u002FCndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz\u002F1A==\n dependencies:\n detect-libc \"^1.0.2\"\n mkdirp \"^0.5.1\"\n needle \"^2.2.1\"\n nopt \"^4.0.1\"\n npm-packlist \"^1.1.6\"\n npmlog \"^4.0.2\"\n rc \"^1.2.7\"\n rimraf \"^2.6.1\"\n semver \"^5.3.0\"\n tar \"^4\"\n\nnode-releases@^1.1.29, node-releases@^1.1.38:\n version \"1.1.39\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnode-releases\u002F-\u002Fnode-releases-1.1.39.tgz#c1011f30343aff5b633153b10ff691d278d08e8d\"\n integrity sha512-8MRC\u002FErwNCHOlAFycy9OPca46fQYUjbJRDcZTHVWIGXIjYLM73k70vv3WkYutVnM4cCo4hE0MqBVVZjP6vjISA==\n dependencies:\n semver \"^6.3.0\"\n\nnopt@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnopt\u002F-\u002Fnopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d\"\n integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=\n dependencies:\n abbrev \"1\"\n osenv \"^0.1.4\"\n\nnormalize-package-data@^2.3.2, normalize-package-data@^2.5.0:\n version \"2.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnormalize-package-data\u002F-\u002Fnormalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8\"\n integrity sha512-\u002F5CMN3T0R4XTj4DcGaexo+roZSdSFW\u002F0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==\n dependencies:\n hosted-git-info \"^2.1.4\"\n resolve \"^1.10.0\"\n semver \"2 || 3 || 4 || 5\"\n validate-npm-package-license \"^3.0.1\"\n\nnormalize-path@^2.1.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnormalize-path\u002F-\u002Fnormalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9\"\n integrity sha1-GrKLVW4Zg2Oowab35vogE3\u002Fmrtk=\n dependencies:\n remove-trailing-separator \"^1.0.1\"\n\nnormalize-path@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnormalize-path\u002F-\u002Fnormalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65\"\n integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb\u002FmD4WYojCRwcwLA==\n\nnormalize-range@^0.1.2:\n version \"0.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnormalize-range\u002F-\u002Fnormalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942\"\n integrity sha1-LRDAa9\u002FTEuqXd2laTShDlFa3WUI=\n\nnormalize-url@1.9.1:\n version \"1.9.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnormalize-url\u002F-\u002Fnormalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c\"\n integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=\n dependencies:\n object-assign \"^4.0.1\"\n prepend-http \"^1.0.0\"\n query-string \"^4.1.0\"\n sort-keys \"^1.0.0\"\n\nnormalize-url@^3.0.0:\n version \"3.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnormalize-url\u002F-\u002Fnormalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559\"\n integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2\u002FPADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==\n\nnormalize.css@^8.0.1:\n version \"8.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnormalize.css\u002F-\u002Fnormalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3\"\n integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==\n\nnpm-bundled@^1.0.1:\n version \"1.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnpm-bundled\u002F-\u002Fnpm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd\"\n integrity sha512-8\u002FJCaftHwbd\u002F\u002Fk6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==\n\nnpm-packlist@^1.1.6:\n version \"1.4.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnpm-packlist\u002F-\u002Fnpm-packlist-1.4.6.tgz#53ba3ed11f8523079f1457376dd379ee4ea42ff4\"\n integrity sha512-u65uQdb+qwtGvEJh\u002FDgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F\u002FEFjM+BVHXl7JJlsdG8A64M0XI8FI\u002FIOlg==\n dependencies:\n ignore-walk \"^3.0.1\"\n npm-bundled \"^1.0.1\"\n\nnpm-run-all@^4.1.5:\n version \"4.1.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnpm-run-all\u002F-\u002Fnpm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba\"\n integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk\u002FcF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==\n dependencies:\n ansi-styles \"^3.2.1\"\n chalk \"^2.4.1\"\n cross-spawn \"^6.0.5\"\n memorystream \"^0.3.1\"\n minimatch \"^3.0.4\"\n pidtree \"^0.3.0\"\n read-pkg \"^3.0.0\"\n shell-quote \"^1.6.1\"\n string.prototype.padend \"^3.0.0\"\n\nnpm-run-path@^2.0.0:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnpm-run-path\u002F-\u002Fnpm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f\"\n integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=\n dependencies:\n path-key \"^2.0.0\"\n\nnpmlog@^4.0.2:\n version \"4.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnpmlog\u002F-\u002Fnpmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b\"\n integrity sha512-2uUqazuKlTaSI\u002FdC8AzicUck7+IrEaOnN\u002Fe0jd3Xtt1KcGpwx30v50mL7oPyr\u002Fh9bL3E4aZccVwpwP+5W9Vjkg==\n dependencies:\n are-we-there-yet \"~1.1.2\"\n console-control-strings \"~1.1.0\"\n gauge \"~2.7.3\"\n set-blocking \"~2.0.0\"\n\nnth-check@^1.0.2, nth-check@~1.0.1:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnth-check\u002F-\u002Fnth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c\"\n integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX\u002Fpk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==\n dependencies:\n boolbase \"~1.0.0\"\n\nnum2fraction@^1.2.2:\n version \"1.2.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnum2fraction\u002F-\u002Fnum2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede\"\n integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=\n\nnumber-is-nan@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnumber-is-nan\u002F-\u002Fnumber-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d\"\n integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=\n\nnwsapi@^2.0.7, nwsapi@^2.1.3:\n version \"2.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fnwsapi\u002F-\u002Fnwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7\"\n integrity sha512-h2AatdwYH+JHiZpv7pt\u002FgSX1XoRGb7L\u002FqSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1\u002F\u002FvHK7hQ==\n\noauth-sign@~0.9.0:\n version \"0.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Foauth-sign\u002F-\u002Foauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455\"\n integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc\u002FmRDzZQ==\n\nobject-assign@4.1.1, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:\n version \"4.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject-assign\u002F-\u002Fobject-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863\"\n integrity sha1-IQmtx5ZYh8\u002FAXLvUQsrIv7s2CGM=\n\nobject-copy@^0.1.0:\n version \"0.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject-copy\u002F-\u002Fobject-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c\"\n integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=\n dependencies:\n copy-descriptor \"^0.1.0\"\n define-property \"^0.2.5\"\n kind-of \"^3.0.3\"\n\nobject-hash@^1.3.1:\n version \"1.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject-hash\u002F-\u002Fobject-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df\"\n integrity sha512-OSuu\u002FpU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==\n\nobject-inspect@^1.6.0:\n version \"1.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject-inspect\u002F-\u002Fobject-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b\"\n integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==\n\nobject-is@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject-is\u002F-\u002Fobject-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6\"\n integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=\n\nobject-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject-keys\u002F-\u002Fobject-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e\"\n integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\n\nobject-path@0.11.4:\n version \"0.11.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject-path\u002F-\u002Fobject-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949\"\n integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=\n\nobject-visit@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject-visit\u002F-\u002Fobject-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb\"\n integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=\n dependencies:\n isobject \"^3.0.0\"\n\nobject.assign@^4.1.0:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject.assign\u002F-\u002Fobject.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da\"\n integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC\u002FeR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==\n dependencies:\n define-properties \"^1.1.2\"\n function-bind \"^1.1.1\"\n has-symbols \"^1.0.0\"\n object-keys \"^1.0.11\"\n\nobject.entries@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject.entries\u002F-\u002Fobject.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519\"\n integrity sha512-l+H6EQ8qzGRxbkHOd5I\u002FaHRhHDKoQXQ8g0BYt4uSweQU1\u002FJ6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==\n dependencies:\n define-properties \"^1.1.3\"\n es-abstract \"^1.12.0\"\n function-bind \"^1.1.1\"\n has \"^1.0.3\"\n\nobject.fromentries@^2.0.0:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject.fromentries\u002F-\u002Fobject.fromentries-2.0.1.tgz#050f077855c7af8ae6649f45c80b16ee2d31e704\"\n integrity sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92\u002FdhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA==\n dependencies:\n define-properties \"^1.1.3\"\n es-abstract \"^1.15.0\"\n function-bind \"^1.1.1\"\n has \"^1.0.3\"\n\nobject.getownpropertydescriptors@^2.0.3:\n version \"2.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject.getownpropertydescriptors\u002F-\u002Fobject.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16\"\n integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=\n dependencies:\n define-properties \"^1.1.2\"\n es-abstract \"^1.5.1\"\n\nobject.pick@^1.3.0:\n version \"1.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject.pick\u002F-\u002Fobject.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747\"\n integrity sha1-h6EKxMFpS9Lhy\u002FU1kaZhQftd10c=\n dependencies:\n isobject \"^3.0.1\"\n\nobject.values@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobject.values\u002F-\u002Fobject.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9\"\n integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==\n dependencies:\n define-properties \"^1.1.3\"\n es-abstract \"^1.12.0\"\n function-bind \"^1.1.1\"\n has \"^1.0.3\"\n\nobuf@^1.0.0, obuf@^1.1.2:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fobuf\u002F-\u002Fobuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e\"\n integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==\n\non-finished@~2.3.0:\n version \"2.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fon-finished\u002F-\u002Fon-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947\"\n integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=\n dependencies:\n ee-first \"1.1.1\"\n\non-headers@~1.0.1, on-headers@~1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fon-headers\u002F-\u002Fon-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f\"\n integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi\u002Fu8Rx+EV5\u002FW+JTWGXG8xFzevE7AjBfDqHv\u002F8vL8qQsIhHnqRkrA==\n\nonce@^1.3.0, once@^1.3.1, once@^1.4.0:\n version \"1.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fonce\u002F-\u002Fonce-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1\"\n integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=\n dependencies:\n wrappy \"1\"\n\nonetime@^2.0.0:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fonetime\u002F-\u002Fonetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4\"\n integrity sha1-BnQoIw\u002FWdEOyeUsiu6UotoZ5YtQ=\n dependencies:\n mimic-fn \"^1.0.0\"\n\nonetime@^5.1.0:\n version \"5.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fonetime\u002F-\u002Fonetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5\"\n integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==\n dependencies:\n mimic-fn \"^2.1.0\"\n\nopen@^6.3.0:\n version \"6.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fopen\u002F-\u002Fopen-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9\"\n integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==\n dependencies:\n is-wsl \"^1.1.0\"\n\nopencollective-postinstall@^2.0.2:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fopencollective-postinstall\u002F-\u002Fopencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89\"\n integrity sha512-pVOEP16TrAO2\u002Ffjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==\n\nopn@^5.1.0:\n version \"5.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fopn\u002F-\u002Fopn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc\"\n integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL\u002Fz\u002FtFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T\u002FgKT4KksA==\n dependencies:\n is-wsl \"^1.1.0\"\n\noptimist@^0.6.1:\n version \"0.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Foptimist\u002F-\u002Foptimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686\"\n integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY=\n dependencies:\n minimist \"~0.0.1\"\n wordwrap \"~0.0.2\"\n\noptimize-css-assets-webpack-plugin@5.0.3:\n version \"5.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Foptimize-css-assets-webpack-plugin\u002F-\u002Foptimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572\"\n integrity sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB\u002FH5a0HTmtw+laUBxKA==\n dependencies:\n cssnano \"^4.1.10\"\n last-call-webpack-plugin \"^3.0.0\"\n\noptionator@^0.8.1, optionator@^0.8.2:\n version \"0.8.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Foptionator\u002F-\u002Foptionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64\"\n integrity sha1-NkxeQJ0\u002FTWMB1sC0wFu6UBgK62Q=\n dependencies:\n deep-is \"~0.1.3\"\n fast-levenshtein \"~2.0.4\"\n levn \"~0.3.0\"\n prelude-ls \"~1.1.2\"\n type-check \"~0.3.2\"\n wordwrap \"~1.0.0\"\n\noriginal@^1.0.0:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Foriginal\u002F-\u002Foriginal-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f\"\n integrity sha512-hyBVl6iqqUOJ8FqRe+l\u002FgS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl\u002F72EAXGyonD\u002FPFsvmVG+EvcIpliMBg==\n dependencies:\n url-parse \"^1.4.3\"\n\nos-browserify@^0.3.0:\n version \"0.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fos-browserify\u002F-\u002Fos-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27\"\n integrity sha1-hUNzx\u002FXCMVkU\u002FJv8a9gjj92h7Cc=\n\nos-homedir@^1.0.0:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fos-homedir\u002F-\u002Fos-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3\"\n integrity sha1-\u002F7xJiDNuDoM94MFox+8VISGqf7M=\n\nos-locale@^3.0.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fos-locale\u002F-\u002Fos-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a\"\n integrity sha512-Z8l3R4wYWM40\u002F52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu\u002FI309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==\n dependencies:\n execa \"^1.0.0\"\n lcid \"^2.0.0\"\n mem \"^4.0.0\"\n\nos-tmpdir@^1.0.0, os-tmpdir@~1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fos-tmpdir\u002F-\u002Fos-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274\"\n integrity sha1-u+Z0BseaqFxc\u002Fsdm\u002Flc0VV36EnQ=\n\nosenv@^0.1.4:\n version \"0.1.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fosenv\u002F-\u002Fosenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410\"\n integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis\u002F0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==\n dependencies:\n os-homedir \"^1.0.0\"\n os-tmpdir \"^1.0.0\"\n\np-defer@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-defer\u002F-\u002Fp-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c\"\n integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=\n\np-each-series@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-each-series\u002F-\u002Fp-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71\"\n integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=\n dependencies:\n p-reduce \"^1.0.0\"\n\np-finally@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-finally\u002F-\u002Fp-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae\"\n integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=\n\np-is-promise@^2.0.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-is-promise\u002F-\u002Fp-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e\"\n integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==\n\np-limit@^1.1.0:\n version \"1.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-limit\u002F-\u002Fp-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8\"\n integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS\u002FqhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==\n dependencies:\n p-try \"^1.0.0\"\n\np-limit@^2.0.0, p-limit@^2.2.0:\n version \"2.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-limit\u002F-\u002Fp-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537\"\n integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX\u002FRtKF+\u002F1OADJMVlFfEHOiMTPVyxg7mk\u002FdKa+ipdHm0OUkTvCpMTuwg==\n dependencies:\n p-try \"^2.0.0\"\n\np-locate@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-locate\u002F-\u002Fp-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43\"\n integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=\n dependencies:\n p-limit \"^1.1.0\"\n\np-locate@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-locate\u002F-\u002Fp-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4\"\n integrity sha512-x+12w\u002FTo+4GFfgJhBEpiDcLozRJGegY+Ei7\u002Fz0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==\n dependencies:\n p-limit \"^2.0.0\"\n\np-locate@^4.1.0:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-locate\u002F-\u002Fp-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07\"\n integrity sha512-R79ZZ\u002F0wAxKGu3oYMlz8jy\u002FkbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==\n dependencies:\n p-limit \"^2.2.0\"\n\np-map@^1.1.1:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-map\u002F-\u002Fp-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b\"\n integrity sha512-r6zKACMNhjPJMTl8KcFH4li\u002F\u002FgkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO\u002FpLEA==\n\np-reduce@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-reduce\u002F-\u002Fp-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa\"\n integrity sha1-GMKw3ZNqRpClKfgjH1ig\u002Fbakffo=\n\np-try@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-try\u002F-\u002Fp-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3\"\n integrity sha1-y8ec26+P1CKOE\u002FYh8rGiN8GyB7M=\n\np-try@^2.0.0:\n version \"2.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fp-try\u002F-\u002Fp-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6\"\n integrity sha512-R4nPAVTAU0B9D35\u002FGk3uJf\u002F7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==\n\npako@~1.0.5:\n version \"1.0.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpako\u002F-\u002Fpako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732\"\n integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o\u002F\u002FMbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA\u002FLOnQS8AmS1tw==\n\nparallel-transform@^1.1.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fparallel-transform\u002F-\u002Fparallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc\"\n integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy\u002FABO5ZUbGowxNCopBq\u002FOoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==\n dependencies:\n cyclist \"^1.0.1\"\n inherits \"^2.0.3\"\n readable-stream \"^2.1.5\"\n\nparam-case@2.1.x:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fparam-case\u002F-\u002Fparam-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247\"\n integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=\n dependencies:\n no-case \"^2.2.0\"\n\nparent-module@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fparent-module\u002F-\u002Fparent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2\"\n integrity sha512-GQ2EWRpQV8\u002Fo+Aw8YqtfZZPfNRWZYkbidE9k5rpl\u002FhC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\n dependencies:\n callsites \"^3.0.0\"\n\nparse-asn1@^5.0.0:\n version \"5.1.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fparse-asn1\u002F-\u002Fparse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e\"\n integrity sha512-jkMYn1dcJqF6d5CpU689bq7w\u002Fb5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==\n dependencies:\n asn1.js \"^4.0.0\"\n browserify-aes \"^1.0.0\"\n create-hash \"^1.1.0\"\n evp_bytestokey \"^1.0.0\"\n pbkdf2 \"^3.0.3\"\n safe-buffer \"^5.1.1\"\n\nparse-json@^2.2.0:\n version \"2.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fparse-json\u002F-\u002Fparse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9\"\n integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=\n dependencies:\n error-ex \"^1.2.0\"\n\nparse-json@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fparse-json\u002F-\u002Fparse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0\"\n integrity sha1-vjX1Qlvh9\u002FbHRxhPmKeIy5lHfuA=\n dependencies:\n error-ex \"^1.3.1\"\n json-parse-better-errors \"^1.0.1\"\n\nparse-json@^5.0.0:\n version \"5.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fparse-json\u002F-\u002Fparse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f\"\n integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==\n dependencies:\n \"@babel\u002Fcode-frame\" \"^7.0.0\"\n error-ex \"^1.3.1\"\n json-parse-better-errors \"^1.0.1\"\n lines-and-columns \"^1.1.6\"\n\nparse5@4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fparse5\u002F-\u002Fparse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608\"\n integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK\u002Fz0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==\n\nparse5@5.1.0:\n version \"5.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fparse5\u002F-\u002Fparse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2\"\n integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9\u002FgRQ==\n\nparseurl@~1.3.2, parseurl@~1.3.3:\n version \"1.3.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fparseurl\u002F-\u002Fparseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4\"\n integrity sha512-CiyeOxFT\u002FJZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==\n\npascalcase@^0.1.1:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpascalcase\u002F-\u002Fpascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14\"\n integrity sha1-s2PlXoAGym\u002FiF4TS2yK9FdeRfxQ=\n\npath-browserify@0.0.1:\n version \"0.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-browserify\u002F-\u002Fpath-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a\"\n integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN\u002FWs5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO\u002FlQ==\n\npath-dirname@^1.0.0:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-dirname\u002F-\u002Fpath-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0\"\n integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=\n\npath-exists@^2.0.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-exists\u002F-\u002Fpath-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b\"\n integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=\n dependencies:\n pinkie-promise \"^2.0.0\"\n\npath-exists@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-exists\u002F-\u002Fpath-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515\"\n integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=\n\npath-exists@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-exists\u002F-\u002Fpath-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3\"\n integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc\u002FZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7\u002Fw==\n\npath-is-absolute@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-is-absolute\u002F-\u002Fpath-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f\"\n integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=\n\npath-is-inside@1.0.2, path-is-inside@^1.0.1:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-is-inside\u002F-\u002Fpath-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53\"\n integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9\u002FFM=\n\npath-key@^2.0.0, path-key@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-key\u002F-\u002Fpath-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40\"\n integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=\n\npath-key@^3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-key\u002F-\u002Fpath-key-3.1.0.tgz#99a10d870a803bdd5ee6f0470e58dfcd2f9a54d3\"\n integrity sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==\n\npath-parse@^1.0.6:\n version \"1.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-parse\u002F-\u002Fpath-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c\"\n integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3\u002FTLNEJFD\u002FxZJjzyxg3KBWOzw==\n\npath-to-regexp@0.1.7:\n version \"0.1.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-to-regexp\u002F-\u002Fpath-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c\"\n integrity sha1-32BBeABfUi8V60SQ5yR6G\u002Fqmf4w=\n\npath-to-regexp@2.2.1:\n version \"2.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-to-regexp\u002F-\u002Fpath-to-regexp-2.2.1.tgz#90b617025a16381a879bc82a38d4e8bdeb2bcf45\"\n integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==\n\npath-to-regexp@^1.7.0:\n version \"1.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-to-regexp\u002F-\u002Fpath-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d\"\n integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=\n dependencies:\n isarray \"0.0.1\"\n\npath-type@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-type\u002F-\u002Fpath-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73\"\n integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=\n dependencies:\n pify \"^2.0.0\"\n\npath-type@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpath-type\u002F-\u002Fpath-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f\"\n integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ\u002F7lj1EmVIByWt1gxGkWvg==\n dependencies:\n pify \"^3.0.0\"\n\npbkdf2@^3.0.3:\n version \"3.0.17\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpbkdf2\u002F-\u002Fpbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6\"\n integrity sha512-U\u002Fil5MsrZp7mGg3mSQfn742na2T+1\u002FvHDCG5\u002FiTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==\n dependencies:\n create-hash \"^1.1.2\"\n create-hmac \"^1.1.4\"\n ripemd160 \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n sha.js \"^2.4.8\"\n\nperformance-now@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fperformance-now\u002F-\u002Fperformance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b\"\n integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=\n\npidtree@^0.3.0:\n version \"0.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpidtree\u002F-\u002Fpidtree-0.3.0.tgz#f6fada10fccc9f99bf50e90d0b23d72c9ebc2e6b\"\n integrity sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==\n\npify@^2.0.0:\n version \"2.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpify\u002F-\u002Fpify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c\"\n integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=\n\npify@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpify\u002F-\u002Fpify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176\"\n integrity sha1-5aSs0sEB\u002FfPZpNB\u002FDbxNtJ3SgXY=\n\npify@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpify\u002F-\u002Fpify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231\"\n integrity sha512-uB80kBFb\u002Ftfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==\n\npinkie-promise@^2.0.0:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpinkie-promise\u002F-\u002Fpinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa\"\n integrity sha1-ITXW36ejWMBprJsXh3YogihFD\u002Fo=\n dependencies:\n pinkie \"^2.0.0\"\n\npinkie@^2.0.0:\n version \"2.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpinkie\u002F-\u002Fpinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870\"\n integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=\n\npirates@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpirates\u002F-\u002Fpirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87\"\n integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==\n dependencies:\n node-modules-regexp \"^1.0.0\"\n\npkg-dir@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpkg-dir\u002F-\u002Fpkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4\"\n integrity sha1-ektQio1bstYp1EcFb\u002FTpyTFM89Q=\n dependencies:\n find-up \"^1.0.0\"\n\npkg-dir@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpkg-dir\u002F-\u002Fpkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b\"\n integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=\n dependencies:\n find-up \"^2.1.0\"\n\npkg-dir@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpkg-dir\u002F-\u002Fpkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3\"\n integrity sha512-\u002FE57AYkoeQ25qkxMj5PBOVgF8Kiu\u002Fh7cYS30Z5+R7WaiCCBfLq58ZI\u002FdSeaEKb9WVJV5n\u002F03QwrN3IeWIFllvw==\n dependencies:\n find-up \"^3.0.0\"\n\npkg-dir@^4.2.0:\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpkg-dir\u002F-\u002Fpkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3\"\n integrity sha512-HRDzbaKjC+AOWVXxAU\u002Fx54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu\u002FFr23EiekbtZwmh1IcIG\u002Fl\u002Fa10GQ==\n dependencies:\n find-up \"^4.0.0\"\n\npkg-up@2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpkg-up\u002F-\u002Fpkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f\"\n integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=\n dependencies:\n find-up \"^2.1.0\"\n\nplease-upgrade-node@^3.2.0:\n version \"3.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fplease-upgrade-node\u002F-\u002Fplease-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942\"\n integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1\u002FE1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==\n dependencies:\n semver-compare \"^1.0.0\"\n\npn@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpn\u002F-\u002Fpn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb\"\n integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb\u002FnA==\n\npnp-webpack-plugin@1.5.0:\n version \"1.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpnp-webpack-plugin\u002F-\u002Fpnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb\"\n integrity sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg==\n dependencies:\n ts-pnp \"^1.1.2\"\n\nportfinder@^1.0.9:\n version \"1.0.25\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fportfinder\u002F-\u002Fportfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca\"\n integrity sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==\n dependencies:\n async \"^2.6.2\"\n debug \"^3.1.1\"\n mkdirp \"^0.5.1\"\n\nposix-character-classes@^0.1.0:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fposix-character-classes\u002F-\u002Fposix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab\"\n integrity sha1-AerA\u002Fjta9xoqbAL+q7jB\u002FvfgDqs=\n\npostcss-attribute-case-insensitive@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-attribute-case-insensitive\u002F-\u002Fpostcss-attribute-case-insensitive-4.0.1.tgz#b2a721a0d279c2f9103a36331c88981526428cc7\"\n integrity sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A==\n dependencies:\n postcss \"^7.0.2\"\n postcss-selector-parser \"^5.0.0\"\n\npostcss-browser-comments@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-browser-comments\u002F-\u002Fpostcss-browser-comments-2.0.0.tgz#dc48d6a8ddbff188a80a000b7393436cb18aed88\"\n integrity sha512-xGG0UvoxwBc4Yx4JX3gc0RuDl1kc4bVihCzzk6UC72YPfq5fu3c717Nu8Un3nvnq1BJ31gBnFXIG\u002FOaUTnpHgA==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-calc@^7.0.1:\n version \"7.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-calc\u002F-\u002Fpostcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436\"\n integrity sha512-oXqx0m6tb4N3JGdmeMSc\u002Fi91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==\n dependencies:\n css-unit-converter \"^1.1.1\"\n postcss \"^7.0.5\"\n postcss-selector-parser \"^5.0.0-rc.4\"\n postcss-value-parser \"^3.3.1\"\n\npostcss-color-functional-notation@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-color-functional-notation\u002F-\u002Fpostcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0\"\n integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr\u002FeT2g==\n dependencies:\n postcss \"^7.0.2\"\n postcss-values-parser \"^2.0.0\"\n\npostcss-color-gray@^5.0.0:\n version \"5.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-color-gray\u002F-\u002Fpostcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547\"\n integrity sha512-q6BuRnAGKM\u002FZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==\n dependencies:\n \"@csstools\u002Fconvert-colors\" \"^1.4.0\"\n postcss \"^7.0.5\"\n postcss-values-parser \"^2.0.0\"\n\npostcss-color-hex-alpha@^5.0.3:\n version \"5.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-color-hex-alpha\u002F-\u002Fpostcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388\"\n integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5\u002FDWUGcK9hm6qHEnXYw==\n dependencies:\n postcss \"^7.0.14\"\n postcss-values-parser \"^2.0.1\"\n\npostcss-color-mod-function@^3.0.3:\n version \"3.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-color-mod-function\u002F-\u002Fpostcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d\"\n integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+\u002FaTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==\n dependencies:\n \"@csstools\u002Fconvert-colors\" \"^1.4.0\"\n postcss \"^7.0.2\"\n postcss-values-parser \"^2.0.0\"\n\npostcss-color-rebeccapurple@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-color-rebeccapurple\u002F-\u002Fpostcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77\"\n integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe\u002FlEy8g==\n dependencies:\n postcss \"^7.0.2\"\n postcss-values-parser \"^2.0.0\"\n\npostcss-colormin@^4.0.3:\n version \"4.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-colormin\u002F-\u002Fpostcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381\"\n integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0\u002FyVkaply0MNw==\n dependencies:\n browserslist \"^4.0.0\"\n color \"^3.0.0\"\n has \"^1.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-convert-values@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-convert-values\u002F-\u002Fpostcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f\"\n integrity sha512-Kisdo1y77KUC0Jmn0OXU\u002FCOOJbzM8cImvw1ZFsBgBgMgb1iL23Zs\u002FLXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==\n dependencies:\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-custom-media@^7.0.8:\n version \"7.0.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-custom-media\u002F-\u002Fpostcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c\"\n integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr\u002FUasOwNG6CTDpLFekVY4672eWdiiWu2GUg==\n dependencies:\n postcss \"^7.0.14\"\n\npostcss-custom-properties@^8.0.11:\n version \"8.0.11\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-custom-properties\u002F-\u002Fpostcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97\"\n integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds\u002Fe0umabFrN6HoTy\u002F8Q4K5ilxERdl\u002FJD1LO5ANoYBeMA==\n dependencies:\n postcss \"^7.0.17\"\n postcss-values-parser \"^2.0.1\"\n\npostcss-custom-selectors@^5.1.2:\n version \"5.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-custom-selectors\u002F-\u002Fpostcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba\"\n integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==\n dependencies:\n postcss \"^7.0.2\"\n postcss-selector-parser \"^5.0.0-rc.3\"\n\npostcss-dir-pseudo-class@^5.0.0:\n version \"5.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-dir-pseudo-class\u002F-\u002Fpostcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2\"\n integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==\n dependencies:\n postcss \"^7.0.2\"\n postcss-selector-parser \"^5.0.0-rc.3\"\n\npostcss-discard-comments@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-discard-comments\u002F-\u002Fpostcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033\"\n integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab\u002FTc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==\n dependencies:\n postcss \"^7.0.0\"\n\npostcss-discard-duplicates@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-discard-duplicates\u002F-\u002Fpostcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb\"\n integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp\u002Fk8c6oQ==\n dependencies:\n postcss \"^7.0.0\"\n\npostcss-discard-empty@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-discard-empty\u002F-\u002Fpostcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765\"\n integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+\u002FfL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==\n dependencies:\n postcss \"^7.0.0\"\n\npostcss-discard-overridden@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-discard-overridden\u002F-\u002Fpostcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57\"\n integrity sha512-IYY2bEDD7g1XM1IDEsUT4\u002F\u002FiEYCxAmP5oDSFMVU\u002FJVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==\n dependencies:\n postcss \"^7.0.0\"\n\npostcss-double-position-gradients@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-double-position-gradients\u002F-\u002Fpostcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e\"\n integrity sha512-G+nV8EnQq25fOI8CH\u002FB6krEohGWnF5+3A6H\u002F+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==\n dependencies:\n postcss \"^7.0.5\"\n postcss-values-parser \"^2.0.0\"\n\npostcss-env-function@^2.0.2:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-env-function\u002F-\u002Fpostcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7\"\n integrity sha512-rwac4BuZlITeUbiBq60h\u002FxbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==\n dependencies:\n postcss \"^7.0.2\"\n postcss-values-parser \"^2.0.0\"\n\npostcss-flexbugs-fixes@4.1.0:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-flexbugs-fixes\u002F-\u002Fpostcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20\"\n integrity sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P\u002FgxKHOdqWKe7xJSkVLFF\u002F2Tp+JqMSZA==\n dependencies:\n postcss \"^7.0.0\"\n\npostcss-focus-visible@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-focus-visible\u002F-\u002Fpostcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e\"\n integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf\u002Fx4o+vX\u002FpwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-focus-within@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-focus-within\u002F-\u002Fpostcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680\"\n integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds\u002FIq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-font-variant@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-font-variant\u002F-\u002Fpostcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc\"\n integrity sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt\u002FlUJe8yLxiSwWAHdScoEiIxztg==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-gap-properties@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-gap-properties\u002F-\u002Fpostcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715\"\n integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs\u002FvuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-image-set-function@^3.0.1:\n version \"3.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-image-set-function\u002F-\u002Fpostcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288\"\n integrity sha512-oPTcFFip5LZy8Y\u002Fwhto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==\n dependencies:\n postcss \"^7.0.2\"\n postcss-values-parser \"^2.0.0\"\n\npostcss-initial@^3.0.0:\n version \"3.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-initial\u002F-\u002Fpostcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d\"\n integrity sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==\n dependencies:\n lodash.template \"^4.5.0\"\n postcss \"^7.0.2\"\n\npostcss-lab-function@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-lab-function\u002F-\u002Fpostcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e\"\n integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm\u002FUhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==\n dependencies:\n \"@csstools\u002Fconvert-colors\" \"^1.4.0\"\n postcss \"^7.0.2\"\n postcss-values-parser \"^2.0.0\"\n\npostcss-load-config@^2.0.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-load-config\u002F-\u002Fpostcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003\"\n integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==\n dependencies:\n cosmiconfig \"^5.0.0\"\n import-cwd \"^2.0.0\"\n\npostcss-loader@3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-loader\u002F-\u002Fpostcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d\"\n integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO\u002FHQFcc5b5u\u002Fr7aa471wdmChmwfnv7x2u840iat\u002Fwi0lQ5nbRgSkUA==\n dependencies:\n loader-utils \"^1.1.0\"\n postcss \"^7.0.0\"\n postcss-load-config \"^2.0.0\"\n schema-utils \"^1.0.0\"\n\npostcss-logical@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-logical\u002F-\u002Fpostcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5\"\n integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-media-minmax@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-media-minmax\u002F-\u002Fpostcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5\"\n integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu\u002F+qW2SMQeTHBw==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-merge-longhand@^4.0.11:\n version \"4.0.11\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-merge-longhand\u002F-\u002Fpostcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24\"\n integrity sha512-alx\u002FzmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==\n dependencies:\n css-color-names \"0.0.4\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n stylehacks \"^4.0.0\"\n\npostcss-merge-rules@^4.0.3:\n version \"4.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-merge-rules\u002F-\u002Fpostcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650\"\n integrity sha512-U7e3r1SbvYzO0Jr3UT\u002FzKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==\n dependencies:\n browserslist \"^4.0.0\"\n caniuse-api \"^3.0.0\"\n cssnano-util-same-parent \"^4.0.0\"\n postcss \"^7.0.0\"\n postcss-selector-parser \"^3.0.0\"\n vendors \"^1.0.0\"\n\npostcss-minify-font-values@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-minify-font-values\u002F-\u002Fpostcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6\"\n integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==\n dependencies:\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-minify-gradients@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-minify-gradients\u002F-\u002Fpostcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471\"\n integrity sha512-qKPfwlONdcf\u002FAndP1U8SJ\u002FuzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==\n dependencies:\n cssnano-util-get-arguments \"^4.0.0\"\n is-color-stop \"^1.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-minify-params@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-minify-params\u002F-\u002Fpostcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874\"\n integrity sha512-G7eWyzEx0xL4\u002FwiBBJxJOz48zAKV2WG3iZOqVhPet\u002F9geefm\u002FPx5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==\n dependencies:\n alphanum-sort \"^1.0.0\"\n browserslist \"^4.0.0\"\n cssnano-util-get-arguments \"^4.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n uniqs \"^2.0.0\"\n\npostcss-minify-selectors@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-minify-selectors\u002F-\u002Fpostcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8\"\n integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==\n dependencies:\n alphanum-sort \"^1.0.0\"\n has \"^1.0.0\"\n postcss \"^7.0.0\"\n postcss-selector-parser \"^3.0.0\"\n\npostcss-modules-extract-imports@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-modules-extract-imports\u002F-\u002Fpostcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e\"\n integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr\u002FLv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==\n dependencies:\n postcss \"^7.0.5\"\n\npostcss-modules-local-by-default@^2.0.6:\n version \"2.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-modules-local-by-default\u002F-\u002Fpostcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63\"\n integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==\n dependencies:\n postcss \"^7.0.6\"\n postcss-selector-parser \"^6.0.0\"\n postcss-value-parser \"^3.3.1\"\n\npostcss-modules-scope@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-modules-scope\u002F-\u002Fpostcss-modules-scope-2.1.0.tgz#ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb\"\n integrity sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT\u002F+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==\n dependencies:\n postcss \"^7.0.6\"\n postcss-selector-parser \"^6.0.0\"\n\npostcss-modules-values@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-modules-values\u002F-\u002Fpostcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64\"\n integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC\u002F+lweG7+w==\n dependencies:\n icss-replace-symbols \"^1.1.0\"\n postcss \"^7.0.6\"\n\npostcss-nesting@^7.0.0:\n version \"7.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-nesting\u002F-\u002Fpostcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052\"\n integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-normalize-charset@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-normalize-charset\u002F-\u002Fpostcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4\"\n integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==\n dependencies:\n postcss \"^7.0.0\"\n\npostcss-normalize-display-values@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-normalize-display-values\u002F-\u002Fpostcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a\"\n integrity sha512-3F2jcsaMW7+VtRMAqf\u002F3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==\n dependencies:\n cssnano-util-get-match \"^4.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-normalize-positions@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-normalize-positions\u002F-\u002Fpostcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f\"\n integrity sha512-Dlf3\u002F9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP\u002F9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==\n dependencies:\n cssnano-util-get-arguments \"^4.0.0\"\n has \"^1.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-normalize-repeat-style@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-normalize-repeat-style\u002F-\u002Fpostcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c\"\n integrity sha512-qvigdYYMpSuoFs3Is\u002Ff5nHdRLJN\u002FITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==\n dependencies:\n cssnano-util-get-arguments \"^4.0.0\"\n cssnano-util-get-match \"^4.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-normalize-string@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-normalize-string\u002F-\u002Fpostcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c\"\n integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx\u002FF9TIEX0xthPGCmeyiam\u002FjXif0eA==\n dependencies:\n has \"^1.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-normalize-timing-functions@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-normalize-timing-functions\u002F-\u002Fpostcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9\"\n integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==\n dependencies:\n cssnano-util-get-match \"^4.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-normalize-unicode@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-normalize-unicode\u002F-\u002Fpostcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb\"\n integrity sha512-od18Uq2wCYn+vZ\u002FqCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs\u002F4FSUnVIw0CBPsU0K4LnBPwYwg==\n dependencies:\n browserslist \"^4.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-normalize-url@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-normalize-url\u002F-\u002Fpostcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1\"\n integrity sha512-p5oVaF4+IHwu7VpMan\u002FSSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==\n dependencies:\n is-absolute-url \"^2.0.0\"\n normalize-url \"^3.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-normalize-whitespace@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-normalize-whitespace\u002F-\u002Fpostcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82\"\n integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==\n dependencies:\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-normalize@7.0.1:\n version \"7.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-normalize\u002F-\u002Fpostcss-normalize-7.0.1.tgz#eb51568d962b8aa61a8318383c8bb7e54332282e\"\n integrity sha512-NOp1fwrG+6kVXWo7P9SizCHX6QvioxFD\u002FhZcI2MLxPmVnFJFC0j0DDpIuNw2tUDeCFMni59gCVgeJ1\u002FhYhj2OQ==\n dependencies:\n \"@csstools\u002Fnormalize.css\" \"^9.0.1\"\n browserslist \"^4.1.1\"\n postcss \"^7.0.2\"\n postcss-browser-comments \"^2.0.0\"\n\npostcss-ordered-values@^4.1.2:\n version \"4.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-ordered-values\u002F-\u002Fpostcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee\"\n integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5\u002FpFwEyaDwKLLoEV7uRybAw==\n dependencies:\n cssnano-util-get-arguments \"^4.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-overflow-shorthand@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-overflow-shorthand\u002F-\u002Fpostcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30\"\n integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w\u002FK\u002FwS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-page-break@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-page-break\u002F-\u002Fpostcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf\"\n integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8\u002FugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-place@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-place\u002F-\u002Fpostcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62\"\n integrity sha512-Zb6byCSLkgRKLODj\u002F5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b\u002F2xxwcTEVScnqGxBg==\n dependencies:\n postcss \"^7.0.2\"\n postcss-values-parser \"^2.0.0\"\n\npostcss-preset-env@6.7.0:\n version \"6.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-preset-env\u002F-\u002Fpostcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5\"\n integrity sha512-eU4\u002FK5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==\n dependencies:\n autoprefixer \"^9.6.1\"\n browserslist \"^4.6.4\"\n caniuse-lite \"^1.0.30000981\"\n css-blank-pseudo \"^0.1.4\"\n css-has-pseudo \"^0.10.0\"\n css-prefers-color-scheme \"^3.1.1\"\n cssdb \"^4.4.0\"\n postcss \"^7.0.17\"\n postcss-attribute-case-insensitive \"^4.0.1\"\n postcss-color-functional-notation \"^2.0.1\"\n postcss-color-gray \"^5.0.0\"\n postcss-color-hex-alpha \"^5.0.3\"\n postcss-color-mod-function \"^3.0.3\"\n postcss-color-rebeccapurple \"^4.0.1\"\n postcss-custom-media \"^7.0.8\"\n postcss-custom-properties \"^8.0.11\"\n postcss-custom-selectors \"^5.1.2\"\n postcss-dir-pseudo-class \"^5.0.0\"\n postcss-double-position-gradients \"^1.0.0\"\n postcss-env-function \"^2.0.2\"\n postcss-focus-visible \"^4.0.0\"\n postcss-focus-within \"^3.0.0\"\n postcss-font-variant \"^4.0.0\"\n postcss-gap-properties \"^2.0.0\"\n postcss-image-set-function \"^3.0.1\"\n postcss-initial \"^3.0.0\"\n postcss-lab-function \"^2.0.1\"\n postcss-logical \"^3.0.0\"\n postcss-media-minmax \"^4.0.0\"\n postcss-nesting \"^7.0.0\"\n postcss-overflow-shorthand \"^2.0.0\"\n postcss-page-break \"^2.0.0\"\n postcss-place \"^4.0.1\"\n postcss-pseudo-class-any-link \"^6.0.0\"\n postcss-replace-overflow-wrap \"^3.0.0\"\n postcss-selector-matches \"^4.0.0\"\n postcss-selector-not \"^4.0.0\"\n\npostcss-pseudo-class-any-link@^6.0.0:\n version \"6.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-pseudo-class-any-link\u002F-\u002Fpostcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1\"\n integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322\u002FswES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==\n dependencies:\n postcss \"^7.0.2\"\n postcss-selector-parser \"^5.0.0-rc.3\"\n\npostcss-reduce-initial@^4.0.3:\n version \"4.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-reduce-initial\u002F-\u002Fpostcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df\"\n integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1\u002FBGVvpdWn8k\u002FHiK7n6TjeoXN1F7DA==\n dependencies:\n browserslist \"^4.0.0\"\n caniuse-api \"^3.0.0\"\n has \"^1.0.0\"\n postcss \"^7.0.0\"\n\npostcss-reduce-transforms@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-reduce-transforms\u002F-\u002Fpostcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29\"\n integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8\u002Fmo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==\n dependencies:\n cssnano-util-get-match \"^4.0.0\"\n has \"^1.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n\npostcss-replace-overflow-wrap@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-replace-overflow-wrap\u002F-\u002Fpostcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c\"\n integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==\n dependencies:\n postcss \"^7.0.2\"\n\npostcss-safe-parser@4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-safe-parser\u002F-\u002Fpostcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea\"\n integrity sha512-xZsFA3uX8MO3yAda03QrG3\u002FEg1LN3EPfjjf07vke\u002F46HERLZyHrTsQ9E1r1w1W\u002F\u002FfWEhtYNndo2hQplN2cVpCQ==\n dependencies:\n postcss \"^7.0.0\"\n\npostcss-selector-matches@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-selector-matches\u002F-\u002Fpostcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff\"\n integrity sha512-LgsHwQR\u002FEsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S\u002Fl03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==\n dependencies:\n balanced-match \"^1.0.0\"\n postcss \"^7.0.2\"\n\npostcss-selector-not@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-selector-not\u002F-\u002Fpostcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0\"\n integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ==\n dependencies:\n balanced-match \"^1.0.0\"\n postcss \"^7.0.2\"\n\npostcss-selector-parser@^3.0.0:\n version \"3.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-selector-parser\u002F-\u002Fpostcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865\"\n integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=\n dependencies:\n dot-prop \"^4.1.1\"\n indexes-of \"^1.0.1\"\n uniq \"^1.0.1\"\n\npostcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4:\n version \"5.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-selector-parser\u002F-\u002Fpostcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c\"\n integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==\n dependencies:\n cssesc \"^2.0.0\"\n indexes-of \"^1.0.1\"\n uniq \"^1.0.1\"\n\npostcss-selector-parser@^6.0.0:\n version \"6.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-selector-parser\u002F-\u002Fpostcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c\"\n integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==\n dependencies:\n cssesc \"^3.0.0\"\n indexes-of \"^1.0.1\"\n uniq \"^1.0.1\"\n\npostcss-svgo@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-svgo\u002F-\u002Fpostcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258\"\n integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==\n dependencies:\n is-svg \"^3.0.0\"\n postcss \"^7.0.0\"\n postcss-value-parser \"^3.0.0\"\n svgo \"^1.0.0\"\n\npostcss-unique-selectors@^4.0.1:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-unique-selectors\u002F-\u002Fpostcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac\"\n integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0\u002Fm0RjrVVm9rGNhZddm\u002F8Spg==\n dependencies:\n alphanum-sort \"^1.0.0\"\n postcss \"^7.0.0\"\n uniqs \"^2.0.0\"\n\npostcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1:\n version \"3.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-value-parser\u002F-\u002Fpostcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281\"\n integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI\u002F+Q3vuly7SNfgYXvm6i5IgFylHGK5sP\u002FxHAbB7N49OS4gWNyQ==\n\npostcss-value-parser@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-value-parser\u002F-\u002Fpostcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9\"\n integrity sha512-LmeoohTpp\u002FK4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==\n\npostcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss-values-parser\u002F-\u002Fpostcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f\"\n integrity sha512-2tLuBsA6P4rYTNKCXYG\u002F71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC\u002F3Qfy334QbeMu7MEb8gOxg==\n dependencies:\n flatten \"^1.0.2\"\n indexes-of \"^1.0.1\"\n uniq \"^1.0.1\"\n\npostcss@7.0.14:\n version \"7.0.14\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss\u002F-\u002Fpostcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5\"\n integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==\n dependencies:\n chalk \"^2.4.2\"\n source-map \"^0.6.1\"\n supports-color \"^6.1.0\"\n\npostcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.5, postcss@^7.0.6:\n version \"7.0.21\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpostcss\u002F-\u002Fpostcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17\"\n integrity sha512-uIFtJElxJo29QC753JzhidoAhvp\u002Fe\u002FExezkdhfmt8AymWT6\u002F5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==\n dependencies:\n chalk \"^2.4.2\"\n source-map \"^0.6.1\"\n supports-color \"^6.1.0\"\n\nprelude-ls@~1.1.2:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fprelude-ls\u002F-\u002Fprelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54\"\n integrity sha1-IZMqVJ9eUv\u002FZqCf1cOBL5iqX2lQ=\n\nprepend-http@^1.0.0:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fprepend-http\u002F-\u002Fprepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc\"\n integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=\n\nprettier@^1.19.1:\n version \"1.19.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fprettier\u002F-\u002Fprettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb\"\n integrity sha512-s7PoyDv\u002FII1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N\u002FUwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==\n\npretty-bytes@^5.1.0:\n version \"5.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpretty-bytes\u002F-\u002Fpretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2\"\n integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0\u002FlQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==\n\npretty-error@^2.1.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpretty-error\u002F-\u002Fpretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3\"\n integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=\n dependencies:\n renderkid \"^2.0.1\"\n utila \"~0.4\"\n\npretty-format@^24.0.0, pretty-format@^24.3.0, pretty-format@^24.9.0:\n version \"24.9.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpretty-format\u002F-\u002Fpretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9\"\n integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==\n dependencies:\n \"@jest\u002Ftypes\" \"^24.9.0\"\n ansi-regex \"^4.0.0\"\n ansi-styles \"^3.2.0\"\n react-is \"^16.8.4\"\n\npreval.macro@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpreval.macro\u002F-\u002Fpreval.macro-3.0.0.tgz#8003a4f19f8f50a22e71da9d2e931c89ba17fdbd\"\n integrity sha512-vGSGpDb4V+fGrh5em63YsyzlgQhWCZling7WbkPzgAhT7\u002F88O1lk6dS51+2cfnjzoj00X2Q4Um+WX5Eshk\u002Fulg==\n dependencies:\n babel-plugin-preval \"^3.0.0\"\n\nprivate@^0.1.6:\n version \"0.1.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fprivate\u002F-\u002Fprivate-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff\"\n integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm\u002FwhI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br\u002FcJPet5J\u002Fu19r\u002Fmg==\n\nprocess-nextick-args@~2.0.0:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fprocess-nextick-args\u002F-\u002Fprocess-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2\"\n integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7\u002FAhoR3+A+\u002F1e9skrzelGi\u002FdXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==\n\nprocess@^0.11.10:\n version \"0.11.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fprocess\u002F-\u002Fprocess-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182\"\n integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=\n\nprogress@^2.0.0:\n version \"2.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fprogress\u002F-\u002Fprogress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8\"\n integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa\u002FXMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==\n\npromise-inflight@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpromise-inflight\u002F-\u002Fpromise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3\"\n integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=\n\npromise@8.0.3:\n version \"8.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpromise\u002F-\u002Fpromise-8.0.3.tgz#f592e099c6cddc000d538ee7283bb190452b0bf6\"\n integrity sha512-HeRDUL1RJiLhyA0\u002Fgrn+PTShlBAcLuh\u002F1BJGtrvjwbvRDCTLLMEz9rOGCV+R3vHY4MixIuoMEd9Yq\u002FXvsTPcjw==\n dependencies:\n asap \"~2.0.6\"\n\nprompts@^2.0.1:\n version \"2.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fprompts\u002F-\u002Fprompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35\"\n integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg\u002Fxc\u002Fan+r9VYymj9WJW3B\u002FDIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==\n dependencies:\n kleur \"^3.0.3\"\n sisteransi \"^1.0.3\"\n\nprop-types@^15.6.2, prop-types@^15.7.2:\n version \"15.7.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fprop-types\u002F-\u002Fprop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5\"\n integrity sha512-8QQikdH7\u002F\u002FR2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ\u002FnXFdJepOVrY1GCHQ==\n dependencies:\n loose-envify \"^1.4.0\"\n object-assign \"^4.1.1\"\n react-is \"^16.8.1\"\n\nproxy-addr@~2.0.5:\n version \"2.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fproxy-addr\u002F-\u002Fproxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34\"\n integrity sha512-t\u002F7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4\u002FLDdfOwZEMyIh3\u002FxHb8PX3t+lfL9z+YVQ==\n dependencies:\n forwarded \"~0.1.2\"\n ipaddr.js \"1.9.0\"\n\nprr@~1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fprr\u002F-\u002Fprr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476\"\n integrity sha1-0\u002FwRS6BplaRexok\u002FSEzrHXj19HY=\n\npseudomap@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpseudomap\u002F-\u002Fpseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3\"\n integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=\n\npsl@^1.1.24, psl@^1.1.28:\n version \"1.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpsl\u002F-\u002Fpsl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2\"\n integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==\n\npublic-encrypt@^4.0.0:\n version \"4.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpublic-encrypt\u002F-\u002Fpublic-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0\"\n integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==\n dependencies:\n bn.js \"^4.1.0\"\n browserify-rsa \"^4.0.0\"\n create-hash \"^1.1.0\"\n parse-asn1 \"^5.0.0\"\n randombytes \"^2.0.1\"\n safe-buffer \"^5.1.2\"\n\npump@^2.0.0:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpump\u002F-\u002Fpump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909\"\n integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T\u002FxDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==\n dependencies:\n end-of-stream \"^1.1.0\"\n once \"^1.3.1\"\n\npump@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpump\u002F-\u002Fpump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64\"\n integrity sha512-LwZy+p3SFs1Pytd\u002FjYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==\n dependencies:\n end-of-stream \"^1.1.0\"\n once \"^1.3.1\"\n\npumpify@^1.3.3:\n version \"1.5.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpumpify\u002F-\u002Fpumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce\"\n integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==\n dependencies:\n duplexify \"^3.6.0\"\n inherits \"^2.0.3\"\n pump \"^2.0.0\"\n\npunycode@1.3.2:\n version \"1.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpunycode\u002F-\u002Fpunycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d\"\n integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=\n\npunycode@^1.2.4, punycode@^1.3.2, punycode@^1.4.1:\n version \"1.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpunycode\u002F-\u002Fpunycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e\"\n integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=\n\npunycode@^2.1.0, punycode@^2.1.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fpunycode\u002F-\u002Fpunycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec\"\n integrity sha512-XRsRjdf+j5ml+y\u002F6GKHPZbrF\u002F8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==\n\nq@^1.1.2:\n version \"1.5.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fq\u002F-\u002Fq-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7\"\n integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=\n\nqs@6.7.0:\n version \"6.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fqs\u002F-\u002Fqs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc\"\n integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo\u002FSPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==\n\nqs@~6.5.2:\n version \"6.5.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fqs\u002F-\u002Fqs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36\"\n integrity sha512-N5ZAX4\u002FLxJmF+7wN74pUD6qAh9\u002FwnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91\u002FodN2dW\u002FWOl7qQHNDGA==\n\nquery-string@^4.1.0:\n version \"4.3.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fquery-string\u002F-\u002Fquery-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb\"\n integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=\n dependencies:\n object-assign \"^4.1.0\"\n strict-uri-encode \"^1.0.0\"\n\nquerystring-es3@^0.2.0:\n version \"0.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fquerystring-es3\u002F-\u002Fquerystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73\"\n integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=\n\nquerystring@0.2.0:\n version \"0.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fquerystring\u002F-\u002Fquerystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620\"\n integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=\n\nquerystringify@^2.1.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fquerystringify\u002F-\u002Fquerystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e\"\n integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO\u002FA9397Wxb1amJvROTK6TOnp7PfoAmg\u002FqXiNHI+08jRfA==\n\nraf@3.4.1:\n version \"3.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fraf\u002F-\u002Fraf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39\"\n integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==\n dependencies:\n performance-now \"^2.1.0\"\n\nrandombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frandombytes\u002F-\u002Frandombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a\"\n integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==\n dependencies:\n safe-buffer \"^5.1.0\"\n\nrandomfill@^1.0.3:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frandomfill\u002F-\u002Frandomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458\"\n integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU\u002Ffjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==\n dependencies:\n randombytes \"^2.0.5\"\n safe-buffer \"^5.1.0\"\n\nrange-parser@1.2.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frange-parser\u002F-\u002Frange-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e\"\n integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=\n\nrange-parser@^1.2.1, range-parser@~1.2.1:\n version \"1.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frange-parser\u002F-\u002Frange-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031\"\n integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr\u002F2yxQ5BVd\u002FGTl5agOwSg==\n\nraw-body@2.4.0:\n version \"2.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fraw-body\u002F-\u002Fraw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332\"\n integrity sha512-4Oz8DUIwdvoa5qMJelxipzi\u002FiJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==\n dependencies:\n bytes \"3.1.0\"\n http-errors \"1.7.2\"\n iconv-lite \"0.4.24\"\n unpipe \"1.0.0\"\n\nrc@^1.0.1, rc@^1.1.6, rc@^1.2.7:\n version \"1.2.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frc\u002F-\u002Frc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed\"\n integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==\n dependencies:\n deep-extend \"^0.6.0\"\n ini \"~1.3.0\"\n minimist \"^1.2.0\"\n strip-json-comments \"~2.0.1\"\n\nreact-app-polyfill@^1.0.4:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact-app-polyfill\u002F-\u002Freact-app-polyfill-1.0.4.tgz#4dd2636846b585c2d842b1e44e1bc29044345874\"\n integrity sha512-5Vte6ki7jpNsNCUKaboyofAhmURmCn2Y6Hu7ydJ6Iu4dct1CIGoh\u002F1FT7gUZKAbowVX2lxVPlijvp1nKxfAl4w==\n dependencies:\n core-js \"3.2.1\"\n object-assign \"4.1.1\"\n promise \"8.0.3\"\n raf \"3.4.1\"\n regenerator-runtime \"0.13.3\"\n whatwg-fetch \"3.0.0\"\n\nreact-dev-utils@^9.1.0:\n version \"9.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact-dev-utils\u002F-\u002Freact-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81\"\n integrity sha512-X2KYF\u002FlIGyGwP\u002FF\u002FoXgGDF24nxDA2KC4b7AFto+eqzc\u002Ft838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg==\n dependencies:\n \"@babel\u002Fcode-frame\" \"7.5.5\"\n address \"1.1.2\"\n browserslist \"4.7.0\"\n chalk \"2.4.2\"\n cross-spawn \"6.0.5\"\n detect-port-alt \"1.1.6\"\n escape-string-regexp \"1.0.5\"\n filesize \"3.6.1\"\n find-up \"3.0.0\"\n fork-ts-checker-webpack-plugin \"1.5.0\"\n global-modules \"2.0.0\"\n globby \"8.0.2\"\n gzip-size \"5.1.1\"\n immer \"1.10.0\"\n inquirer \"6.5.0\"\n is-root \"2.1.0\"\n loader-utils \"1.2.3\"\n open \"^6.3.0\"\n pkg-up \"2.0.0\"\n react-error-overlay \"^6.0.3\"\n recursive-readdir \"2.2.2\"\n shell-quote \"1.7.2\"\n sockjs-client \"1.4.0\"\n strip-ansi \"5.2.0\"\n text-table \"0.2.0\"\n\nreact-dom@0.0.0-experimental-b53ea6ca0:\n version \"0.0.0-experimental-b53ea6ca0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact-dom\u002F-\u002Freact-dom-0.0.0-experimental-b53ea6ca0.tgz#bde4f3fdff6d9d7b54b2325039f7a9602e868a6b\"\n integrity sha512-TBJoVJbu1zBEQwPF+T6nyQXZCNXkJfYvWlIVvKZOHfQz0+L95FCh3GInnDyPrH+k8K8mOXcuZ8D2mJxWueRm7Q==\n dependencies:\n loose-envify \"^1.1.0\"\n object-assign \"^4.1.1\"\n prop-types \"^15.6.2\"\n scheduler \"0.0.0-experimental-b53ea6ca0\"\n\nreact-error-boundary@^1.2.5:\n version \"1.2.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact-error-boundary\u002F-\u002Freact-error-boundary-1.2.5.tgz#a362cb799d2e58ff8f114f7c4bc25677ce4e4149\"\n integrity sha512-5CPSeLJA2igJNppAgFRwnTL9aK3ojenk65enNzhVyoxYNbHpIJXnChUO7+4vPhkncRA9wvQMXq6Azp2XeXd+iQ==\n\nreact-error-overlay@^6.0.3:\n version \"6.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact-error-overlay\u002F-\u002Freact-error-overlay-6.0.3.tgz#c378c4b0a21e88b2e159a3e62b2f531fd63bf60d\"\n integrity sha512-bOUvMWFQVk5oz8Ded9Xb7WVdEi3QGLC8tH7HmYP0Fdp4Bn3qw0tRFmr5TW6mvahzvmrK4a6bqWGfCevBflP+Xw==\n\nreact-icons@^3.8.0:\n version \"3.8.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact-icons\u002F-\u002Freact-icons-3.8.0.tgz#229de5904809696c9f46932bd9b6126b2522866e\"\n integrity sha512-rA\u002F8GRKjPulft8BSBSMsHkE1AGPqJ7LjNsyk0BE7XjG70Iz62zOled2SJk7LDo8x9z86a3xOstDlKlMZ4pAy7A==\n dependencies:\n camelcase \"^5.0.0\"\n\nreact-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4:\n version \"16.11.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact-is\u002F-\u002Freact-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa\"\n integrity sha512-gbBVYR2p8mnriqAwWx9LbuUrShnAuSCNnuPGyc7GJrMVQtPDAh8iLpv7FRuMPFb56KkaVZIYSz1PrjI9q0QPCw==\n\nreact-router-dom@^5.1.2:\n version \"5.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact-router-dom\u002F-\u002Freact-router-dom-5.1.2.tgz#06701b834352f44d37fbb6311f870f84c76b9c18\"\n integrity sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd\u002FWRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.1.2\"\n history \"^4.9.0\"\n loose-envify \"^1.3.1\"\n prop-types \"^15.6.2\"\n react-router \"5.1.2\"\n tiny-invariant \"^1.0.2\"\n tiny-warning \"^1.0.0\"\n\nreact-router@5.1.2:\n version \"5.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact-router\u002F-\u002Freact-router-5.1.2.tgz#6ea51d789cb36a6be1ba5f7c0d48dd9e817d3418\"\n integrity sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh\u002Fks9YuR2A==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.1.2\"\n history \"^4.9.0\"\n hoist-non-react-statics \"^3.1.0\"\n loose-envify \"^1.3.1\"\n mini-create-react-context \"^0.3.0\"\n path-to-regexp \"^1.7.0\"\n prop-types \"^15.6.2\"\n react-is \"^16.6.0\"\n tiny-invariant \"^1.0.2\"\n tiny-warning \"^1.0.0\"\n\nreact-scripts@^3.2.0:\n version \"3.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact-scripts\u002F-\u002Freact-scripts-3.2.0.tgz#58ccd6b4ffa27f1b4d2986cbdcaa916660e9e33c\"\n integrity sha512-6LzuKbE2B4eFQG6i1FnTScn9HDcWBfXXnOwW9xKFPJ\u002FE3rK8i1ufbOZ0ocKyRPxJAKdN7iqg3i7lt0+oxkSVOA==\n dependencies:\n \"@babel\u002Fcore\" \"7.6.0\"\n \"@svgr\u002Fwebpack\" \"4.3.2\"\n \"@typescript-eslint\u002Feslint-plugin\" \"^2.2.0\"\n \"@typescript-eslint\u002Fparser\" \"^2.2.0\"\n babel-eslint \"10.0.3\"\n babel-jest \"^24.9.0\"\n babel-loader \"8.0.6\"\n babel-plugin-named-asset-import \"^0.3.4\"\n babel-preset-react-app \"^9.0.2\"\n camelcase \"^5.2.0\"\n case-sensitive-paths-webpack-plugin \"2.2.0\"\n css-loader \"2.1.1\"\n dotenv \"6.2.0\"\n dotenv-expand \"5.1.0\"\n eslint \"^6.1.0\"\n eslint-config-react-app \"^5.0.2\"\n eslint-loader \"3.0.2\"\n eslint-plugin-flowtype \"3.13.0\"\n eslint-plugin-import \"2.18.2\"\n eslint-plugin-jsx-a11y \"6.2.3\"\n eslint-plugin-react \"7.14.3\"\n eslint-plugin-react-hooks \"^1.6.1\"\n file-loader \"3.0.1\"\n fs-extra \"7.0.1\"\n html-webpack-plugin \"4.0.0-beta.5\"\n identity-obj-proxy \"3.0.0\"\n is-wsl \"^1.1.0\"\n jest \"24.9.0\"\n jest-environment-jsdom-fourteen \"0.1.0\"\n jest-resolve \"24.9.0\"\n jest-watch-typeahead \"0.4.0\"\n mini-css-extract-plugin \"0.8.0\"\n optimize-css-assets-webpack-plugin \"5.0.3\"\n pnp-webpack-plugin \"1.5.0\"\n postcss-flexbugs-fixes \"4.1.0\"\n postcss-loader \"3.0.0\"\n postcss-normalize \"7.0.1\"\n postcss-preset-env \"6.7.0\"\n postcss-safe-parser \"4.0.1\"\n react-app-polyfill \"^1.0.4\"\n react-dev-utils \"^9.1.0\"\n resolve \"1.12.0\"\n resolve-url-loader \"3.1.0\"\n sass-loader \"7.2.0\"\n semver \"6.3.0\"\n style-loader \"1.0.0\"\n terser-webpack-plugin \"1.4.1\"\n ts-pnp \"1.1.4\"\n url-loader \"2.1.0\"\n webpack \"4.41.0\"\n webpack-dev-server \"3.2.1\"\n webpack-manifest-plugin \"2.1.1\"\n workbox-webpack-plugin \"4.3.1\"\n optionalDependencies:\n fsevents \"2.0.7\"\n\nreact@0.0.0-experimental-b53ea6ca0:\n version \"0.0.0-experimental-b53ea6ca0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freact\u002F-\u002Freact-0.0.0-experimental-b53ea6ca0.tgz#268b9dcaee17f740c18b77d5689971d3902f6553\"\n integrity sha512-p2+cNr\u002Fnqb6JcMCLgpR9xR63RrnmfWxOWJAt2WRz9+Fpg8BMEdTb\u002FgDnwMtCPCFF9nNtNHbhI3Cal53qlMN59Q==\n dependencies:\n loose-envify \"^1.1.0\"\n object-assign \"^4.1.1\"\n prop-types \"^15.6.2\"\n\nread-pkg-up@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fread-pkg-up\u002F-\u002Fread-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be\"\n integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=\n dependencies:\n find-up \"^2.0.0\"\n read-pkg \"^2.0.0\"\n\nread-pkg-up@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fread-pkg-up\u002F-\u002Fread-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978\"\n integrity sha512-6etQSH7nJGsK0RbG\u002F2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==\n dependencies:\n find-up \"^3.0.0\"\n read-pkg \"^3.0.0\"\n\nread-pkg@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fread-pkg\u002F-\u002Fread-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8\"\n integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=\n dependencies:\n load-json-file \"^2.0.0\"\n normalize-package-data \"^2.3.2\"\n path-type \"^2.0.0\"\n\nread-pkg@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fread-pkg\u002F-\u002Fread-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389\"\n integrity sha1-nLxoaXj+5l0WwA4rGcI3\u002FPbjg4k=\n dependencies:\n load-json-file \"^4.0.0\"\n normalize-package-data \"^2.3.2\"\n path-type \"^3.0.0\"\n\nread-pkg@^5.2.0:\n version \"5.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fread-pkg\u002F-\u002Fread-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc\"\n integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==\n dependencies:\n \"@types\u002Fnormalize-package-data\" \"^2.4.0\"\n normalize-package-data \"^2.5.0\"\n parse-json \"^5.0.0\"\n type-fest \"^0.6.0\"\n\n\"readable-stream@1 || 2\", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:\n version \"2.3.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freadable-stream\u002F-\u002Freadable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf\"\n integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J\u002FYA9dUrAC39ITejlZWhVIwawkKw==\n dependencies:\n core-util-is \"~1.0.0\"\n inherits \"~2.0.3\"\n isarray \"~1.0.0\"\n process-nextick-args \"~2.0.0\"\n safe-buffer \"~5.1.1\"\n string_decoder \"~1.1.1\"\n util-deprecate \"~1.0.1\"\n\nreadable-stream@^3.0.6, readable-stream@^3.1.1:\n version \"3.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freadable-stream\u002F-\u002Freadable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc\"\n integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd\u002FuINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7\u002F4W8ttlLWJe99pQ==\n dependencies:\n inherits \"^2.0.3\"\n string_decoder \"^1.1.1\"\n util-deprecate \"^1.0.1\"\n\nreaddirp@^2.2.1:\n version \"2.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freaddirp\u002F-\u002Freaddirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525\"\n integrity sha512-1JU\u002F8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==\n dependencies:\n graceful-fs \"^4.1.11\"\n micromatch \"^3.1.10\"\n readable-stream \"^2.0.2\"\n\nrealpath-native@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frealpath-native\u002F-\u002Frealpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c\"\n integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR\u002FLnXovwuo9hvyGvx3h8nX4+\u002FiLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==\n dependencies:\n util.promisify \"^1.0.0\"\n\nrecursive-readdir@2.2.2:\n version \"2.2.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frecursive-readdir\u002F-\u002Frecursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f\"\n integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==\n dependencies:\n minimatch \"3.0.4\"\n\nredent@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fredent\u002F-\u002Fredent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f\"\n integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==\n dependencies:\n indent-string \"^4.0.0\"\n strip-indent \"^3.0.0\"\n\nregenerate-unicode-properties@^8.1.0:\n version \"8.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregenerate-unicode-properties\u002F-\u002Fregenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e\"\n integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz\u002FipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==\n dependencies:\n regenerate \"^1.4.0\"\n\nregenerate@^1.4.0:\n version \"1.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregenerate\u002F-\u002Fregenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11\"\n integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==\n\nregenerator-runtime@0.13.3, regenerator-runtime@^0.13.2:\n version \"0.13.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregenerator-runtime\u002F-\u002Fregenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5\"\n integrity sha512-naKIZz2GQ8JWh\u002F\u002F\u002FG7L3X6LaQUAMp2lvb1rvwwsURe\u002FVXwD6VMfr+\u002F1NuNw3ag8v2kY1aQ\u002Fgo5SNn79O9JU7yw==\n\nregenerator-runtime@^0.11.0:\n version \"0.11.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregenerator-runtime\u002F-\u002Fregenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9\"\n integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==\n\nregenerator-transform@^0.14.0:\n version \"0.14.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregenerator-transform\u002F-\u002Fregenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb\"\n integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1\u002FiqpJhArQUvRxOOPEc\u002F9tAiX0BaQ28FJH10E4isSQ==\n dependencies:\n private \"^0.1.6\"\n\nregex-not@^1.0.0, regex-not@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregex-not\u002F-\u002Fregex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c\"\n integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN\u002F+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==\n dependencies:\n extend-shallow \"^3.0.2\"\n safe-regex \"^1.1.0\"\n\nregex-parser@2.2.10:\n version \"2.2.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregex-parser\u002F-\u002Fregex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37\"\n integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==\n\nregexp.prototype.flags@^1.2.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregexp.prototype.flags\u002F-\u002Fregexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c\"\n integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E\u002FCF2FtYi9ofOYe4mKntstYk0Fyh\u002FrDRBdS3AnxjlrA==\n dependencies:\n define-properties \"^1.1.2\"\n\nregexpp@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregexpp\u002F-\u002Fregexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f\"\n integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU\u002FbooSu7Eev3TDO\u002FmZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==\n\nregexpu-core@^4.6.0:\n version \"4.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregexpu-core\u002F-\u002Fregexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6\"\n integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==\n dependencies:\n regenerate \"^1.4.0\"\n regenerate-unicode-properties \"^8.1.0\"\n regjsgen \"^0.5.0\"\n regjsparser \"^0.6.0\"\n unicode-match-property-ecmascript \"^1.0.4\"\n unicode-match-property-value-ecmascript \"^1.1.0\"\n\nregistry-auth-token@3.3.2:\n version \"3.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregistry-auth-token\u002F-\u002Fregistry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20\"\n integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w\u002Fm7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==\n dependencies:\n rc \"^1.1.6\"\n safe-buffer \"^5.0.1\"\n\nregistry-url@3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregistry-url\u002F-\u002Fregistry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942\"\n integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI=\n dependencies:\n rc \"^1.0.1\"\n\nregjsgen@^0.5.0:\n version \"0.5.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregjsgen\u002F-\u002Fregjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c\"\n integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==\n\nregjsparser@^0.6.0:\n version \"0.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fregjsparser\u002F-\u002Fregjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c\"\n integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==\n dependencies:\n jsesc \"~0.5.0\"\n\nrelateurl@0.2.x:\n version \"0.2.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frelateurl\u002F-\u002Frelateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9\"\n integrity sha1-VNvzd+UUQKypCkzSdGANP\u002FLYiKk=\n\nremove-trailing-separator@^1.0.1:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fremove-trailing-separator\u002F-\u002Fremove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef\"\n integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=\n\nrenderkid@^2.0.1:\n version \"2.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frenderkid\u002F-\u002Frenderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149\"\n integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu\u002FPjIyhhAb5d6IJ\u002FQZqlHFprHeKT+59\u002F\u002FV6BNUsLbvN8+2LarxGA==\n dependencies:\n css-select \"^1.1.0\"\n dom-converter \"^0.2\"\n htmlparser2 \"^3.3.0\"\n strip-ansi \"^3.0.0\"\n utila \"^0.4.0\"\n\nrepeat-element@^1.1.2:\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frepeat-element\u002F-\u002Frepeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce\"\n integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==\n\nrepeat-string@^1.6.1:\n version \"1.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frepeat-string\u002F-\u002Frepeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637\"\n integrity sha1-jcrkcOHIirwtYA\u002F\u002FSndihtp15jc=\n\nreplace-in-file@^4.2.0:\n version \"4.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Freplace-in-file\u002F-\u002Freplace-in-file-4.2.0.tgz#be779f4f61a8ee1ab9f917998bd36441673680fe\"\n integrity sha512-9PGYDbU8iQF3W5a0Ariaf4KzYjsZSkonCYiZylwMiYOu0w5Bg9IuT4DqNnibA4zGNVxH\u002F\u002FF7Hxh1P25TofAHGw==\n dependencies:\n chalk \"^2.4.2\"\n glob \"^7.1.4\"\n yargs \"^13.3.0\"\n\nrequest-promise-core@1.1.3:\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frequest-promise-core\u002F-\u002Frequest-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9\"\n integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==\n dependencies:\n lodash \"^4.17.15\"\n\nrequest-promise-native@^1.0.5:\n version \"1.0.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frequest-promise-native\u002F-\u002Frequest-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36\"\n integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2\u002FTLkVMz8rm+tNt72MGUWT1RP\u002FaYawMpN6HqbNGBQaRcBtjQMQ==\n dependencies:\n request-promise-core \"1.1.3\"\n stealthy-require \"^1.1.1\"\n tough-cookie \"^2.3.3\"\n\nrequest@^2.87.0, request@^2.88.0:\n version \"2.88.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frequest\u002F-\u002Frequest-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef\"\n integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2\u002FA0hg==\n dependencies:\n aws-sign2 \"~0.7.0\"\n aws4 \"^1.8.0\"\n caseless \"~0.12.0\"\n combined-stream \"~1.0.6\"\n extend \"~3.0.2\"\n forever-agent \"~0.6.1\"\n form-data \"~2.3.2\"\n har-validator \"~5.1.0\"\n http-signature \"~1.2.0\"\n is-typedarray \"~1.0.0\"\n isstream \"~0.1.2\"\n json-stringify-safe \"~5.0.1\"\n mime-types \"~2.1.19\"\n oauth-sign \"~0.9.0\"\n performance-now \"^2.1.0\"\n qs \"~6.5.2\"\n safe-buffer \"^5.1.2\"\n tough-cookie \"~2.4.3\"\n tunnel-agent \"^0.6.0\"\n uuid \"^3.3.2\"\n\nrequire-directory@^2.1.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frequire-directory\u002F-\u002Frequire-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42\"\n integrity sha1-jGStX9MNqxyXbiNE\u002F+f3kqam30I=\n\nrequire-from-string@^2.0.2:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frequire-from-string\u002F-\u002Frequire-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909\"\n integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9\u002Fp+7w7YXP\u002FJBHhrUDDUhwa+vANyubuqfZWTveU\u002F\u002FDYVGsDG7RKL\u002FvEw==\n\nrequire-main-filename@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frequire-main-filename\u002F-\u002Frequire-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1\"\n integrity sha1-l\u002FcXtp1IeE9fUmpsWqj\u002F3aBVpNE=\n\nrequire-main-filename@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frequire-main-filename\u002F-\u002Frequire-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b\"\n integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe\u002FZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==\n\nrequires-port@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frequires-port\u002F-\u002Frequires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff\"\n integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=\n\nresolve-cwd@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fresolve-cwd\u002F-\u002Fresolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a\"\n integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=\n dependencies:\n resolve-from \"^3.0.0\"\n\nresolve-from@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fresolve-from\u002F-\u002Fresolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748\"\n integrity sha1-six699nWiBvItuZTM17rywoYh0g=\n\nresolve-from@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fresolve-from\u002F-\u002Fresolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6\"\n integrity sha512-pb\u002FMYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp\u002F+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\n\nresolve-pathname@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fresolve-pathname\u002F-\u002Fresolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd\"\n integrity sha512-C7rARubxI8bXFNB\u002Fhqcp\u002F4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==\n\nresolve-url-loader@3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fresolve-url-loader\u002F-\u002Fresolve-url-loader-3.1.0.tgz#54d8181d33cd1b66a59544d05cadf8e4aa7d37cc\"\n integrity sha512-2QcrA+2QgVqsMJ1Hn5NnJXIGCX1clQ1F6QJTqOeiaDw9ACo1G2k+8\u002Fshq3mtqne03HOFyskAClqfxKyFBriXZg==\n dependencies:\n adjust-sourcemap-loader \"2.0.0\"\n camelcase \"5.0.0\"\n compose-function \"3.0.3\"\n convert-source-map \"1.6.0\"\n es6-iterator \"2.0.3\"\n loader-utils \"1.2.3\"\n postcss \"7.0.14\"\n rework \"1.0.1\"\n rework-visit \"1.0.0\"\n source-map \"0.6.1\"\n\nresolve-url@^0.2.1:\n version \"0.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fresolve-url\u002F-\u002Fresolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a\"\n integrity sha1-LGN\u002F53yJOv0qZj\u002FiGqkIAGjiBSo=\n\nresolve@1.1.7:\n version \"1.1.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fresolve\u002F-\u002Fresolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b\"\n integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=\n\nresolve@1.12.0, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1:\n version \"1.12.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fresolve\u002F-\u002Fresolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6\"\n integrity sha512-B\u002FdOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==\n dependencies:\n path-parse \"^1.0.6\"\n\nrestore-cursor@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frestore-cursor\u002F-\u002Frestore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf\"\n integrity sha1-n37ih\u002Fgv0ybU\u002FRYpI9YhKe7g368=\n dependencies:\n onetime \"^2.0.0\"\n signal-exit \"^3.0.2\"\n\nrestore-cursor@^3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frestore-cursor\u002F-\u002Frestore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e\"\n integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==\n dependencies:\n onetime \"^5.1.0\"\n signal-exit \"^3.0.2\"\n\nret@~0.1.10:\n version \"0.1.15\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fret\u002F-\u002Fret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc\"\n integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B\u002FRzEfUlLct7b5G\u002Fytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==\n\nrework-visit@1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frework-visit\u002F-\u002Frework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a\"\n integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo=\n\nrework@1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frework\u002F-\u002Frework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7\"\n integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=\n dependencies:\n convert-source-map \"^0.3.3\"\n css \"^2.0.0\"\n\nrgb-regex@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frgb-regex\u002F-\u002Frgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1\"\n integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE=\n\nrgba-regex@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frgba-regex\u002F-\u002Frgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3\"\n integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=\n\nrimraf@2.6.3:\n version \"2.6.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frimraf\u002F-\u002Frimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab\"\n integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi\u002FQO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==\n dependencies:\n glob \"^7.1.3\"\n\nrimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:\n version \"2.7.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frimraf\u002F-\u002Frimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec\"\n integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==\n dependencies:\n glob \"^7.1.3\"\n\nripemd160@^2.0.0, ripemd160@^2.0.1:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fripemd160\u002F-\u002Fripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c\"\n integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==\n dependencies:\n hash-base \"^3.0.0\"\n inherits \"^2.0.1\"\n\nrsvp@^4.8.4:\n version \"4.8.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frsvp\u002F-\u002Frsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734\"\n integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==\n\nrun-async@^2.2.0:\n version \"2.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frun-async\u002F-\u002Frun-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0\"\n integrity sha1-A3GrSuC91yDUFm19\u002FaZP96RFpsA=\n dependencies:\n is-promise \"^2.1.0\"\n\nrun-node@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frun-node\u002F-\u002Frun-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e\"\n integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn\u002FGWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==\n\nrun-queue@^1.0.0, run-queue@^1.0.3:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frun-queue\u002F-\u002Frun-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47\"\n integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=\n dependencies:\n aproba \"^1.1.1\"\n\nrxjs@^6.4.0:\n version \"6.5.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Frxjs\u002F-\u002Frxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a\"\n integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo\u002FRYhhbgA==\n dependencies:\n tslib \"^1.9.0\"\n\nsafe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:\n version \"5.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsafe-buffer\u002F-\u002Fsafe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d\"\n integrity sha512-Gd2UZBJDkXlY7GbJxfsE8\u002FnvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud\u002FwPtojys4G6+g==\n\nsafe-buffer@\u003E=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:\n version \"5.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsafe-buffer\u002F-\u002Fsafe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519\"\n integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+\u002FgdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==\n\nsafe-regex@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsafe-regex\u002F-\u002Fsafe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e\"\n integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=\n dependencies:\n ret \"~0.1.10\"\n\n\"safer-buffer@\u003E= 2.1.2 \u003C 3\", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:\n version \"2.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsafer-buffer\u002F-\u002Fsafer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a\"\n integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==\n\nsane@^4.0.3:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsane\u002F-\u002Fsane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded\"\n integrity sha512-hhbzAgTIX8O7SHfp2c8\u002FkREfEn4qO\u002F9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==\n dependencies:\n \"@cnakazawa\u002Fwatch\" \"^1.0.3\"\n anymatch \"^2.0.0\"\n capture-exit \"^2.0.0\"\n exec-sh \"^0.3.2\"\n execa \"^1.0.0\"\n fb-watchman \"^2.0.0\"\n micromatch \"^3.1.4\"\n minimist \"^1.1.1\"\n walker \"~1.0.5\"\n\nsass-loader@7.2.0:\n version \"7.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsass-loader\u002F-\u002Fsass-loader-7.2.0.tgz#e34115239309d15b2527cb62b5dfefb62a96ff7f\"\n integrity sha512-h8yUWaWtsbuIiOCgR9fd9c2lRXZ2uG+h8Dzg\u002FAGNj+Hg\u002F3TO8+BBAW9mEP+mh8ei+qBKqSJ0F1FLlYjNBc61OA==\n dependencies:\n clone-deep \"^4.0.1\"\n loader-utils \"^1.0.1\"\n neo-async \"^2.5.0\"\n pify \"^4.0.1\"\n semver \"^5.5.0\"\n\nsax@^1.2.4, sax@~1.2.4:\n version \"1.2.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsax\u002F-\u002Fsax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9\"\n integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9\u002FatZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==\n\nsaxes@^3.1.9:\n version \"3.1.11\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsaxes\u002F-\u002Fsaxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b\"\n integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==\n dependencies:\n xmlchars \"^2.1.1\"\n\nscheduler@0.0.0-experimental-b53ea6ca0:\n version \"0.0.0-experimental-b53ea6ca0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fscheduler\u002F-\u002Fscheduler-0.0.0-experimental-b53ea6ca0.tgz#b55499856375d94097a9b669f5f19cf55f048a19\"\n integrity sha512-mXHVx\u002Fg98NpUEnoAI25uvVHDuZs\u002FPCMzQTOEfwjD9hbCQF92b0fXDSOahyiTlp0A++XwDil0wh2nvB8tDm6W\u002FQ==\n dependencies:\n loose-envify \"^1.1.0\"\n object-assign \"^4.1.1\"\n\nschema-utils@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fschema-utils\u002F-\u002Fschema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770\"\n integrity sha512-i27Mic4KovM\u002FlnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic\u002FHLU4j11mjsz2G\u002F75g==\n dependencies:\n ajv \"^6.1.0\"\n ajv-errors \"^1.0.0\"\n ajv-keywords \"^3.1.0\"\n\nschema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.2.0:\n version \"2.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fschema-utils\u002F-\u002Fschema-utils-2.5.0.tgz#8f254f618d402cc80257486213c8970edfd7c22f\"\n integrity sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+\u002FqIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ==\n dependencies:\n ajv \"^6.10.2\"\n ajv-keywords \"^3.4.1\"\n\nselect-hose@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fselect-hose\u002F-\u002Fselect-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca\"\n integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=\n\nselfsigned@^1.9.1:\n version \"1.10.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fselfsigned\u002F-\u002Fselfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b\"\n integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H\u002FRAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==\n dependencies:\n node-forge \"0.9.0\"\n\nsemver-compare@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsemver-compare\u002F-\u002Fsemver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc\"\n integrity sha1-De4hahyUGrN+nvsXiPavxf9VN\u002Fw=\n\n\"semver@2 || 3 || 4 || 5\", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:\n version \"5.7.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsemver\u002F-\u002Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7\"\n integrity sha512-sauaDf\u002FPZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==\n\nsemver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:\n version \"6.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsemver\u002F-\u002Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d\"\n integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m\u002FNwnDocOVruQFS1\u002FveMgdzuPcnOM34M6CwxW8jH\u002FlxEa5rBoDeUwu5HHTw==\n\nsend@0.17.1:\n version \"0.17.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsend\u002F-\u002Fsend-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8\"\n integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==\n dependencies:\n debug \"2.6.9\"\n depd \"~1.1.2\"\n destroy \"~1.0.4\"\n encodeurl \"~1.0.2\"\n escape-html \"~1.0.3\"\n etag \"~1.8.1\"\n fresh \"0.5.2\"\n http-errors \"~1.7.2\"\n mime \"1.6.0\"\n ms \"2.1.1\"\n on-finished \"~2.3.0\"\n range-parser \"~1.2.1\"\n statuses \"~1.5.0\"\n\nserialize-javascript@^1.7.0:\n version \"1.9.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fserialize-javascript\u002F-\u002Fserialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb\"\n integrity sha512-0Vb\u002F54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE\u002F7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==\n\nserve-handler@6.1.2:\n version \"6.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fserve-handler\u002F-\u002Fserve-handler-6.1.2.tgz#f05b0421a313fff2d257838cba00cbcc512cd2b6\"\n integrity sha512-RFh49wX7zJmmOVDcIjiDSJnMH+ItQEvyuYLYuDBVoA\u002FxmQSCuj+uRmk1cmBB5QQlI3qOiWKp6p4DUGY+Z5AB2A==\n dependencies:\n bytes \"3.0.0\"\n content-disposition \"0.5.2\"\n fast-url-parser \"1.1.3\"\n mime-types \"2.1.18\"\n minimatch \"3.0.4\"\n path-is-inside \"1.0.2\"\n path-to-regexp \"2.2.1\"\n range-parser \"1.2.0\"\n\nserve-index@^1.7.2:\n version \"1.9.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fserve-index\u002F-\u002Fserve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239\"\n integrity sha1-03aNabHn2C5c4FD\u002F9bRTvqEqkjk=\n dependencies:\n accepts \"~1.3.4\"\n batch \"0.6.1\"\n debug \"2.6.9\"\n escape-html \"~1.0.3\"\n http-errors \"~1.6.2\"\n mime-types \"~2.1.17\"\n parseurl \"~1.3.2\"\n\nserve-static@1.14.1:\n version \"1.14.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fserve-static\u002F-\u002Fserve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9\"\n integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco\u002F00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==\n dependencies:\n encodeurl \"~1.0.2\"\n escape-html \"~1.0.3\"\n parseurl \"~1.3.3\"\n send \"0.17.1\"\n\nserve@^11.2.0:\n version \"11.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fserve\u002F-\u002Fserve-11.2.0.tgz#0405ce95c4e4a6abd9cd3d3a04ebaa7d94638627\"\n integrity sha512-THZcLzDGk3vJqjhAbLkLag43tiE3V0B7wVe98Xtl+1KyAsr+4iShg+9hke4pLZmrCJu0pUg0TrbhJmdqn\u002FMKoA==\n dependencies:\n \"@zeit\u002Fschemas\" \"2.6.0\"\n ajv \"6.5.3\"\n arg \"2.0.0\"\n boxen \"1.3.0\"\n chalk \"2.4.1\"\n clipboardy \"1.2.3\"\n compression \"1.7.3\"\n serve-handler \"6.1.2\"\n update-check \"1.5.2\"\n\nset-blocking@^2.0.0, set-blocking@~2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fset-blocking\u002F-\u002Fset-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7\"\n integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=\n\nset-value@^2.0.0, set-value@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fset-value\u002F-\u002Fset-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b\"\n integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m\u002FXPHafOmK4UWD7m2CI14GMcFypt4w\u002F0+NV5f\u002FZMby2F6S2wwA7fgynh9gWSw==\n dependencies:\n extend-shallow \"^2.0.1\"\n is-extendable \"^0.1.1\"\n is-plain-object \"^2.0.3\"\n split-string \"^3.0.1\"\n\nsetimmediate@^1.0.4:\n version \"1.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsetimmediate\u002F-\u002Fsetimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285\"\n integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=\n\nsetprototypeof@1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsetprototypeof\u002F-\u002Fsetprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656\"\n integrity sha512-BvE\u002FTwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS\u002FcBBzwBcNDWoFxt2XEFIpQ==\n\nsetprototypeof@1.1.1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsetprototypeof\u002F-\u002Fsetprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683\"\n integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==\n\nsha.js@^2.4.0, sha.js@^2.4.8:\n version \"2.4.11\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsha.js\u002F-\u002Fsha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7\"\n integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==\n dependencies:\n inherits \"^2.0.1\"\n safe-buffer \"^5.0.1\"\n\nshallow-clone@^0.1.2:\n version \"0.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fshallow-clone\u002F-\u002Fshallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060\"\n integrity sha1-WQnodLp3EG1zrEFM\u002FsH\u002FyofZcGA=\n dependencies:\n is-extendable \"^0.1.1\"\n kind-of \"^2.0.1\"\n lazy-cache \"^0.2.3\"\n mixin-object \"^2.0.1\"\n\nshallow-clone@^3.0.0:\n version \"3.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fshallow-clone\u002F-\u002Fshallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3\"\n integrity sha512-\u002F6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==\n dependencies:\n kind-of \"^6.0.2\"\n\nshebang-command@^1.2.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fshebang-command\u002F-\u002Fshebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea\"\n integrity sha1-RKrGW2lbAzmJaMOfNj\u002FuXer98eo=\n dependencies:\n shebang-regex \"^1.0.0\"\n\nshebang-command@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fshebang-command\u002F-\u002Fshebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea\"\n integrity sha512-kHxr2zZpYtdmrN1qDjrrX\u002FZ1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1\u002FyZp6YuDY77YtvbN0dmDA==\n dependencies:\n shebang-regex \"^3.0.0\"\n\nshebang-regex@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fshebang-regex\u002F-\u002Fshebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3\"\n integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO\u002FqM=\n\nshebang-regex@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fshebang-regex\u002F-\u002Fshebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172\"\n integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M\u002Fyhz8ekcb1A==\n\nshell-quote@1.7.2, shell-quote@^1.6.1:\n version \"1.7.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fshell-quote\u002F-\u002Fshell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2\"\n integrity sha512-mRz\u002Fm\u002FJVscCrkMyPqHc\u002Fbczi3OQHkLTqXHEFu0zDhK\u002Fqfv3UcOA4SVmRCLmos4bhjr9ekVQubj\u002FR7waKapmiQg==\n\nshellwords@^0.1.1:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fshellwords\u002F-\u002Fshellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b\"\n integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==\n\nsignal-exit@^3.0.0, signal-exit@^3.0.2:\n version \"3.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsignal-exit\u002F-\u002Fsignal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d\"\n integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=\n\nsimple-swizzle@^0.2.2:\n version \"0.2.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsimple-swizzle\u002F-\u002Fsimple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a\"\n integrity sha1-pNprY1\u002F8zMoz9w0Xy5JZLeleVXo=\n dependencies:\n is-arrayish \"^0.3.1\"\n\nsisteransi@^1.0.3:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsisteransi\u002F-\u002Fsisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb\"\n integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa\u002Fzwak0RLRfWS5AvfMWpd9gJvr5Yg==\n\nslash@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fslash\u002F-\u002Fslash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55\"\n integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=\n\nslash@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fslash\u002F-\u002Fslash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44\"\n integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==\n\nslash@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fslash\u002F-\u002Fslash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634\"\n integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==\n\nslice-ansi@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fslice-ansi\u002F-\u002Fslice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636\"\n integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==\n dependencies:\n ansi-styles \"^3.2.0\"\n astral-regex \"^1.0.0\"\n is-fullwidth-code-point \"^2.0.0\"\n\nsnapdragon-node@^2.0.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsnapdragon-node\u002F-\u002Fsnapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b\"\n integrity sha512-O27l4xaMYt\u002FRSQ5TR3vpWCAB5Kb\u002FczIcqUFOM\u002FC4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==\n dependencies:\n define-property \"^1.0.0\"\n isobject \"^3.0.0\"\n snapdragon-util \"^3.0.1\"\n\nsnapdragon-util@^3.0.1:\n version \"3.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsnapdragon-util\u002F-\u002Fsnapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2\"\n integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==\n dependencies:\n kind-of \"^3.2.0\"\n\nsnapdragon@^0.8.1:\n version \"0.8.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsnapdragon\u002F-\u002Fsnapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d\"\n integrity sha512-FtyOnWN\u002FwCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy\u002F4dMtbBjA4ioNlg==\n dependencies:\n base \"^0.11.1\"\n debug \"^2.2.0\"\n define-property \"^0.2.5\"\n extend-shallow \"^2.0.1\"\n map-cache \"^0.2.2\"\n source-map \"^0.5.6\"\n source-map-resolve \"^0.5.0\"\n use \"^3.1.0\"\n\nsockjs-client@1.3.0:\n version \"1.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsockjs-client\u002F-\u002Fsockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177\"\n integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S\u002FOn9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==\n dependencies:\n debug \"^3.2.5\"\n eventsource \"^1.0.7\"\n faye-websocket \"~0.11.1\"\n inherits \"^2.0.3\"\n json3 \"^3.3.2\"\n url-parse \"^1.4.3\"\n\nsockjs-client@1.4.0:\n version \"1.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsockjs-client\u002F-\u002Fsockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5\"\n integrity sha512-5zaLyO8\u002Fnri5cua0VtOrFXBPK1jbL4+1cebT\u002FmmKA1E1ZXOvJrII75bPu0l0k843G\u002F+iAbhEqzyKr0w\u002FeCCj7g==\n dependencies:\n debug \"^3.2.5\"\n eventsource \"^1.0.7\"\n faye-websocket \"~0.11.1\"\n inherits \"^2.0.3\"\n json3 \"^3.3.2\"\n url-parse \"^1.4.3\"\n\nsockjs@0.3.19:\n version \"0.3.19\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsockjs\u002F-\u002Fsockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d\"\n integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI\u002FQQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==\n dependencies:\n faye-websocket \"^0.10.0\"\n uuid \"^3.0.1\"\n\nsort-keys@^1.0.0:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsort-keys\u002F-\u002Fsort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad\"\n integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=\n dependencies:\n is-plain-obj \"^1.0.0\"\n\nsource-list-map@^2.0.0:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsource-list-map\u002F-\u002Fsource-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34\"\n integrity sha512-qnQ7gVMxGNxsiL4lEuJwe\u002FTo8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==\n\nsource-map-resolve@^0.5.0, source-map-resolve@^0.5.2:\n version \"0.5.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsource-map-resolve\u002F-\u002Fsource-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259\"\n integrity sha512-MjqsvNwyz1s0k81Goz\u002F9vRBe9SZdB09Bdw+\u002FzYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ\u002FkefaSA==\n dependencies:\n atob \"^2.1.1\"\n decode-uri-component \"^0.2.0\"\n resolve-url \"^0.2.1\"\n source-map-url \"^0.4.0\"\n urix \"^0.1.0\"\n\nsource-map-support@^0.5.6, source-map-support@~0.5.12:\n version \"0.5.16\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsource-map-support\u002F-\u002Fsource-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042\"\n integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==\n dependencies:\n buffer-from \"^1.0.0\"\n source-map \"^0.6.0\"\n\nsource-map-url@^0.4.0:\n version \"0.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsource-map-url\u002F-\u002Fsource-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3\"\n integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=\n\nsource-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:\n version \"0.6.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsource-map\u002F-\u002Fsource-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263\"\n integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz\u002Fh0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\n\nsource-map@^0.5.0, source-map@^0.5.6:\n version \"0.5.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsource-map\u002F-\u002Fsource-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc\"\n integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=\n\nspdx-correct@^3.0.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fspdx-correct\u002F-\u002Fspdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4\"\n integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==\n dependencies:\n spdx-expression-parse \"^3.0.0\"\n spdx-license-ids \"^3.0.0\"\n\nspdx-exceptions@^2.1.0:\n version \"2.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fspdx-exceptions\u002F-\u002Fspdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977\"\n integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn\u002FgOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==\n\nspdx-expression-parse@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fspdx-expression-parse\u002F-\u002Fspdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0\"\n integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h\u002F0sO6neh2jqRDVHOQ4o\u002FLMea0tgCkbMgea5ip\u002Fe+MkWyg==\n dependencies:\n spdx-exceptions \"^2.1.0\"\n spdx-license-ids \"^3.0.0\"\n\nspdx-license-ids@^3.0.0:\n version \"3.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fspdx-license-ids\u002F-\u002Fspdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654\"\n integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX\u002F1i9gFBaWQcB+\u002Ftmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==\n\nspdy-transport@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fspdy-transport\u002F-\u002Fspdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31\"\n integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ\u002FrpAepqmFifv\u002FGCbSbueEeAJJnmSQ2rKC\u002Fg8Fcw==\n dependencies:\n debug \"^4.1.0\"\n detect-node \"^2.0.4\"\n hpack.js \"^2.1.6\"\n obuf \"^1.1.2\"\n readable-stream \"^3.0.6\"\n wbuf \"^1.7.3\"\n\nspdy@^4.0.0:\n version \"4.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fspdy\u002F-\u002Fspdy-4.0.1.tgz#6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2\"\n integrity sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==\n dependencies:\n debug \"^4.1.0\"\n handle-thing \"^2.0.0\"\n http-deceiver \"^1.2.7\"\n select-hose \"^2.0.0\"\n spdy-transport \"^3.0.0\"\n\nsplit-string@^3.0.1, split-string@^3.0.2:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsplit-string\u002F-\u002Fsplit-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2\"\n integrity sha512-NzNVhJDYpwceVVii8\u002FHu6DKfD2G+NrQHlS\u002FV\u002Fqgv763EYudVwEcMQNxd2lh+0VrUByXN\u002FoJkl5grOhYWvQUYiw==\n dependencies:\n extend-shallow \"^3.0.0\"\n\nsprintf-js@~1.0.2:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsprintf-js\u002F-\u002Fsprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c\"\n integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=\n\nsshpk@^1.7.0:\n version \"1.16.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsshpk\u002F-\u002Fsshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877\"\n integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==\n dependencies:\n asn1 \"~0.2.3\"\n assert-plus \"^1.0.0\"\n bcrypt-pbkdf \"^1.0.0\"\n dashdash \"^1.12.0\"\n ecc-jsbn \"~0.1.1\"\n getpass \"^0.1.1\"\n jsbn \"~0.1.0\"\n safer-buffer \"^2.0.2\"\n tweetnacl \"~0.14.0\"\n\nssri@^6.0.1:\n version \"6.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fssri\u002F-\u002Fssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8\"\n integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs\u002F7WvSACcrMYrNp+b8kDL1\u002F0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx\u002FQA==\n dependencies:\n figgy-pudding \"^3.5.1\"\n\nstable@^0.1.8:\n version \"0.1.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstable\u002F-\u002Fstable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf\"\n integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos\u002FoUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==\n\nstack-utils@^1.0.1:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstack-utils\u002F-\u002Fstack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8\"\n integrity sha512-MTX+MeG5U994cazkjd\u002F9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==\n\nstatic-extend@^0.1.1:\n version \"0.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstatic-extend\u002F-\u002Fstatic-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6\"\n integrity sha1-YICcOcv\u002FVTNyJv1eC1IPNB8ftcY=\n dependencies:\n define-property \"^0.2.5\"\n object-copy \"^0.1.0\"\n\n\"statuses@\u003E= 1.4.0 \u003C 2\", \"statuses@\u003E= 1.5.0 \u003C 2\", statuses@~1.5.0:\n version \"1.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstatuses\u002F-\u002Fstatuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c\"\n integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=\n\nstealthy-require@^1.1.1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstealthy-require\u002F-\u002Fstealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b\"\n integrity sha1-NbCYdbT\u002FSfJqd35QmzCQoyJr8ks=\n\nstop-runaway-react-effects@^1.2.1:\n version \"1.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstop-runaway-react-effects\u002F-\u002Fstop-runaway-react-effects-1.2.1.tgz#ffc9df565021c69cd2c04171e7f0e4a6c7eb2b21\"\n integrity sha512-56AK\u002FrkH+\u002FY1ZUF+QYsl\u002F7Z\u002FcaSnF46RmkbF6AemYWue2tZpAlOOj+VdcLdhFGo5Vg7ajDP2Lqq+3UhbdWQRmQ==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.4.4\"\n\nstream-browserify@^2.0.1:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstream-browserify\u002F-\u002Fstream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b\"\n integrity sha512-nX6hmklHs\u002Fgr2FuxYDltq8fJA1GDlxKQCz8O\u002FIM4atRqBH8OORmBNgfvW5gG10GT\u002FqQ9u0CzIvr2X5Pkt6ntqg==\n dependencies:\n inherits \"~2.0.1\"\n readable-stream \"^2.0.2\"\n\nstream-each@^1.1.0:\n version \"1.2.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstream-each\u002F-\u002Fstream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae\"\n integrity sha512-vlMC2f8I2u\u002FbZGqkdfLQW\u002F13Zihpej\u002F7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==\n dependencies:\n end-of-stream \"^1.1.0\"\n stream-shift \"^1.0.0\"\n\nstream-http@^2.7.2:\n version \"2.8.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstream-http\u002F-\u002Fstream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc\"\n integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE\u002Fa47L+38PenXhUw==\n dependencies:\n builtin-status-codes \"^3.0.0\"\n inherits \"^2.0.1\"\n readable-stream \"^2.3.6\"\n to-arraybuffer \"^1.0.0\"\n xtend \"^4.0.0\"\n\nstream-shift@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstream-shift\u002F-\u002Fstream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952\"\n integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=\n\nstrict-uri-encode@^1.0.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstrict-uri-encode\u002F-\u002Fstrict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713\"\n integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=\n\nstring-length@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring-length\u002F-\u002Fstring-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed\"\n integrity sha1-1A27aGo6zpYMHP\u002FKVivyxF+DY+0=\n dependencies:\n astral-regex \"^1.0.0\"\n strip-ansi \"^4.0.0\"\n\nstring-length@^3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring-length\u002F-\u002Fstring-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837\"\n integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k\u002FCXFgrTIteU3jAw3payCnwSTA==\n dependencies:\n astral-regex \"^1.0.0\"\n strip-ansi \"^5.2.0\"\n\nstring-width@^1.0.1:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring-width\u002F-\u002Fstring-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3\"\n integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=\n dependencies:\n code-point-at \"^1.0.0\"\n is-fullwidth-code-point \"^1.0.0\"\n strip-ansi \"^3.0.0\"\n\n\"string-width@^1.0.2 || 2\", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring-width\u002F-\u002Fstring-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e\"\n integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==\n dependencies:\n is-fullwidth-code-point \"^2.0.0\"\n strip-ansi \"^4.0.0\"\n\nstring-width@^3.0.0, string-width@^3.1.0:\n version \"3.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring-width\u002F-\u002Fstring-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961\"\n integrity sha512-vafcv6KjVZKSgz06oM\u002FH6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==\n dependencies:\n emoji-regex \"^7.0.1\"\n is-fullwidth-code-point \"^2.0.0\"\n strip-ansi \"^5.1.0\"\n\nstring-width@^4.1.0:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring-width\u002F-\u002Fstring-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff\"\n integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==\n dependencies:\n emoji-regex \"^8.0.0\"\n is-fullwidth-code-point \"^3.0.0\"\n strip-ansi \"^5.2.0\"\n\nstring.prototype.padend@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring.prototype.padend\u002F-\u002Fstring.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0\"\n integrity sha1-86rvfBcZ8XDF6rHDK\u002FeA2W4h8vA=\n dependencies:\n define-properties \"^1.1.2\"\n es-abstract \"^1.4.3\"\n function-bind \"^1.0.2\"\n\nstring.prototype.trimleft@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring.prototype.trimleft\u002F-\u002Fstring.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634\"\n integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu\u002FDJMDfeI\u002FqMiZTrjTw==\n dependencies:\n define-properties \"^1.1.3\"\n function-bind \"^1.1.1\"\n\nstring.prototype.trimright@^2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring.prototype.trimright\u002F-\u002Fstring.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58\"\n integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K\u002FgXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==\n dependencies:\n define-properties \"^1.1.3\"\n function-bind \"^1.1.1\"\n\nstring_decoder@^1.0.0, string_decoder@^1.1.1:\n version \"1.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring_decoder\u002F-\u002Fstring_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e\"\n integrity sha512-hkRX8U1WjJFd8LsDJ2yQ\u002FwWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup\u002FwKeA==\n dependencies:\n safe-buffer \"~5.2.0\"\n\nstring_decoder@~1.1.1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstring_decoder\u002F-\u002Fstring_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8\"\n integrity sha512-n\u002FShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP\u002FmzRfwg==\n dependencies:\n safe-buffer \"~5.1.0\"\n\nstringify-object@^3.3.0:\n version \"3.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstringify-object\u002F-\u002Fstringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629\"\n integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q\u002Fg\u002Fwj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==\n dependencies:\n get-own-enumerable-property-symbols \"^3.0.0\"\n is-obj \"^1.0.1\"\n is-regexp \"^1.0.0\"\n\nstrip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:\n version \"5.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstrip-ansi\u002F-\u002Fstrip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae\"\n integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==\n dependencies:\n ansi-regex \"^4.1.0\"\n\nstrip-ansi@^3.0.0, strip-ansi@^3.0.1:\n version \"3.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstrip-ansi\u002F-\u002Fstrip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf\"\n integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=\n dependencies:\n ansi-regex \"^2.0.0\"\n\nstrip-ansi@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstrip-ansi\u002F-\u002Fstrip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f\"\n integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=\n dependencies:\n ansi-regex \"^3.0.0\"\n\nstrip-bom@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstrip-bom\u002F-\u002Fstrip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3\"\n integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=\n\nstrip-comments@^1.0.2:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstrip-comments\u002F-\u002Fstrip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d\"\n integrity sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==\n dependencies:\n babel-extract-comments \"^1.0.0\"\n babel-plugin-transform-object-rest-spread \"^6.26.0\"\n\nstrip-eof@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstrip-eof\u002F-\u002Fstrip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf\"\n integrity sha1-u0P\u002FVZim6wXYm1n80SnJgzE2Br8=\n\nstrip-indent@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstrip-indent\u002F-\u002Fstrip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001\"\n integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid\u002FdrOhgitgYku\u002FletMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==\n dependencies:\n min-indent \"^1.0.0\"\n\nstrip-json-comments@^3.0.1:\n version \"3.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstrip-json-comments\u002F-\u002Fstrip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7\"\n integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc\u002Fxe5HLSdJSkJ+WfZw==\n\nstrip-json-comments@~2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstrip-json-comments\u002F-\u002Fstrip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a\"\n integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=\n\nstyle-loader@1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstyle-loader\u002F-\u002Fstyle-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82\"\n integrity sha512-B0dOCFwv7\u002FeY31a5PCieNwMgMhVGFe9w+rh7s\u002FBx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw==\n dependencies:\n loader-utils \"^1.2.3\"\n schema-utils \"^2.0.1\"\n\nstylehacks@^4.0.0:\n version \"4.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fstylehacks\u002F-\u002Fstylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5\"\n integrity sha512-7GlLk9JwlElY4Y6a\u002FrmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO\u002Fv3SeGTdhBThLg4Z+NbOk\u002FqFMwCa+J+3p\u002Fg==\n dependencies:\n browserslist \"^4.0.0\"\n postcss \"^7.0.0\"\n postcss-selector-parser \"^3.0.0\"\n\nsupports-color@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsupports-color\u002F-\u002Fsupports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7\"\n integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=\n\nsupports-color@^5.3.0:\n version \"5.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsupports-color\u002F-\u002Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f\"\n integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==\n dependencies:\n has-flag \"^3.0.0\"\n\nsupports-color@^6.1.0:\n version \"6.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsupports-color\u002F-\u002Fsupports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3\"\n integrity sha512-qe1jfm1Mg7Nq\u002FNSh6XE24gPXROEVsWHxC1LIx\u002F\u002FXNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==\n dependencies:\n has-flag \"^3.0.0\"\n\nsupports-color@^7.1.0:\n version \"7.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsupports-color\u002F-\u002Fsupports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1\"\n integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW\u002Fh4oBhxJ\u002FHUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==\n dependencies:\n has-flag \"^4.0.0\"\n\nsvg-parser@^2.0.0:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsvg-parser\u002F-\u002Fsvg-parser-2.0.2.tgz#d134cc396fa2681dc64f518330784e98bd801ec8\"\n integrity sha512-1gtApepKFweigFZj3sGO8KT8LvVZK8io146EzXrpVuWCDAbISz\u002FyMucco3hWTkpZNoPabM+dnMOpy6Swue68Zg==\n\nsvgo@^1.0.0, svgo@^1.2.2:\n version \"1.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsvgo\u002F-\u002Fsvgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167\"\n integrity sha512-yhy\u002FsQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA\u002FOcn6yayNPgSamYdtX2rFJdcv07AYVw==\n dependencies:\n chalk \"^2.4.1\"\n coa \"^2.0.2\"\n css-select \"^2.0.0\"\n css-select-base-adapter \"^0.1.1\"\n css-tree \"1.0.0-alpha.37\"\n csso \"^4.0.2\"\n js-yaml \"^3.13.1\"\n mkdirp \"~0.5.1\"\n object.values \"^1.1.0\"\n sax \"~1.2.4\"\n stable \"^0.1.8\"\n unquote \"~1.1.1\"\n util.promisify \"~1.0.0\"\n\nsymbol-tree@^3.2.2:\n version \"3.2.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fsymbol-tree\u002F-\u002Fsymbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2\"\n integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==\n\ntable@^5.2.3:\n version \"5.4.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftable\u002F-\u002Ftable-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e\"\n integrity sha512-wmEc8m4fjnob4gt5riFRtTu\u002F6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6\u002FYR3qRZv7e56kAEAtd6nKZaxe0Ug==\n dependencies:\n ajv \"^6.10.2\"\n lodash \"^4.17.14\"\n slice-ansi \"^2.1.0\"\n string-width \"^3.0.0\"\n\ntapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3:\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftapable\u002F-\u002Ftapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2\"\n integrity sha512-4WK\u002FbYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==\n\ntar@^4:\n version \"4.4.13\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftar\u002F-\u002Ftar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525\"\n integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==\n dependencies:\n chownr \"^1.1.1\"\n fs-minipass \"^1.2.5\"\n minipass \"^2.8.6\"\n minizlib \"^1.2.1\"\n mkdirp \"^0.5.0\"\n safe-buffer \"^5.1.2\"\n yallist \"^3.0.3\"\n\nterm-size@^1.2.0:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fterm-size\u002F-\u002Fterm-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69\"\n integrity sha1-RYuDiH8oj8Vtb\u002F+\u002FrSYuJmOO+mk=\n dependencies:\n execa \"^0.7.0\"\n\nterser-webpack-plugin@1.4.1, terser-webpack-plugin@^1.4.1:\n version \"1.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fterser-webpack-plugin\u002F-\u002Fterser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4\"\n integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2\u002FXG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==\n dependencies:\n cacache \"^12.0.2\"\n find-cache-dir \"^2.1.0\"\n is-wsl \"^1.1.0\"\n schema-utils \"^1.0.0\"\n serialize-javascript \"^1.7.0\"\n source-map \"^0.6.1\"\n terser \"^4.1.2\"\n webpack-sources \"^1.4.0\"\n worker-farm \"^1.7.0\"\n\nterser@^4.1.2:\n version \"4.3.9\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fterser\u002F-\u002Fterser-4.3.9.tgz#e4be37f80553d02645668727777687dad26bbca8\"\n integrity sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh\u002Fsz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==\n dependencies:\n commander \"^2.20.0\"\n source-map \"~0.6.1\"\n source-map-support \"~0.5.12\"\n\ntest-exclude@^5.2.3:\n version \"5.2.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftest-exclude\u002F-\u002Ftest-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0\"\n integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC\u002F+2g==\n dependencies:\n glob \"^7.1.3\"\n minimatch \"^3.0.4\"\n read-pkg-up \"^4.0.0\"\n require-main-filename \"^2.0.0\"\n\ntext-table@0.2.0, text-table@^0.2.0:\n version \"0.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftext-table\u002F-\u002Ftext-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4\"\n integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=\n\nthroat@^4.0.0:\n version \"4.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fthroat\u002F-\u002Fthroat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a\"\n integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=\n\nthrough2@^2.0.0:\n version \"2.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fthrough2\u002F-\u002Fthrough2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd\"\n integrity sha512-\u002FmrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW\u002FSu8LQGc4YKni5rYSQ==\n dependencies:\n readable-stream \"~2.3.6\"\n xtend \"~4.0.1\"\n\nthrough@^2.3.6:\n version \"2.3.8\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fthrough\u002F-\u002Fthrough-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5\"\n integrity sha1-DdTJ\u002F6q8NXlgsbckEV1+Doai4fU=\n\nthunky@^1.0.2:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fthunky\u002F-\u002Fthunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d\"\n integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO\u002FLb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==\n\ntimers-browserify@^2.0.4:\n version \"2.0.11\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftimers-browserify\u002F-\u002Ftimers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f\"\n integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3\u002Fk\u002FEsbLVJNl9n6Vz3fTc+k2GeKQ==\n dependencies:\n setimmediate \"^1.0.4\"\n\ntimsort@^0.3.0:\n version \"0.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftimsort\u002F-\u002Ftimsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4\"\n integrity sha1-QFQRqOfmM5\u002FmTbmiNN4R3DHgK9Q=\n\ntiny-invariant@^1.0.2:\n version \"1.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftiny-invariant\u002F-\u002Ftiny-invariant-1.0.6.tgz#b3f9b38835e36a41c843a3b0907a5a7b3755de73\"\n integrity sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3\u002FJRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA==\n\ntiny-warning@^1.0.0, tiny-warning@^1.0.2:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftiny-warning\u002F-\u002Ftiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754\"\n integrity sha512-lBN9zLN\u002FoAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL\u002FS1CTyX1rW0mb\u002FzSuJun0ZUrDxx4sqvYS2FWzPA==\n\ntmp@^0.0.33:\n version \"0.0.33\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftmp\u002F-\u002Ftmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9\"\n integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==\n dependencies:\n os-tmpdir \"~1.0.2\"\n\ntmpl@1.0.x:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftmpl\u002F-\u002Ftmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1\"\n integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=\n\nto-arraybuffer@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fto-arraybuffer\u002F-\u002Fto-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43\"\n integrity sha1-fSKbH8xjfkZsoIEYCDanqr\u002F4P0M=\n\nto-fast-properties@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fto-fast-properties\u002F-\u002Fto-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e\"\n integrity sha1-3F5pjL0HkmW8c+A3doGk5Og\u002FYW4=\n\nto-object-path@^0.3.0:\n version \"0.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fto-object-path\u002F-\u002Fto-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af\"\n integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=\n dependencies:\n kind-of \"^3.0.2\"\n\nto-regex-range@^2.1.0:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fto-regex-range\u002F-\u002Fto-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38\"\n integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=\n dependencies:\n is-number \"^3.0.0\"\n repeat-string \"^1.6.1\"\n\nto-regex@^3.0.1, to-regex@^3.0.2:\n version \"3.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fto-regex\u002F-\u002Fto-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce\"\n integrity sha512-FWtleNAtZ\u002FKi2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==\n dependencies:\n define-property \"^2.0.2\"\n extend-shallow \"^3.0.2\"\n regex-not \"^1.0.2\"\n safe-regex \"^1.1.0\"\n\ntoidentifier@1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftoidentifier\u002F-\u002Ftoidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553\"\n integrity sha512-yaOH\u002FPk\u002FVEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==\n\ntough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0:\n version \"2.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftough-cookie\u002F-\u002Ftough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2\"\n integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX\u002Fqboeycw6iO8JwVv2+g==\n dependencies:\n psl \"^1.1.28\"\n punycode \"^2.1.1\"\n\ntough-cookie@~2.4.3:\n version \"2.4.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftough-cookie\u002F-\u002Ftough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781\"\n integrity sha512-Q5srk\u002F4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe\u002F+TxjWB\u002FGlFAnYEbkYVlON9FMk\u002FfE3h2RLpPXo4lQ==\n dependencies:\n psl \"^1.1.24\"\n punycode \"^1.4.1\"\n\ntr46@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftr46\u002F-\u002Ftr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09\"\n integrity sha1-qLE\u002F1r\u002FSSJUZZ0zN5VujaTtwbQk=\n dependencies:\n punycode \"^2.1.0\"\n\nts-pnp@1.1.4, ts-pnp@^1.1.2:\n version \"1.1.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fts-pnp\u002F-\u002Fts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90\"\n integrity sha512-1J\u002FvefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8\u002FB4VUAUI9QGw==\n\ntslib@^1.8.1, tslib@^1.9.0:\n version \"1.10.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftslib\u002F-\u002Ftslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a\"\n integrity sha512-qOebF53frne81cf0S9B41ByenJ3\u002FIuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==\n\ntsutils@^3.17.1:\n version \"3.17.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftsutils\u002F-\u002Ftsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759\"\n integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==\n dependencies:\n tslib \"^1.8.1\"\n\ntty-browserify@0.0.0:\n version \"0.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftty-browserify\u002F-\u002Ftty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6\"\n integrity sha1-oVe6QC2iTpv5V\u002FmqadUk7tQpAaY=\n\ntunnel-agent@^0.6.0:\n version \"0.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftunnel-agent\u002F-\u002Ftunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd\"\n integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=\n dependencies:\n safe-buffer \"^5.0.1\"\n\ntweetnacl@^0.14.3, tweetnacl@~0.14.0:\n version \"0.14.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftweetnacl\u002F-\u002Ftweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64\"\n integrity sha1-WuaBd\u002FGS1EViadEIr6k\u002F+HQ\u002FT2Q=\n\ntype-check@~0.3.2:\n version \"0.3.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftype-check\u002F-\u002Ftype-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72\"\n integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=\n dependencies:\n prelude-ls \"~1.1.2\"\n\ntype-fest@^0.5.2:\n version \"0.5.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftype-fest\u002F-\u002Ftype-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2\"\n integrity sha512-DWkS49EQKVX\u002F\u002FTbupb9TFa19c7+MK1XmzkrZUR8TAktmE\u002FDizXoaoJV6TZ\u002FtSIPXipqNiRI6CyAe7x69Jb6RSw==\n\ntype-fest@^0.6.0:\n version \"0.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftype-fest\u002F-\u002Ftype-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b\"\n integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7\u002FQLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==\n\ntype-is@~1.6.17, type-is@~1.6.18:\n version \"1.6.18\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftype-is\u002F-\u002Ftype-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131\"\n integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==\n dependencies:\n media-typer \"0.3.0\"\n mime-types \"~2.1.24\"\n\ntype@^1.0.1:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftype\u002F-\u002Ftype-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0\"\n integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN\u002FF+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==\n\ntype@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftype\u002F-\u002Ftype-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3\"\n integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P\u002FpsIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==\n\ntypedarray@^0.0.6:\n version \"0.0.6\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Ftypedarray\u002F-\u002Ftypedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777\"\n integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=\n\nuglify-js@3.4.x:\n version \"3.4.10\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fuglify-js\u002F-\u002Fuglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f\"\n integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7\u002FKAF\u002FT72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN\u002FAoWeS23OzEiEFxw==\n dependencies:\n commander \"~2.19.0\"\n source-map \"~0.6.1\"\n\nuglify-js@^3.1.4:\n version \"3.6.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fuglify-js\u002F-\u002Fuglify-js-3.6.7.tgz#15f49211df6b8a01ee91322bbe46fa33223175dc\"\n integrity sha512-4sXQDzmdnoXiO+xvmTzQsfIiwrjUCSA95rSP4SEd8tDb51W2TiDOlL76Hl+Kw0Ie42PSItCW8\u002Ft6pBNCF2R48A==\n dependencies:\n commander \"~2.20.3\"\n source-map \"~0.6.1\"\n\nunicode-canonical-property-names-ecmascript@^1.0.4:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funicode-canonical-property-names-ecmascript\u002F-\u002Funicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818\"\n integrity sha512-jDrNnXWHd4oHiTZnx\u002FZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==\n\nunicode-match-property-ecmascript@^1.0.4:\n version \"1.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funicode-match-property-ecmascript\u002F-\u002Funicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c\"\n integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG\u002F5X3MjS+k\u002FY9Xw4SFCY9IkR0rg==\n dependencies:\n unicode-canonical-property-names-ecmascript \"^1.0.4\"\n unicode-property-aliases-ecmascript \"^1.0.4\"\n\nunicode-match-property-value-ecmascript@^1.1.0:\n version \"1.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funicode-match-property-value-ecmascript\u002F-\u002Funicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277\"\n integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==\n\nunicode-property-aliases-ecmascript@^1.0.4:\n version \"1.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funicode-property-aliases-ecmascript\u002F-\u002Funicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57\"\n integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf\u002FGgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==\n\nunion-value@^1.0.0:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funion-value\u002F-\u002Funion-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847\"\n integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG\u002FxwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==\n dependencies:\n arr-union \"^3.1.0\"\n get-value \"^2.0.6\"\n is-extendable \"^0.1.1\"\n set-value \"^2.0.1\"\n\nuniq@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funiq\u002F-\u002Funiq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff\"\n integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=\n\nuniqs@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funiqs\u002F-\u002Funiqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02\"\n integrity sha1-\u002F+3ks2slKQaW5uFl1KWe25mOawI=\n\nunique-filename@^1.1.1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funique-filename\u002F-\u002Funique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230\"\n integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==\n dependencies:\n unique-slug \"^2.0.0\"\n\nunique-slug@^2.0.0:\n version \"2.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funique-slug\u002F-\u002Funique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c\"\n integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==\n dependencies:\n imurmurhash \"^0.1.4\"\n\nuniversalify@^0.1.0:\n version \"0.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funiversalify\u002F-\u002Funiversalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66\"\n integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P\u002Fd\u002FGBOYaACQ1w+0azUkg==\n\nunpipe@1.0.0, unpipe@~1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funpipe\u002F-\u002Funpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec\"\n integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=\n\nunquote@~1.1.1:\n version \"1.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funquote\u002F-\u002Funquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544\"\n integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=\n\nunset-value@^1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Funset-value\u002F-\u002Funset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559\"\n integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=\n dependencies:\n has-value \"^0.3.1\"\n isobject \"^3.0.0\"\n\nupath@^1.1.1:\n version \"1.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fupath\u002F-\u002Fupath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894\"\n integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN\u002FG\u002FjS4jfqUkZxoryvJgVPEcrl5NL\u002FggHsSmLMHuH64Lhg==\n\nupdate-check@1.5.2:\n version \"1.5.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fupdate-check\u002F-\u002Fupdate-check-1.5.2.tgz#2fe09f725c543440b3d7dabe8971f2d5caaedc28\"\n integrity sha512-1TrmYLuLj\u002F5ZovwUS7fFd1jMH3NnFDN1y1A8dboedIDt7zs\u002FzJMo6TwwlhYKkSeEwzleeiSBV5\u002F3c9ufAQWDaQ==\n dependencies:\n registry-auth-token \"3.3.2\"\n registry-url \"3.1.0\"\n\nupper-case@^1.1.1:\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fupper-case\u002F-\u002Fupper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598\"\n integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=\n\nuri-js@^4.2.2:\n version \"4.2.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Furi-js\u002F-\u002Furi-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0\"\n integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf\u002FG5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==\n dependencies:\n punycode \"^2.1.0\"\n\nurix@^0.1.0:\n version \"0.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Furix\u002F-\u002Furix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72\"\n integrity sha1-2pN\u002FemLiH+wf0Y1Js1wpNQZ6bHI=\n\nurl-loader@2.1.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Furl-loader\u002F-\u002Furl-loader-2.1.0.tgz#bcc1ecabbd197e913eca23f5e0378e24b4412961\"\n integrity sha512-kVrp\u002F8VfEm5fUt+fl2E0FQyrpmOYgMEkBsv8+UDP1wFhszECq5JyGF33I7cajlVY90zRZ6MyfgKXngLvHYZX8A==\n dependencies:\n loader-utils \"^1.2.3\"\n mime \"^2.4.4\"\n schema-utils \"^2.0.0\"\n\nurl-parse@^1.4.3:\n version \"1.4.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Furl-parse\u002F-\u002Furl-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278\"\n integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==\n dependencies:\n querystringify \"^2.1.1\"\n requires-port \"^1.0.0\"\n\nurl@^0.11.0:\n version \"0.11.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Furl\u002F-\u002Furl-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1\"\n integrity sha1-ODjpfPxgUh63PFJajlW\u002F3Z4uKPE=\n dependencies:\n punycode \"1.3.2\"\n querystring \"0.2.0\"\n\nuse@^3.1.0:\n version \"3.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fuse\u002F-\u002Fuse-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f\"\n integrity sha512-cwESVXlO3url9YWlFW\u002FTA9cshCEhtu7IKJ\u002Fp5soJ\u002FgGpj7vbvFrAY\u002FeIioQ6Dw23KjZhYgiIo8HOs1nQ2vr\u002FoQ==\n\nutil-deprecate@^1.0.1, util-deprecate@~1.0.1:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Futil-deprecate\u002F-\u002Futil-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf\"\n integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=\n\nutil.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Futil.promisify\u002F-\u002Futil.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030\"\n integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw\u002FZuwehtfsrNkA==\n dependencies:\n define-properties \"^1.1.2\"\n object.getownpropertydescriptors \"^2.0.3\"\n\nutil@0.10.3:\n version \"0.10.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Futil\u002F-\u002Futil-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9\"\n integrity sha1-evsa\u002FlCAUkZInj23\u002Fg7TeTNqwPk=\n dependencies:\n inherits \"2.0.1\"\n\nutil@^0.11.0:\n version \"0.11.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Futil\u002F-\u002Futil-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61\"\n integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM\u002FS5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW\u002FNdn2NB\u002FHQ==\n dependencies:\n inherits \"2.0.3\"\n\nutila@^0.4.0, utila@~0.4:\n version \"0.4.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Futila\u002F-\u002Futila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c\"\n integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=\n\nutils-merge@1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Futils-merge\u002F-\u002Futils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713\"\n integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=\n\nuuid@^3.0.1, uuid@^3.3.2:\n version \"3.3.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fuuid\u002F-\u002Fuuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866\"\n integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2\u002F6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==\n\nv8-compile-cache@^2.0.3:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fv8-compile-cache\u002F-\u002Fv8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e\"\n integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==\n\nvalidate-npm-package-license@^3.0.1:\n version \"3.0.4\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fvalidate-npm-package-license\u002F-\u002Fvalidate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a\"\n integrity sha512-DpKm2Ui\u002FxN7\u002FHQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3\u002FJmbhsDo7fcAJq4s9h27Ew==\n dependencies:\n spdx-correct \"^3.0.0\"\n spdx-expression-parse \"^3.0.0\"\n\nvalue-equal@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fvalue-equal\u002F-\u002Fvalue-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c\"\n integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==\n\nvary@~1.1.2:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fvary\u002F-\u002Fvary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc\"\n integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=\n\nvendors@^1.0.0:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fvendors\u002F-\u002Fvendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0\"\n integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru\u002FnyEwRubcw==\n\nverror@1.10.0:\n version \"1.10.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fverror\u002F-\u002Fverror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400\"\n integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=\n dependencies:\n assert-plus \"^1.0.0\"\n core-util-is \"1.0.2\"\n extsprintf \"^1.2.0\"\n\nvm-browserify@^1.0.1:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fvm-browserify\u002F-\u002Fvm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0\"\n integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd\u002FRRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==\n\nw3c-hr-time@^1.0.1:\n version \"1.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fw3c-hr-time\u002F-\u002Fw3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045\"\n integrity sha1-gqwr\u002F2PZUOqeMYmlimViX+3xkEU=\n dependencies:\n browser-process-hrtime \"^0.1.2\"\n\nw3c-xmlserializer@^1.1.2:\n version \"1.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fw3c-xmlserializer\u002F-\u002Fw3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794\"\n integrity sha512-p10l\u002FayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==\n dependencies:\n domexception \"^1.0.1\"\n webidl-conversions \"^4.0.2\"\n xml-name-validator \"^3.0.0\"\n\nwait-for-expect@^3.0.0:\n version \"3.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwait-for-expect\u002F-\u002Fwait-for-expect-3.0.1.tgz#ec204a76b0038f17711e575720aaf28505ac7185\"\n integrity sha512-3Ha7lu+zshEG\u002FCeHdcpmQsZnnZpPj\u002FUsG3DuKO8FskjuDbkx3jE3845H+CuwZjA2YWYDfKMU2KhnCaXMLd3wVw==\n\nwalker@^1.0.7, walker@~1.0.5:\n version \"1.0.7\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwalker\u002F-\u002Fwalker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb\"\n integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=\n dependencies:\n makeerror \"1.0.x\"\n\nwatchpack@^1.6.0:\n version \"1.6.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwatchpack\u002F-\u002Fwatchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00\"\n integrity sha512-i6dHe3EyLjMmDlU1\u002FbGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==\n dependencies:\n chokidar \"^2.0.2\"\n graceful-fs \"^4.1.2\"\n neo-async \"^2.5.0\"\n\nwbuf@^1.1.0, wbuf@^1.7.3:\n version \"1.7.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwbuf\u002F-\u002Fwbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df\"\n integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8\u002FgHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==\n dependencies:\n minimalistic-assert \"^1.0.0\"\n\nwebidl-conversions@^4.0.2:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwebidl-conversions\u002F-\u002Fwebidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad\"\n integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==\n\nwebpack-dev-middleware@^3.5.1:\n version \"3.7.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwebpack-dev-middleware\u002F-\u002Fwebpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3\"\n integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==\n dependencies:\n memory-fs \"^0.4.1\"\n mime \"^2.4.4\"\n mkdirp \"^0.5.1\"\n range-parser \"^1.2.1\"\n webpack-log \"^2.0.0\"\n\nwebpack-dev-server@3.2.1:\n version \"3.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwebpack-dev-server\u002F-\u002Fwebpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e\"\n integrity sha512-sjuE4mnmx6JOh9kvSbPYw3u\u002F6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6\u002FrCw==\n dependencies:\n ansi-html \"0.0.7\"\n bonjour \"^3.5.0\"\n chokidar \"^2.0.0\"\n compression \"^1.5.2\"\n connect-history-api-fallback \"^1.3.0\"\n debug \"^4.1.1\"\n del \"^3.0.0\"\n express \"^4.16.2\"\n html-entities \"^1.2.0\"\n http-proxy-middleware \"^0.19.1\"\n import-local \"^2.0.0\"\n internal-ip \"^4.2.0\"\n ip \"^1.1.5\"\n killable \"^1.0.0\"\n loglevel \"^1.4.1\"\n opn \"^5.1.0\"\n portfinder \"^1.0.9\"\n schema-utils \"^1.0.0\"\n selfsigned \"^1.9.1\"\n semver \"^5.6.0\"\n serve-index \"^1.7.2\"\n sockjs \"0.3.19\"\n sockjs-client \"1.3.0\"\n spdy \"^4.0.0\"\n strip-ansi \"^3.0.0\"\n supports-color \"^6.1.0\"\n url \"^0.11.0\"\n webpack-dev-middleware \"^3.5.1\"\n webpack-log \"^2.0.0\"\n yargs \"12.0.2\"\n\nwebpack-log@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwebpack-log\u002F-\u002Fwebpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f\"\n integrity sha512-cX8G2vR\u002F85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ\u002FWE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==\n dependencies:\n ansi-colors \"^3.0.0\"\n uuid \"^3.3.2\"\n\nwebpack-manifest-plugin@2.1.1:\n version \"2.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwebpack-manifest-plugin\u002F-\u002Fwebpack-manifest-plugin-2.1.1.tgz#6b3e280327815b83152c79f42d0ca13b665773c4\"\n integrity sha512-2zqJ6mvc3yoiqfDjghAIpljhLSDh\u002FG7vqGrzYcYqqRCd\u002FZZZCAuc\u002FYPE5xG0LGpLgDJRhUNV1H+znyyhIxahzA==\n dependencies:\n fs-extra \"^7.0.0\"\n lodash \"\u003E=3.5 \u003C5\"\n object.entries \"^1.1.0\"\n tapable \"^1.0.0\"\n\nwebpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1:\n version \"1.4.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwebpack-sources\u002F-\u002Fwebpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933\"\n integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==\n dependencies:\n source-list-map \"^2.0.0\"\n source-map \"~0.6.1\"\n\nwebpack@4.41.0:\n version \"4.41.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwebpack\u002F-\u002Fwebpack-4.41.0.tgz#db6a254bde671769f7c14e90a1a55e73602fc70b\"\n integrity sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz\u002Fpt\u002FWrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g==\n dependencies:\n \"@webassemblyjs\u002Fast\" \"1.8.5\"\n \"@webassemblyjs\u002Fhelper-module-context\" \"1.8.5\"\n \"@webassemblyjs\u002Fwasm-edit\" \"1.8.5\"\n \"@webassemblyjs\u002Fwasm-parser\" \"1.8.5\"\n acorn \"^6.2.1\"\n ajv \"^6.10.2\"\n ajv-keywords \"^3.4.1\"\n chrome-trace-event \"^1.0.2\"\n enhanced-resolve \"^4.1.0\"\n eslint-scope \"^4.0.3\"\n json-parse-better-errors \"^1.0.2\"\n loader-runner \"^2.4.0\"\n loader-utils \"^1.2.3\"\n memory-fs \"^0.4.1\"\n micromatch \"^3.1.10\"\n mkdirp \"^0.5.1\"\n neo-async \"^2.6.1\"\n node-libs-browser \"^2.2.1\"\n schema-utils \"^1.0.0\"\n tapable \"^1.1.3\"\n terser-webpack-plugin \"^1.4.1\"\n watchpack \"^1.6.0\"\n webpack-sources \"^1.4.1\"\n\nwebsocket-driver@\u003E=0.5.1:\n version \"0.7.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwebsocket-driver\u002F-\u002Fwebsocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9\"\n integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==\n dependencies:\n http-parser-js \"\u003E=0.4.0 \u003C0.4.11\"\n safe-buffer \"\u003E=5.1.0\"\n websocket-extensions \"\u003E=0.1.1\"\n\nwebsocket-extensions@\u003E=0.1.1:\n version \"0.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwebsocket-extensions\u002F-\u002Fwebsocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29\"\n integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==\n\nwhatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5:\n version \"1.0.5\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwhatwg-encoding\u002F-\u002Fwhatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0\"\n integrity sha512-b5lim54JOPN9HtzvK9HFXvBma\u002FrnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY\u002FKNh8rxSo9DKQrnUEw==\n dependencies:\n iconv-lite \"0.4.24\"\n\nwhatwg-fetch@3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwhatwg-fetch\u002F-\u002Fwhatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb\"\n integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK\u002FMzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==\n\nwhatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0:\n version \"2.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwhatwg-mimetype\u002F-\u002Fwhatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf\"\n integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB\u002FnCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV\u002Fvi0IC5lEAGFgrjGv\u002Fg==\n\nwhatwg-url@^6.4.1:\n version \"6.5.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwhatwg-url\u002F-\u002Fwhatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8\"\n integrity sha512-rhRZRqx\u002FTLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==\n dependencies:\n lodash.sortby \"^4.7.0\"\n tr46 \"^1.0.1\"\n webidl-conversions \"^4.0.2\"\n\nwhatwg-url@^7.0.0:\n version \"7.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwhatwg-url\u002F-\u002Fwhatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06\"\n integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI\u002F9gzIie9CtwVLm8wtw6YJdKyxSjeg==\n dependencies:\n lodash.sortby \"^4.7.0\"\n tr46 \"^1.0.1\"\n webidl-conversions \"^4.0.2\"\n\nwhich-module@^2.0.0:\n version \"2.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwhich-module\u002F-\u002Fwhich-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a\"\n integrity sha1-2e8H3Od7mQK4o6j6SzHD4\u002Ffm6Ho=\n\nwhich@^1.2.9, which@^1.3.0, which@^1.3.1:\n version \"1.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwhich\u002F-\u002Fwhich-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a\"\n integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112\u002FTZmHxxUfuJqPXSOm7tDyas0OSIQ==\n dependencies:\n isexe \"^2.0.0\"\n\nwhich@^2.0.1:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwhich\u002F-\u002Fwhich-2.0.1.tgz#f1cf94d07a8e571b6ff006aeb91d0300c47ef0a4\"\n integrity sha512-N7GBZOTswtB9lkQBZA4+zAXrjEIWAUOB93AvzUiudRzRxhUdLURQ7D\u002FgAIMY1gatT\u002FLTbmbcv8SiYazy3eYB7w==\n dependencies:\n isexe \"^2.0.0\"\n\nwide-align@^1.1.0:\n version \"1.1.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwide-align\u002F-\u002Fwide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457\"\n integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm\u002FwG5u\u002FRSKzwdAC4i51YigihA==\n dependencies:\n string-width \"^1.0.2 || 2\"\n\nwidest-line@^2.0.0:\n version \"2.0.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwidest-line\u002F-\u002Fwidest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc\"\n integrity sha512-Ba5m9\u002FFa4Xt9eb2ELXt77JxVDV8w7qQrH0zS\u002FTWSJdLyAwQjWoOzpzj5lwVftDz6n\u002FEOu3tNACS84v509qwnJA==\n dependencies:\n string-width \"^2.1.1\"\n\nwordwrap@~0.0.2:\n version \"0.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwordwrap\u002F-\u002Fwordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107\"\n integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=\n\nwordwrap@~1.0.0:\n version \"1.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwordwrap\u002F-\u002Fwordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb\"\n integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=\n\nworkbox-background-sync@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-background-sync\u002F-\u002Fworkbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950\"\n integrity sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm\u002FqhGB89YfO4PmB\u002F0hQwPRg==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworkbox-broadcast-update@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-broadcast-update\u002F-\u002Fworkbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b\"\n integrity sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1\u002FL5m43DUM4q7C+W6eQMMbA==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworkbox-build@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-build\u002F-\u002Fworkbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64\"\n integrity sha512-UHdwrN3FrDvicM3AqJS\u002FJ07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.3.4\"\n \"@hapi\u002Fjoi\" \"^15.0.0\"\n common-tags \"^1.8.0\"\n fs-extra \"^4.0.2\"\n glob \"^7.1.3\"\n lodash.template \"^4.4.0\"\n pretty-bytes \"^5.1.0\"\n stringify-object \"^3.3.0\"\n strip-comments \"^1.0.2\"\n workbox-background-sync \"^4.3.1\"\n workbox-broadcast-update \"^4.3.1\"\n workbox-cacheable-response \"^4.3.1\"\n workbox-core \"^4.3.1\"\n workbox-expiration \"^4.3.1\"\n workbox-google-analytics \"^4.3.1\"\n workbox-navigation-preload \"^4.3.1\"\n workbox-precaching \"^4.3.1\"\n workbox-range-requests \"^4.3.1\"\n workbox-routing \"^4.3.1\"\n workbox-strategies \"^4.3.1\"\n workbox-streams \"^4.3.1\"\n workbox-sw \"^4.3.1\"\n workbox-window \"^4.3.1\"\n\nworkbox-cacheable-response@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-cacheable-response\u002F-\u002Fworkbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91\"\n integrity sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworkbox-core@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-core\u002F-\u002Fworkbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6\"\n integrity sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==\n\nworkbox-expiration@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-expiration\u002F-\u002Fworkbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921\"\n integrity sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworkbox-google-analytics@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-google-analytics\u002F-\u002Fworkbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a\"\n integrity sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==\n dependencies:\n workbox-background-sync \"^4.3.1\"\n workbox-core \"^4.3.1\"\n workbox-routing \"^4.3.1\"\n workbox-strategies \"^4.3.1\"\n\nworkbox-navigation-preload@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-navigation-preload\u002F-\u002Fworkbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d\"\n integrity sha512-K076n3oFHYp16\u002FC+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworkbox-precaching@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-precaching\u002F-\u002Fworkbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba\"\n integrity sha512-piSg\u002F2csPoIi\u002FvPpp48t1q5JLYjMkmg5gsXBQkh\u002FQYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworkbox-range-requests@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-range-requests\u002F-\u002Fworkbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74\"\n integrity sha512-S+HhL9+iTFypJZ\u002FyQSl\u002Fx2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworkbox-routing@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-routing\u002F-\u002Fworkbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda\"\n integrity sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk\u002FBCztvOJ7yUpErMKa4z3uQLX+g==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworkbox-strategies@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-strategies\u002F-\u002Fworkbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646\"\n integrity sha512-F\u002F+E57BmVG8dX6dCCopBlkDvvhg\u002Fzj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk\u002F+BSYICsWmRq5qHS2UYzhw==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworkbox-streams@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-streams\u002F-\u002Fworkbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3\"\n integrity sha512-4Kisis1f\u002Fy0ihf4l3u\u002F+ndMkJkIT4\u002F6UOacU3A4BwZSAC9pQ9vSvJpIi\u002FWFGQRH\u002FuPXvuVjF5c2RfIPQFSS2uA==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworkbox-sw@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-sw\u002F-\u002Fworkbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164\"\n integrity sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3\u002FXrvkVTmQvLN4O5k3JawGReXr9w==\n\nworkbox-webpack-plugin@4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-webpack-plugin\u002F-\u002Fworkbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd\"\n integrity sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE\u002FLk\u002F4lqs5Htw4WOQgakQy\u002Fo\u002F4CoXQlMCYldaqUg+EJ35l9MEQ==\n dependencies:\n \"@babel\u002Fruntime\" \"^7.0.0\"\n json-stable-stringify \"^1.0.1\"\n workbox-build \"^4.3.1\"\n\nworkbox-window@^4.3.1:\n version \"4.3.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworkbox-window\u002F-\u002Fworkbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3\"\n integrity sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo\u002FWETgl1fqgsxN0Hg==\n dependencies:\n workbox-core \"^4.3.1\"\n\nworker-farm@^1.7.0:\n version \"1.7.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworker-farm\u002F-\u002Fworker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8\"\n integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP\u002FIJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB\u002FT5M+FLcRPjz4TDacRf3OCfNUzw==\n dependencies:\n errno \"~0.1.7\"\n\nworker-rpc@^0.1.0:\n version \"0.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fworker-rpc\u002F-\u002Fworker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5\"\n integrity sha512-P1WjMrUB3qgJNI9jfmpZ\u002FhtmBEjFh\u002F\u002F6l\u002F5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==\n dependencies:\n microevent.ts \"~0.1.1\"\n\nwrap-ansi@^2.0.0:\n version \"2.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwrap-ansi\u002F-\u002Fwrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85\"\n integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=\n dependencies:\n string-width \"^1.0.1\"\n strip-ansi \"^3.0.1\"\n\nwrap-ansi@^5.1.0:\n version \"5.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwrap-ansi\u002F-\u002Fwrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09\"\n integrity sha512-QC1\u002FiN\u002F2\u002FRPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl\u002FMOt2N01qU2H\u002FFkzEa9PKto1BqDjtd7Q==\n dependencies:\n ansi-styles \"^3.2.0\"\n string-width \"^3.0.0\"\n strip-ansi \"^5.0.0\"\n\nwrappy@1:\n version \"1.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwrappy\u002F-\u002Fwrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f\"\n integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=\n\nwrite-file-atomic@2.4.1:\n version \"2.4.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwrite-file-atomic\u002F-\u002Fwrite-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529\"\n integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7\u002Fvlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==\n dependencies:\n graceful-fs \"^4.1.11\"\n imurmurhash \"^0.1.4\"\n signal-exit \"^3.0.2\"\n\nwrite@1.0.3:\n version \"1.0.3\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fwrite\u002F-\u002Fwrite-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3\"\n integrity sha512-\u002Flg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==\n dependencies:\n mkdirp \"^0.5.1\"\n\nws@^5.2.0:\n version \"5.2.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fws\u002F-\u002Fws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f\"\n integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux\u002FnhlHA==\n dependencies:\n async-limiter \"~1.0.0\"\n\nws@^6.1.2:\n version \"6.2.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fws\u002F-\u002Fws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb\"\n integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay\u002F2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==\n dependencies:\n async-limiter \"~1.0.0\"\n\nxml-name-validator@^3.0.0:\n version \"3.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fxml-name-validator\u002F-\u002Fxml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a\"\n integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz\u002FqizqzJKOMIfUJHETbBw\u002FsFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg\u002F4Pw==\n\nxmlchars@^2.1.1:\n version \"2.2.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fxmlchars\u002F-\u002Fxmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb\"\n integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==\n\nxregexp@4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fxregexp\u002F-\u002Fxregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020\"\n integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR\u002FY4rFg==\n\nxtend@^4.0.0, xtend@~4.0.1:\n version \"4.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fxtend\u002F-\u002Fxtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54\"\n integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0\u002FCjtrUwFAxD82\u002FmCWbtLsGjFIad0wIsod4zrTAEQ==\n\n\"y18n@^3.2.1 || ^4.0.0\", y18n@^4.0.0:\n version \"4.0.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fy18n\u002F-\u002Fy18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b\"\n integrity sha512-r9S\u002FZyXu\u002FXu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj\u002Fw==\n\nyallist@^2.1.2:\n version \"2.1.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fyallist\u002F-\u002Fyallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52\"\n integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=\n\nyallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:\n version \"3.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fyallist\u002F-\u002Fyallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd\"\n integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\n\nyargs-parser@^10.1.0:\n version \"10.1.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fyargs-parser\u002F-\u002Fyargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8\"\n integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL\u002Fquggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c\u002FrgjbQ==\n dependencies:\n camelcase \"^4.1.0\"\n\nyargs-parser@^13.1.1:\n version \"13.1.1\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fyargs-parser\u002F-\u002Fyargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0\"\n integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==\n dependencies:\n camelcase \"^5.0.0\"\n decamelize \"^1.2.0\"\n\nyargs@12.0.2:\n version \"12.0.2\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fyargs\u002F-\u002Fyargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc\"\n integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG\u002F2BW0JZi4WGgTR2IV5ChqlqrDGVQ==\n dependencies:\n cliui \"^4.0.0\"\n decamelize \"^2.0.0\"\n find-up \"^3.0.0\"\n get-caller-file \"^1.0.1\"\n os-locale \"^3.0.0\"\n require-directory \"^2.1.1\"\n require-main-filename \"^1.0.1\"\n set-blocking \"^2.0.0\"\n string-width \"^2.0.0\"\n which-module \"^2.0.0\"\n y18n \"^3.2.1 || ^4.0.0\"\n yargs-parser \"^10.1.0\"\n\nyargs@^13.3.0:\n version \"13.3.0\"\n resolved \"https:\u002F\u002Fregistry.yarnpkg.com\u002Fyargs\u002F-\u002Fyargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83\"\n integrity sha512-2eehun\u002F8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN\u002FNwxv+8XJsUA==\n dependencies:\n cliui \"^5.0.0\"\n find-up \"^3.0.0\"\n get-caller-file \"^2.0.1\"\n require-directory \"^2.1.1\"\n require-main-filename \"^2.0.0\"\n set-blocking \"^2.0.0\"\n string-width \"^3.0.0\"\n which-module \"^2.0.0\"\n y18n \"^4.0.0\"\n yargs-parser \"^13.1.1\"\n","id":"da1b3889-0dc3-459f-ad57-f43ebc10bd27","is_binary":false,"title":"yarn.lock","sha":null,"inserted_at":"2020-03-21T15:31:44","updated_at":"2020-03-21T15:31:44","upload_id":null,"shortid":"HJZLOw737LU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":null}],"room_id":null,"title":"Concurrent React 🔀","original_git_commit_sha":null,"template":"create-react-app","collection":false,"screenshot_url":"https:\u002F\u002Fscreenshots.codesandbox.io\u002Fnek6b\u002F1.png","tags":[],"updated_at":"2020-03-21T15:31:44","user_liked":false,"directories":[{"id":"5f8f5d61-9d68-4beb-96d0-6f3d0309cf97","title":"public","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"H1_PmnQ88","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":null},{"id":"a6ac9fb2-c209-47ff-b6c8-fc20bded764e","title":"scripts","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"SyGODQ278L","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":null},{"id":"32e0204b-f805-4133-a5c1-7760e2b1941f","title":"src","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"S1m_wm37LL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":null},{"id":"c4121f8d-4135-4afe-82f3-112bf56db30e","title":"img","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"rkluwQ2XI8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"H1_PmnQ88"},{"id":"ad7fbac1-6b10-48a8-a421-b39ae9a08e56","title":"pokemon","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"rkZuDQ3QUU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkluwQ2XI8"},{"id":"4525b36e-ca49-413b-9515-24ef292f497b","title":"@types","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"BkEuwmn7II","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"id":"a7c7e292-e312-4e19-9c75-ea9bf09d75d4","title":"__tests__","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"BkHOvQnQII","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"id":"a911fc66-c3fe-4f88-878c-e4d983ab861b","title":"examples","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"rkUdw73XL8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"id":"1ca08051-f86f-4d4a-9982-1b140f3f08d4","title":"exercises-final","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"SJY_vXn7L8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"id":"73ebdda1-3420-4bf5-80ea-7a31a79a5bf0","title":"exercises","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"ByquwmhXUI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"id":"9ca9bd1d-c595-4065-9ed3-e819d4a125ec","title":"hacks","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"rkidDQhXIL","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"id":"f9162901-1254-4f11-9ba4-4eec9fb7b2dd","title":"suspense-list","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"r12_DX3QIU","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"S1m_wm37LL"},{"id":"5cf5ba08-679b-451a-a9c3-413843bc93dd","title":"fetch-approaches","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"SkvOv7hXU8","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"rkUdw73XL8"},{"id":"a7094264-b2b9-45cc-930c-d193ca16952a","title":"lazy","inserted_at":"2020-03-21T15:31:43","updated_at":"2020-03-21T15:31:43","shortid":"BJuuPm2mLI","source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","directory_shortid":"SkvOv7hXU8"}],"restricted":false,"permissions":{"prevent_sandbox_export":false,"prevent_sandbox_leaving":false},"author":null,"custom_template":{"id":"2aae08fb-9088-434c-8e46-b97b9f7a8d6f","title":"Concurrent React 🔀","v2":false,"color":"#61DAFB","url":null,"published":false,"icon_url":"github","official":false},"picks":[],"forked_template":null,"feature_flags":{"comments":false,"container_lsp":false},"fork_count":130,"pr_number":null,"source_id":"bd69b6c9-3336-4dff-9d82-989a7342d9df","privacy":0,"restrictions":{"free_plan_editing_restricted":false,"live_sessions_restricted":false},"forked_template_sandbox":null,"team":null,"v2":false,"is_frozen":false,"inserted_at":"2019-11-23T05:47:25","description":"Concurrent React Workshop"};