diff --git a/.gitignore b/.gitignore index 6399a89..662864e 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,6 @@ Thumbs.db # custom /.cache /credentials -.env.local \ No newline at end of file +.env.local +.local.env +/.yalc \ No newline at end of file diff --git a/.yarnrc b/.yarnrc index 7f1b61d..0b38d98 100644 --- a/.yarnrc +++ b/.yarnrc @@ -1 +1 @@ -save-prefix= \ No newline at end of file +save-prefix "" \ No newline at end of file diff --git a/apps/blueprints/.babelrc b/apps/blueprints/.babelrc index 9fcef03..0da40e7 100644 --- a/apps/blueprints/.babelrc +++ b/apps/blueprints/.babelrc @@ -1,4 +1,14 @@ { - "presets": ["next/babel"], - "plugins": [] + "presets": [ + [ + "next/babel", + { + "preset-react": { + "runtime": "automatic", + "importSource": "@emotion/react" + } + } + ] + ], + "plugins": ["@emotion/babel-plugin"] } diff --git a/apps/blueprints/.eslintrc.json b/apps/blueprints/.eslintrc.json index 055943f..c1c049e 100644 --- a/apps/blueprints/.eslintrc.json +++ b/apps/blueprints/.eslintrc.json @@ -187,14 +187,21 @@ "react/no-direct-mutation-state": "warn", "react/no-is-mounted": "warn", "react/no-typos": "error", - "react/react-in-jsx-scope": "error", + "react/react-in-jsx-scope": "off", "react/require-render-return": "error", "react/style-prop-object": "warn", "react/jsx-no-useless-fragment": "warn", "jsx-a11y/accessible-emoji": "warn", "jsx-a11y/alt-text": "warn", "jsx-a11y/anchor-has-content": "warn", - "jsx-a11y/anchor-is-valid": ["warn", { "aspects": ["noHref", "invalidHref"] }], + "jsx-a11y/anchor-is-valid": [ + "warn", + { + "components": ["Link"], + "specialLink": ["hrefLeft", "hrefRight"], + "aspects": ["noHref", "invalidHref", "preferButton"] + } + ], "jsx-a11y/aria-activedescendant-has-tabindex": "warn", "jsx-a11y/aria-props": "warn", "jsx-a11y/aria-proptypes": "warn", diff --git a/apps/blueprints/next-env.d.ts b/apps/blueprints/next-env.d.ts index 7b7aa2c..6bd2980 100644 --- a/apps/blueprints/next-env.d.ts +++ b/apps/blueprints/next-env.d.ts @@ -1,2 +1,3 @@ /// /// +/// diff --git a/apps/blueprints/public/basis_transcoder.js b/apps/blueprints/public/basis_transcoder.js new file mode 100644 index 0000000..9b98511 --- /dev/null +++ b/apps/blueprints/public/basis_transcoder.js @@ -0,0 +1,1261 @@ +/* eslint-disable */ + +// Copyright (C) 2019 Binomial LLC. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// https://github.com/BinomialLLC/basis_universal/blob/master/webgl/transcoder/build/basis_transcoder.js + +var BASIS = (function () +{ + let _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + + return ( + function (BASIS) + { + BASIS = BASIS || {}; + + const Module = typeof BASIS !== 'undefined' ? BASIS : {}; let moduleOverrides = {}; let key; + + for (key in Module) { if (Module.hasOwnProperty(key)) { moduleOverrides[key] = Module[key]; } } let arguments_ = []; let thisProgram = './this.program'; let quit_ = function (status, toThrow) { throw toThrow; }; let ENVIRONMENT_IS_WEB = false; let ENVIRONMENT_IS_WORKER = false; let ENVIRONMENT_IS_NODE = false; let ENVIRONMENT_IS_SHELL = false; + + ENVIRONMENT_IS_WEB = typeof window === 'object'; ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; let scriptDirectory = ''; + + function locateFile(path) + { + if (Module.locateFile) { return Module.locateFile(path, scriptDirectory); } + + return scriptDirectory + path; + } let read_; let readAsync; let readBinary; let setWindowTitle; let nodeFS; let nodePath; + + if (ENVIRONMENT_IS_NODE) + { + if (ENVIRONMENT_IS_WORKER) { scriptDirectory = `${require('path').dirname(scriptDirectory)}/`; } + else { scriptDirectory = `${__dirname}/`; }read_ = function shell_read(filename, binary) + { + if (!nodeFS)nodeFS = require('fs'); if (!nodePath)nodePath = require('path'); filename = nodePath.normalize(filename); + + return nodeFS.readFileSync(filename, binary ? null : 'utf8'); + }; readBinary = function readBinary(filename) + { + let ret = read_(filename, true); + + if (!ret.buffer) { ret = new Uint8Array(ret); }assert(ret.buffer); + + return ret; + }; if (process.argv.length > 1) { thisProgram = process.argv[1].replace(/\\/g, '/'); }arguments_ = process.argv.slice(2); process.on('uncaughtException', function (ex) { if (!(ex instanceof ExitStatus)) { throw ex; } }); process.on('unhandledRejection', abort); quit_ = function (status) { process.exit(status); }; Module.inspect = function () { return '[Emscripten Module object]'; }; + } + else if (ENVIRONMENT_IS_SHELL) + { + if (typeof read !== 'undefined') { read_ = function shell_read(f) { return read(f); }; }readBinary = function readBinary(f) + { + let data; + + if (typeof readbuffer === 'function') { return new Uint8Array(readbuffer(f)); }data = read(f, 'binary'); assert(typeof data === 'object'); + + return data; + }; if (typeof scriptArgs !== 'undefined') { arguments_ = scriptArgs; } + else if (typeof arguments !== 'undefined') { arguments_ = arguments; } if (typeof quit === 'function') { quit_ = function (status) { quit(status); }; } if (typeof print !== 'undefined') { if (typeof console === 'undefined')console = {}; console.log = print; console.warn = console.error = typeof printErr !== 'undefined' ? printErr : print; } + } + else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) + { + if (ENVIRONMENT_IS_WORKER) { scriptDirectory = self.location.href; } + else if (document.currentScript) { scriptDirectory = document.currentScript.src; } if (_scriptDir) { scriptDirectory = _scriptDir; } if (scriptDirectory.indexOf('blob:') !== 0) { scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/') + 1); } + else { scriptDirectory = ''; } { read_ = function shell_read(url) + { + const xhr = new XMLHttpRequest(); + + xhr.open('GET', url, false); xhr.send(null); + + return xhr.responseText; + }; if (ENVIRONMENT_IS_WORKER) + { + readBinary = function readBinary(url) + { + const xhr = new XMLHttpRequest(); + + xhr.open('GET', url, false); xhr.responseType = 'arraybuffer'; xhr.send(null); + + return new Uint8Array(xhr.response); + }; + }readAsync = function readAsync(url, onload, onerror) + { + const xhr = new XMLHttpRequest(); + + xhr.open('GET', url, true); xhr.responseType = 'arraybuffer'; xhr.onload = function xhr_onload() + { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) + { + onload(xhr.response); + + return; + }onerror(); + }; xhr.onerror = onerror; xhr.send(null); + }; }setWindowTitle = function (title) { document.title = title; }; + } + else {} const out = Module.print || console.log.bind(console); const err = Module.printErr || console.warn.bind(console); + + for (key in moduleOverrides) { if (moduleOverrides.hasOwnProperty(key)) { Module[key] = moduleOverrides[key]; } }moduleOverrides = null; if (Module.arguments)arguments_ = Module.arguments; if (Module.thisProgram)thisProgram = Module.thisProgram; if (Module.quit)quit_ = Module.quit; let tempRet0 = 0; const setTempRet0 = function (value) { tempRet0 = value; }; let wasmBinary; + + if (Module.wasmBinary)wasmBinary = Module.wasmBinary; let noExitRuntime; + + if (Module.noExitRuntime)noExitRuntime = Module.noExitRuntime; if (typeof WebAssembly !== 'object') { err('no native wasm support detected'); } let wasmMemory; const wasmTable = new WebAssembly.Table({ initial: 59, maximum: 59 + 0, element: 'anyfunc' }); let ABORT = false; let EXITSTATUS = 0; + + function assert(condition, text) { if (!condition) { abort(`Assertion failed: ${text}`); } } const UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; + + function UTF8ArrayToString(u8Array, idx, maxBytesToRead) + { + const endIdx = idx + maxBytesToRead; let endPtr = idx; + + while (u8Array[endPtr] && !(endPtr >= endIdx))++endPtr; if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); } + + let str = ''; + + while (idx < endPtr) + { + let u0 = u8Array[idx++]; + + if (!(u0 & 128)) { str += String.fromCharCode(u0); continue; } const u1 = u8Array[idx++] & 63; + + if ((u0 & 224) == 192) { str += String.fromCharCode((u0 & 31) << 6 | u1); continue; } const u2 = u8Array[idx++] & 63; + + if ((u0 & 240) == 224) { u0 = (u0 & 15) << 12 | u1 << 6 | u2; } + else { u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63; } if (u0 < 65536) { str += String.fromCharCode(u0); } + else + { + const ch = u0 - 65536; + + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + + return str; + } function UTF8ToString(ptr, maxBytesToRead) { return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; } function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) + { + if (!(maxBytesToWrite > 0)) return 0; const startIdx = outIdx; const endIdx = outIdx + maxBytesToWrite - 1; + + for (let i = 0; i < str.length; ++i) + { + let u = str.charCodeAt(i); + + if (u >= 55296 && u <= 57343) + { + const u1 = str.charCodeAt(++i); + + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } if (u <= 127) { if (outIdx >= endIdx) break; outU8Array[outIdx++] = u; } + else if (u <= 2047) { if (outIdx + 1 >= endIdx) break; outU8Array[outIdx++] = 192 | u >> 6; outU8Array[outIdx++] = 128 | u & 63; } + else if (u <= 65535) { if (outIdx + 2 >= endIdx) break; outU8Array[outIdx++] = 224 | u >> 12; outU8Array[outIdx++] = 128 | u >> 6 & 63; outU8Array[outIdx++] = 128 | u & 63; } + else { if (outIdx + 3 >= endIdx) break; outU8Array[outIdx++] = 240 | u >> 18; outU8Array[outIdx++] = 128 | u >> 12 & 63; outU8Array[outIdx++] = 128 | u >> 6 & 63; outU8Array[outIdx++] = 128 | u & 63; } + }outU8Array[outIdx] = 0; + + return outIdx - startIdx; + } function stringToUTF8(str, outPtr, maxBytesToWrite) { return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); } function lengthBytesUTF8(str) + { + let len = 0; + + for (let i = 0; i < str.length; ++i) + { + let u = str.charCodeAt(i); + + if (u >= 55296 && u <= 57343)u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; if (u <= 127)++len; else if (u <= 2047)len += 2; else if (u <= 65535)len += 3; else len += 4; + } + + return len; + } const UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; + + function UTF16ToString(ptr) + { + let endPtr = ptr; let idx = endPtr >> 1; + + while (HEAP16[idx])++idx; endPtr = idx << 1; if (endPtr - ptr > 32 && UTF16Decoder) { return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); } + + let i = 0; let str = ''; + + while (1) + { + const codeUnit = HEAP16[ptr + i * 2 >> 1]; + + if (codeUnit == 0) return str; ++i; str += String.fromCharCode(codeUnit); + } + } function stringToUTF16(str, outPtr, maxBytesToWrite) + { + if (maxBytesToWrite === undefined) { maxBytesToWrite = 2147483647; } if (maxBytesToWrite < 2) return 0; maxBytesToWrite -= 2; const startPtr = outPtr; const numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; + + for (let i = 0; i < numCharsToWrite; ++i) + { + const codeUnit = str.charCodeAt(i); + + HEAP16[outPtr >> 1] = codeUnit; outPtr += 2; + }HEAP16[outPtr >> 1] = 0; + + return outPtr - startPtr; + } function lengthBytesUTF16(str) { return str.length * 2; } function UTF32ToString(ptr) + { + let i = 0; let str = ''; + + while (1) + { + const utf32 = HEAP32[ptr + i * 4 >> 2]; + + if (utf32 == 0) return str; ++i; if (utf32 >= 65536) + { + const ch = utf32 - 65536; + + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + else { str += String.fromCharCode(utf32); } + } + } function stringToUTF32(str, outPtr, maxBytesToWrite) + { + if (maxBytesToWrite === undefined) { maxBytesToWrite = 2147483647; } if (maxBytesToWrite < 4) return 0; const startPtr = outPtr; const endPtr = startPtr + maxBytesToWrite - 4; + + for (let i = 0; i < str.length; ++i) + { + let codeUnit = str.charCodeAt(i); + + if (codeUnit >= 55296 && codeUnit <= 57343) + { + const trailSurrogate = str.charCodeAt(++i); + + codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023; + }HEAP32[outPtr >> 2] = codeUnit; outPtr += 4; if (outPtr + 4 > endPtr) break; + }HEAP32[outPtr >> 2] = 0; + + return outPtr - startPtr; + } function lengthBytesUTF32(str) + { + let len = 0; + + for (let i = 0; i < str.length; ++i) + { + const codeUnit = str.charCodeAt(i); + + if (codeUnit >= 55296 && codeUnit <= 57343)++i; len += 4; + } + + return len; + } const WASM_PAGE_SIZE = 65536; + + function alignUp(x, multiple) + { + if (x % multiple > 0) { x += multiple - x % multiple; } + + return x; + } let buffer; let HEAP8; let HEAPU8; let HEAP16; let HEAPU16; let HEAP32; let HEAPU32; let HEAPF32; let HEAPF64; + + function updateGlobalBufferAndViews(buf) { buffer = buf; Module.HEAP8 = HEAP8 = new Int8Array(buf); Module.HEAP16 = HEAP16 = new Int16Array(buf); Module.HEAP32 = HEAP32 = new Int32Array(buf); Module.HEAPU8 = HEAPU8 = new Uint8Array(buf); Module.HEAPU16 = HEAPU16 = new Uint16Array(buf); Module.HEAPU32 = HEAPU32 = new Uint32Array(buf); Module.HEAPF32 = HEAPF32 = new Float32Array(buf); Module.HEAPF64 = HEAPF64 = new Float64Array(buf); } const DYNAMIC_BASE = 5561216; const DYNAMICTOP_PTR = 318176; let INITIAL_INITIAL_MEMORY = Module.INITIAL_MEMORY || 16777216; + + if (Module.wasmMemory) { wasmMemory = Module.wasmMemory; } + else { wasmMemory = new WebAssembly.Memory({ initial: INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE }); } if (wasmMemory) { buffer = wasmMemory.buffer; }INITIAL_INITIAL_MEMORY = buffer.byteLength; updateGlobalBufferAndViews(buffer); HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; function callRuntimeCallbacks(callbacks) + { + while (callbacks.length > 0) + { + const callback = callbacks.shift(); + + if (typeof callback === 'function') { callback(); continue; } const func = callback.func; + + if (typeof func === 'number') + { + if (callback.arg === undefined) { Module.dynCall_v(func); } + else { Module.dynCall_vi(func, callback.arg); } + } + else { func(callback.arg === undefined ? null : callback.arg); } + } + } const __ATPRERUN__ = []; const __ATINIT__ = []; const __ATMAIN__ = []; const __ATPOSTRUN__ = []; let runtimeInitialized = false; + + function preRun() { if (Module.preRun) { if (typeof Module.preRun === 'function')Module.preRun = [Module.preRun]; while (Module.preRun.length) { addOnPreRun(Module.preRun.shift()); } }callRuntimeCallbacks(__ATPRERUN__); } function initRuntime() { runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); } function preMain() { callRuntimeCallbacks(__ATMAIN__); } function postRun() { if (Module.postRun) { if (typeof Module.postRun === 'function')Module.postRun = [Module.postRun]; while (Module.postRun.length) { addOnPostRun(Module.postRun.shift()); } }callRuntimeCallbacks(__ATPOSTRUN__); } function addOnPreRun(cb) { __ATPRERUN__.unshift(cb); } function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); } const Math_ceil = Math.ceil; const Math_floor = Math.floor; let runDependencies = 0; let runDependencyWatcher = null; let dependenciesFulfilled = null; + + function addRunDependency(id) { runDependencies++; if (Module.monitorRunDependencies) { Module.monitorRunDependencies(runDependencies); } } function removeRunDependency(id) + { + runDependencies--; if (Module.monitorRunDependencies) { Module.monitorRunDependencies(runDependencies); } if (runDependencies == 0) + { + if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; } if (dependenciesFulfilled) + { + const callback = dependenciesFulfilled; + + dependenciesFulfilled = null; callback(); + } + } + }Module.preloadedImages = {}; Module.preloadedAudios = {}; function abort(what) { if (Module.onAbort) { Module.onAbort(what); }what = String(what); out(what); err(what); ABORT = true; EXITSTATUS = 1; what = `abort(${what}). Build with -s ASSERTIONS=1 for more info.`; throw new WebAssembly.RuntimeError(what); } const dataURIPrefix = 'data:application/octet-stream;base64,'; + + function isDataURI(filename) { return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0; } let wasmBinaryFile = 'basis_transcoder.wasm'; + + if (!isDataURI(wasmBinaryFile)) { wasmBinaryFile = locateFile(wasmBinaryFile); } function getBinary() + { + try + { + if (wasmBinary) { return new Uint8Array(wasmBinary); } if (readBinary) { return readBinary(wasmBinaryFile); } + throw 'both async and sync fetching of the wasm failed'; + } + catch (err) { abort(err); } + } function getBinaryPromise() + { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === 'function') + { + return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function (response) + { + if (!response.ok) { throw `failed to load wasm binary file at '${wasmBinaryFile}'`; } + + return response.arrayBuffer(); + }).catch(function () { return getBinary(); }); + } + + return new Promise(function (resolve, reject) { resolve(getBinary()); }); + } function createWasm() + { + const info = { a: asmLibraryArg }; + + function receiveInstance(instance, module) + { + const exports = instance.exports; + + Module.asm = exports; removeRunDependency('wasm-instantiate'); + }addRunDependency('wasm-instantiate'); function receiveInstantiatedSource(output) { receiveInstance(output.instance); } function instantiateArrayBuffer(receiver) { return getBinaryPromise().then(function (binary) { return WebAssembly.instantiate(binary, info); }).then(receiver, function (reason) { err(`failed to asynchronously prepare wasm: ${reason}`); abort(reason); }); } function instantiateAsync() + { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === 'function' && !isDataURI(wasmBinaryFile) && typeof fetch === 'function') + { + fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function (response) + { + const result = WebAssembly.instantiateStreaming(response, info); + + return result.then(receiveInstantiatedSource, function (reason) { err(`wasm streaming compile failed: ${reason}`); err('falling back to ArrayBuffer instantiation'); instantiateArrayBuffer(receiveInstantiatedSource); }); + }); + } + else { return instantiateArrayBuffer(receiveInstantiatedSource); } + } if (Module.instantiateWasm) + { + try + { + const exports = Module.instantiateWasm(info, receiveInstance); + + return exports; + } + catch (e) + { + err(`Module.instantiateWasm callback failed with error: ${e}`); + + return false; + } + }instantiateAsync(); + + return {}; + }__ATINIT__.push({ func() { ___wasm_call_ctors(); } }); function ___cxa_allocate_exception(size) { return _malloc(size); } const ___exception_infos = {}; let ___exception_last = 0; + + function __ZSt18uncaught_exceptionv() { return __ZSt18uncaught_exceptionv.uncaught_exceptions > 0; } function ___cxa_throw(ptr, type, destructor) + { + ___exception_infos[ptr] = { ptr, adjusted: [ptr], type, destructor, refcount: 0, caught: false, rethrown: false }; ___exception_last = ptr; if (!('uncaught_exception' in __ZSt18uncaught_exceptionv)) { __ZSt18uncaught_exceptionv.uncaught_exceptions = 1; } + else { __ZSt18uncaught_exceptionv.uncaught_exceptions++; } throw ptr; + } function getShiftFromSize(size) { switch (size) { case 1:return 0; case 2:return 1; case 4:return 2; case 8:return 3; default:throw new TypeError(`Unknown type size: ${size}`); } } function embind_init_charCodes() + { + const codes = new Array(256); + + for (let i = 0; i < 256; ++i) { codes[i] = String.fromCharCode(i); }embind_charCodes = codes; + } var embind_charCodes = undefined; + + function readLatin1String(ptr) + { + let ret = ''; let c = ptr; + + while (HEAPU8[c]) { ret += embind_charCodes[HEAPU8[c++]]; } + + return ret; + } const awaitingDependencies = {}; const registeredTypes = {}; const typeDependencies = {}; const char_0 = 48; const char_9 = 57; + + function makeLegalFunctionName(name) + { + if (undefined === name) { return '_unknown'; }name = name.replace(/[^a-zA-Z0-9_]/g, '$'); const f = name.charCodeAt(0); + + if (f >= char_0 && f <= char_9) { return `_${name}`; } + + return name; + } function createNamedFunction(name, body) + { + name = makeLegalFunctionName(name); + + return new Function('body', `return function ${name}() {\n` + ` "use strict";` + ` return body.apply(this, arguments);\n` + `};\n`)(body); + } function extendError(baseErrorType, errorName) + { + const errorClass = createNamedFunction(errorName, function (message) + { + this.name = errorName; this.message = message; const stack = new Error(message).stack; + + if (stack !== undefined) { this.stack = `${this.toString()}\n${stack.replace(/^Error(:[^\n]*)?\n/, '')}`; } + }); + + errorClass.prototype = Object.create(baseErrorType.prototype); errorClass.prototype.constructor = errorClass; errorClass.prototype.toString = function () + { + if (this.message === undefined) { return this.name; } + + return `${this.name}: ${this.message}`; + }; + + return errorClass; + } let BindingError; + + function throwBindingError(message) { throw new BindingError(message); } let InternalError; + + function throwInternalError(message) { throw new InternalError(message); } function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) + { + myTypes.forEach(function (type) { typeDependencies[type] = dependentTypes; }); function onComplete(typeConverters) + { + const myTypeConverters = getTypeConverters(typeConverters); + + if (myTypeConverters.length !== myTypes.length) { throwInternalError('Mismatched type converter count'); } for (let i = 0; i < myTypes.length; ++i) { registerType(myTypes[i], myTypeConverters[i]); } + } const typeConverters = new Array(dependentTypes.length); const unregisteredTypes = []; let registered = 0; + + dependentTypes.forEach(function (dt, i) + { + if (registeredTypes.hasOwnProperty(dt)) { typeConverters[i] = registeredTypes[dt]; } + else { unregisteredTypes.push(dt); if (!awaitingDependencies.hasOwnProperty(dt)) { awaitingDependencies[dt] = []; }awaitingDependencies[dt].push(function () { typeConverters[i] = registeredTypes[dt]; ++registered; if (registered === unregisteredTypes.length) { onComplete(typeConverters); } }); } + }); if (unregisteredTypes.length === 0) { onComplete(typeConverters); } + } function registerType(rawType, registeredInstance, options) + { + options = options || {}; if (!('argPackAdvance' in registeredInstance)) { throw new TypeError('registerType registeredInstance requires argPackAdvance'); } const name = registeredInstance.name; + + if (!rawType) { throwBindingError(`type "${name}" must have a positive integer typeid pointer`); } if (registeredTypes.hasOwnProperty(rawType)) + { + if (options.ignoreDuplicateRegistrations) { return; } + throwBindingError(`Cannot register type '${name}' twice`); + }registeredTypes[rawType] = registeredInstance; delete typeDependencies[rawType]; if (awaitingDependencies.hasOwnProperty(rawType)) + { + const callbacks = awaitingDependencies[rawType]; + + delete awaitingDependencies[rawType]; callbacks.forEach(function (cb) { cb(); }); + } + } function __embind_register_bool(rawType, name, size, trueValue, falseValue) + { + const shift = getShiftFromSize(size); + + name = readLatin1String(name); registerType(rawType, { name, fromWireType(wt) { return !!wt; }, toWireType(destructors, o) { return o ? trueValue : falseValue; }, argPackAdvance: 8, readValueFromPointer(pointer) + { + let heap; + + if (size === 1) { heap = HEAP8; } + else if (size === 2) { heap = HEAP16; } + else if (size === 4) { heap = HEAP32; } + else { throw new TypeError(`Unknown boolean type size: ${name}`); } + + return this.fromWireType(heap[pointer >> shift]); + }, destructorFunction: null }); + } function ClassHandle_isAliasOf(other) + { + if (!(this instanceof ClassHandle)) { return false; } if (!(other instanceof ClassHandle)) { return false; } let leftClass = this.$$.ptrType.registeredClass; let left = this.$$.ptr; let rightClass = other.$$.ptrType.registeredClass; let right = other.$$.ptr; + + while (leftClass.baseClass) { left = leftClass.upcast(left); leftClass = leftClass.baseClass; } while (rightClass.baseClass) { right = rightClass.upcast(right); rightClass = rightClass.baseClass; } + + return leftClass === rightClass && left === right; + } function shallowCopyInternalPointer(o) { return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType }; } function throwInstanceAlreadyDeleted(obj) { function getInstanceTypeName(handle) { return handle.$$.ptrType.registeredClass.name; }throwBindingError(`${getInstanceTypeName(obj)} instance already deleted`); } let finalizationGroup = false; + + function detachFinalizer(handle) {} function runDestructor($$) + { + if ($$.smartPtr) { $$.smartPtrType.rawDestructor($$.smartPtr); } + else { $$.ptrType.registeredClass.rawDestructor($$.ptr); } + } function releaseClassHandle($$) + { + $$.count.value -= 1; const toDelete = $$.count.value === 0; + + if (toDelete) { runDestructor($$); } + } function attachFinalizer(handle) + { + if (typeof FinalizationGroup === 'undefined') + { + attachFinalizer = function (handle) { return handle; }; + + return handle; + }finalizationGroup = new FinalizationGroup(function (iter) + { + for (let result = iter.next(); !result.done; result = iter.next()) + { + const $$ = result.value; + + if (!$$.ptr) { console.warn(`object already deleted: ${$$.ptr}`); } + else { releaseClassHandle($$); } + } + }); attachFinalizer = function (handle) + { + finalizationGroup.register(handle, handle.$$, handle.$$); + + return handle; + }; detachFinalizer = function (handle) { finalizationGroup.unregister(handle.$$); }; + + return attachFinalizer(handle); + } function ClassHandle_clone() + { + if (!this.$$.ptr) { throwInstanceAlreadyDeleted(this); } if (this.$$.preservePointerOnDelete) + { + this.$$.count.value += 1; + + return this; + } + const clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } })); + + clone.$$.count.value += 1; clone.$$.deleteScheduled = false; + + return clone; + } function ClassHandle_delete() { if (!this.$$.ptr) { throwInstanceAlreadyDeleted(this); } if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { throwBindingError('Object already scheduled for deletion'); }detachFinalizer(this); releaseClassHandle(this.$$); if (!this.$$.preservePointerOnDelete) { this.$$.smartPtr = undefined; this.$$.ptr = undefined; } } function ClassHandle_isDeleted() { return !this.$$.ptr; } let delayFunction; const deletionQueue = []; + + function flushPendingDeletes() + { + while (deletionQueue.length) + { + const obj = deletionQueue.pop(); + + obj.$$.deleteScheduled = false; obj.delete(); + } + } function ClassHandle_deleteLater() + { + if (!this.$$.ptr) { throwInstanceAlreadyDeleted(this); } if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { throwBindingError('Object already scheduled for deletion'); }deletionQueue.push(this); if (deletionQueue.length === 1 && delayFunction) { delayFunction(flushPendingDeletes); } this.$$.deleteScheduled = true; + + return this; + } function init_ClassHandle() { ClassHandle.prototype.isAliasOf = ClassHandle_isAliasOf; ClassHandle.prototype.clone = ClassHandle_clone; ClassHandle.prototype.delete = ClassHandle_delete; ClassHandle.prototype.isDeleted = ClassHandle_isDeleted; ClassHandle.prototype.deleteLater = ClassHandle_deleteLater; } function ClassHandle() {} const registeredPointers = {}; + + function ensureOverloadTable(proto, methodName, humanName) + { + if (undefined === proto[methodName].overloadTable) + { + const prevFunc = proto[methodName]; + + proto[methodName] = function () + { + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`); } + + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; proto[methodName].overloadTable = []; proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + } function exposePublicSymbol(name, value, numArguments) + { + if (Module.hasOwnProperty(name)) { if (undefined === numArguments || undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments]) { throwBindingError(`Cannot register public name '${name}' twice`); }ensureOverloadTable(Module, name, name); if (Module.hasOwnProperty(numArguments)) { throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`); }Module[name].overloadTable[numArguments] = value; } + else { Module[name] = value; if (undefined !== numArguments) { Module[name].numArguments = numArguments; } } + } function RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) { this.name = name; this.constructor = constructor; this.instancePrototype = instancePrototype; this.rawDestructor = rawDestructor; this.baseClass = baseClass; this.getActualType = getActualType; this.upcast = upcast; this.downcast = downcast; this.pureVirtualFunctions = []; } function upcastPointer(ptr, ptrClass, desiredClass) + { + while (ptrClass !== desiredClass) { if (!ptrClass.upcast) { throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`); }ptr = ptrClass.upcast(ptr); ptrClass = ptrClass.baseClass; } + + return ptr; + } function constNoSmartPtrRawPointerToWireType(destructors, handle) + { + if (handle === null) + { + if (this.isReference) { throwBindingError(`null is not a valid ${this.name}`); } + + return 0; + } if (!handle.$$) { throwBindingError(`Cannot pass "${_embind_repr(handle)}" as a ${this.name}`); } if (!handle.$$.ptr) { throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); } const handleClass = handle.$$.ptrType.registeredClass; const ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + + return ptr; + } function genericPointerToWireType(destructors, handle) + { + let ptr; + + if (handle === null) + { + if (this.isReference) { throwBindingError(`null is not a valid ${this.name}`); } if (this.isSmartPointer) + { + ptr = this.rawConstructor(); if (destructors !== null) { destructors.push(this.rawDestructor, ptr); } + + return ptr; + } + + return 0; + } if (!handle.$$) { throwBindingError(`Cannot pass "${_embind_repr(handle)}" as a ${this.name}`); } if (!handle.$$.ptr) { throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); } if (!this.isConst && handle.$$.ptrType.isConst) { throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name} to parameter type ${this.name}`); } const handleClass = handle.$$.ptrType.registeredClass; + + ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); if (this.isSmartPointer) + { + if (undefined === handle.$$.smartPtr) { throwBindingError('Passing raw pointer to smart pointer is illegal'); } switch (this.sharingPolicy) + { + case 0:if (handle.$$.smartPtrType === this) { ptr = handle.$$.smartPtr; } + else { throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name} to parameter type ${this.name}`); } break; case 1:ptr = handle.$$.smartPtr; break; case 2:if (handle.$$.smartPtrType === this) { ptr = handle.$$.smartPtr; } + else + { + const clonedHandle = handle.clone(); + + ptr = this.rawShare(ptr, __emval_register(function () { clonedHandle.delete(); })); if (destructors !== null) { destructors.push(this.rawDestructor, ptr); } + } break; default:throwBindingError('Unsupporting sharing policy'); + } + } + + return ptr; + } function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) + { + if (handle === null) + { + if (this.isReference) { throwBindingError(`null is not a valid ${this.name}`); } + + return 0; + } if (!handle.$$) { throwBindingError(`Cannot pass "${_embind_repr(handle)}" as a ${this.name}`); } if (!handle.$$.ptr) { throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); } if (handle.$$.ptrType.isConst) { throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`); } const handleClass = handle.$$.ptrType.registeredClass; const ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + + return ptr; + } function simpleReadValueFromPointer(pointer) { return this.fromWireType(HEAPU32[pointer >> 2]); } function RegisteredPointer_getPointee(ptr) + { + if (this.rawGetPointee) { ptr = this.rawGetPointee(ptr); } + + return ptr; + } function RegisteredPointer_destructor(ptr) { if (this.rawDestructor) { this.rawDestructor(ptr); } } function RegisteredPointer_deleteObject(handle) { if (handle !== null) { handle.delete(); } } function downcastPointer(ptr, ptrClass, desiredClass) + { + if (ptrClass === desiredClass) { return ptr; } if (undefined === desiredClass.baseClass) { return null; } const rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); + + if (rv === null) { return null; } + + return desiredClass.downcast(rv); + } function getInheritedInstanceCount() { return Object.keys(registeredInstances).length; } function getLiveInheritedInstances() + { + const rv = []; + + for (const k in registeredInstances) { if (registeredInstances.hasOwnProperty(k)) { rv.push(registeredInstances[k]); } } + + return rv; + } function setDelayFunction(fn) { delayFunction = fn; if (deletionQueue.length && delayFunction) { delayFunction(flushPendingDeletes); } } function init_embind() { Module.getInheritedInstanceCount = getInheritedInstanceCount; Module.getLiveInheritedInstances = getLiveInheritedInstances; Module.flushPendingDeletes = flushPendingDeletes; Module.setDelayFunction = setDelayFunction; } var registeredInstances = {}; + + function getBasestPointer(class_, ptr) + { + if (ptr === undefined) { throwBindingError('ptr should not be undefined'); } while (class_.baseClass) { ptr = class_.upcast(ptr); class_ = class_.baseClass; } + + return ptr; + } function getInheritedInstance(class_, ptr) + { + ptr = getBasestPointer(class_, ptr); + + return registeredInstances[ptr]; + } function makeClassHandle(prototype, record) + { + if (!record.ptrType || !record.ptr) { throwInternalError('makeClassHandle requires ptr and ptrType'); } const hasSmartPtrType = !!record.smartPtrType; const hasSmartPtr = !!record.smartPtr; + + if (hasSmartPtrType !== hasSmartPtr) { throwInternalError('Both smartPtrType and smartPtr must be specified'); }record.count = { value: 1 }; + + return attachFinalizer(Object.create(prototype, { $$: { value: record } })); + } function RegisteredPointer_fromWireType(ptr) + { + const rawPointer = this.getPointee(ptr); + + if (!rawPointer) + { + this.destructor(ptr); + + return null; + } const registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); + + if (undefined !== registeredInstance) + { + if (registeredInstance.$$.count.value === 0) + { + registeredInstance.$$.ptr = rawPointer; registeredInstance.$$.smartPtr = ptr; + + return registeredInstance.clone(); + } + const rv = registeredInstance.clone(); + + this.destructor(ptr); + + return rv; + } function makeDefaultHandle() + { + if (this.isSmartPointer) { return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr }); } + + return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr }); + } const actualType = this.registeredClass.getActualType(rawPointer); const registeredPointerRecord = registeredPointers[actualType]; + + if (!registeredPointerRecord) { return makeDefaultHandle.call(this); } let toType; + + if (this.isConst) { toType = registeredPointerRecord.constPointerType; } + else { toType = registeredPointerRecord.pointerType; } const dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass); + + if (dp === null) { return makeDefaultHandle.call(this); } if (this.isSmartPointer) { return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr }); } + + return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp }); + } function init_RegisteredPointer() { RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; RegisteredPointer.prototype.argPackAdvance = 8; RegisteredPointer.prototype.readValueFromPointer = simpleReadValueFromPointer; RegisteredPointer.prototype.deleteObject = RegisteredPointer_deleteObject; RegisteredPointer.prototype.fromWireType = RegisteredPointer_fromWireType; } function RegisteredPointer(name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) + { + this.name = name; this.registeredClass = registeredClass; this.isReference = isReference; this.isConst = isConst; this.isSmartPointer = isSmartPointer; this.pointeeType = pointeeType; this.sharingPolicy = sharingPolicy; this.rawGetPointee = rawGetPointee; this.rawConstructor = rawConstructor; this.rawShare = rawShare; this.rawDestructor = rawDestructor; if (!isSmartPointer && registeredClass.baseClass === undefined) + { + if (isConst) { this.toWireType = constNoSmartPtrRawPointerToWireType; this.destructorFunction = null; } + else { this.toWireType = nonConstNoSmartPtrRawPointerToWireType; this.destructorFunction = null; } + } + else { this.toWireType = genericPointerToWireType; } + } function replacePublicSymbol(name, value, numArguments) + { + if (!Module.hasOwnProperty(name)) { throwInternalError('Replacing nonexistant public symbol'); } if (undefined !== Module[name].overloadTable && undefined !== numArguments) { Module[name].overloadTable[numArguments] = value; } + else { Module[name] = value; Module[name].argCount = numArguments; } + } function embind__requireFunction(signature, rawFunction) + { + signature = readLatin1String(signature); function makeDynCaller(dynCall) + { + const args = []; + + for (let i = 1; i < signature.length; ++i) { args.push(`a${i}`); } const name = `dynCall_${signature}_${rawFunction}`; let body = `return function ${name}(${args.join(', ')}) {\n`; + + body += ` return dynCall(rawFunction${args.length ? ', ' : ''}${args.join(', ')});\n`; body += '};\n'; + + return new Function('dynCall', 'rawFunction', body)(dynCall, rawFunction); + } const dc = Module[`dynCall_${signature}`]; const fp = makeDynCaller(dc); + + if (typeof fp !== 'function') { throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`); } + + return fp; + } let UnboundTypeError; + + function getTypeName(type) + { + const ptr = ___getTypeName(type); const rv = readLatin1String(ptr); + + _free(ptr); + + return rv; + } function throwUnboundTypeError(message, types) + { + const unboundTypes = []; const seen = {}; + + function visit(type) + { + if (seen[type]) { return; } if (registeredTypes[type]) { return; } if (typeDependencies[type]) + { + typeDependencies[type].forEach(visit); + + return; + }unboundTypes.push(type); seen[type] = true; + }types.forEach(visit); throw new UnboundTypeError(`${message}: ${unboundTypes.map(getTypeName).join([', '])}`); + } function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) + { + name = readLatin1String(name); getActualType = embind__requireFunction(getActualTypeSignature, getActualType); if (upcast) { upcast = embind__requireFunction(upcastSignature, upcast); } if (downcast) { downcast = embind__requireFunction(downcastSignature, downcast); }rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); const legalFunctionName = makeLegalFunctionName(name); + + exposePublicSymbol(legalFunctionName, function () { throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]); }); whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function (base) + { + base = base[0]; let baseClass; let basePrototype; + + if (baseClassRawType) { baseClass = base.registeredClass; basePrototype = baseClass.instancePrototype; } + else { basePrototype = ClassHandle.prototype; } const constructor = createNamedFunction(legalFunctionName, function () + { + if (Object.getPrototypeOf(this) !== instancePrototype) { throw new BindingError(`Use 'new' to construct ${name}`); } if (undefined === registeredClass.constructor_body) { throw new BindingError(`${name} has no accessible constructor`); } const body = registeredClass.constructor_body[arguments.length]; + + if (undefined === body) { throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`); } + + return body.apply(this, arguments); + }); var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } }); + + constructor.prototype = instancePrototype; var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast); const referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false); const pointerConverter = new RegisteredPointer(`${name}*`, registeredClass, false, false, false); const constPointerConverter = new RegisteredPointer(`${name} const*`, registeredClass, false, true, false); + + registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter }; replacePublicSymbol(legalFunctionName, constructor); + + return [referenceConverter, pointerConverter, constPointerConverter]; + }); + } function heap32VectorToArray(count, firstElement) + { + const array = []; + + for (let i = 0; i < count; i++) { array.push(HEAP32[(firstElement >> 2) + i]); } + + return array; + } function runDestructors(destructors) + { + while (destructors.length) + { + const ptr = destructors.pop(); const del = destructors.pop(); + + del(ptr); + } + } function __embind_register_class_constructor(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) + { + assert(argCount > 0); const rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + + invoker = embind__requireFunction(invokerSignature, invoker); const args = [rawConstructor]; const destructors = []; + + whenDependentTypesAreResolved([], [rawClassType], function (classType) + { + classType = classType[0]; const humanName = `constructor ${classType.name}`; + + if (undefined === classType.registeredClass.constructor_body) { classType.registeredClass.constructor_body = []; } if (undefined !== classType.registeredClass.constructor_body[argCount - 1]) { throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount - 1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`); }classType.registeredClass.constructor_body[argCount - 1] = function unboundTypeHandler() { throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`, rawArgTypes); }; whenDependentTypesAreResolved([], rawArgTypes, function (argTypes) + { + classType.registeredClass.constructor_body[argCount - 1] = function constructor_body() + { + if (arguments.length !== argCount - 1) { throwBindingError(`${humanName} called with ${arguments.length} arguments, expected ${argCount - 1}`); }destructors.length = 0; args.length = argCount; for (let i = 1; i < argCount; ++i) { args[i] = argTypes[i].toWireType(destructors, arguments[i - 1]); } const ptr = invoker.apply(null, args); + + runDestructors(destructors); + + return argTypes[0].fromWireType(ptr); + }; + + return []; + }); + + return []; + }); + } function new_(constructor, argumentList) + { + if (!(constructor instanceof Function)) { throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`); } const dummy = createNamedFunction(constructor.name || 'unknownFunctionName', function () {}); + + dummy.prototype = constructor.prototype; const obj = new dummy(); const r = constructor.apply(obj, argumentList); + + return r instanceof Object ? r : obj; + } function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) + { + const argCount = argTypes.length; + + if (argCount < 2) { throwBindingError('argTypes array size mismatch! Must at least get return value and \'this\' types!'); } const isClassMethodFunc = argTypes[1] !== null && classType !== null; let needsDestructorStack = false; + + for (var i = 1; i < argTypes.length; ++i) { if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { needsDestructorStack = true; break; } } const returns = argTypes[0].name !== 'void'; let argsList = ''; let argsListWired = ''; + + for (var i = 0; i < argCount - 2; ++i) { argsList += `${i !== 0 ? ', ' : ''}arg${i}`; argsListWired += `${i !== 0 ? ', ' : ''}arg${i}Wired`; } let invokerFnBody = `return function ${makeLegalFunctionName(humanName)}(${argsList}) {\n` + `if (arguments.length !== ${argCount - 2}) {\n` + `throwBindingError('function ${humanName} called with ' + arguments.length + ' arguments, expected ${argCount - 2} args!');\n` + `}\n`; + + if (needsDestructorStack) { invokerFnBody += 'var destructors = [];\n'; } const dtorStack = needsDestructorStack ? 'destructors' : 'null'; const args1 = ['throwBindingError', 'invoker', 'fn', 'runDestructors', 'retType', 'classParam']; const args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; + + if (isClassMethodFunc) { invokerFnBody += `var thisWired = classParam.toWireType(${dtorStack}, this);\n`; } for (var i = 0; i < argCount - 2; ++i) { invokerFnBody += `var arg${i}Wired = argType${i}.toWireType(${dtorStack}, arg${i}); // ${argTypes[i + 2].name}\n`; args1.push(`argType${i}`); args2.push(argTypes[i + 2]); } if (isClassMethodFunc) { argsListWired = `thisWired${argsListWired.length > 0 ? ', ' : ''}${argsListWired}`; }invokerFnBody += `${returns ? 'var rv = ' : ''}invoker(fn${argsListWired.length > 0 ? ', ' : ''}${argsListWired});\n`; if (needsDestructorStack) { invokerFnBody += 'runDestructors(destructors);\n'; } + else + { + for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) + { + const paramName = i === 1 ? 'thisWired' : `arg${i - 2}Wired`; + + if (argTypes[i].destructorFunction !== null) { invokerFnBody += `${paramName}_dtor(${paramName}); // ${argTypes[i].name}\n`; args1.push(`${paramName}_dtor`); args2.push(argTypes[i].destructorFunction); } + } + } if (returns) { invokerFnBody += 'var ret = retType.fromWireType(rv);\n' + 'return ret;\n'; } + else {}invokerFnBody += '}\n'; args1.push(invokerFnBody); const invokerFunction = new_(Function, args1).apply(null, args2); + + return invokerFunction; + } function __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual) + { + const rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + + methodName = readLatin1String(methodName); rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); whenDependentTypesAreResolved([], [rawClassType], function (classType) + { + classType = classType[0]; const humanName = `${classType.name}.${methodName}`; + + if (isPureVirtual) { classType.registeredClass.pureVirtualFunctions.push(methodName); } function unboundTypesHandler() { throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); } const proto = classType.registeredClass.instancePrototype; const method = proto[methodName]; + + if (undefined === method || undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2) { unboundTypesHandler.argCount = argCount - 2; unboundTypesHandler.className = classType.name; proto[methodName] = unboundTypesHandler; } + else { ensureOverloadTable(proto, methodName, humanName); proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; }whenDependentTypesAreResolved([], rawArgTypes, function (argTypes) + { + const memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context); + + if (undefined === proto[methodName].overloadTable) { memberFunction.argCount = argCount - 2; proto[methodName] = memberFunction; } + else { proto[methodName].overloadTable[argCount - 2] = memberFunction; } + + return []; + }); + + return []; + }); + } const emval_free_list = []; const emval_handle_array = [{}, { value: undefined }, { value: null }, { value: true }, { value: false }]; + + function __emval_decref(handle) { if (handle > 4 && --emval_handle_array[handle].refcount === 0) { emval_handle_array[handle] = undefined; emval_free_list.push(handle); } } function count_emval_handles() + { + let count = 0; + + for (let i = 5; i < emval_handle_array.length; ++i) { if (emval_handle_array[i] !== undefined) { ++count; } } + + return count; + } function get_first_emval() + { + for (let i = 5; i < emval_handle_array.length; ++i) { if (emval_handle_array[i] !== undefined) { return emval_handle_array[i]; } } + + return null; + } function init_emval() { Module.count_emval_handles = count_emval_handles; Module.get_first_emval = get_first_emval; } function __emval_register(value) + { + switch (value) + { + case undefined: { return 1; } case null: { return 2; } case true: { return 3; } case false: { return 4; } default: { const handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length; + + emval_handle_array[handle] = { refcount: 1, value }; + + return handle; } + } + } function __embind_register_emval(rawType, name) + { + name = readLatin1String(name); registerType(rawType, { name, fromWireType(handle) + { + const rv = emval_handle_array[handle].value; + + __emval_decref(handle); + + return rv; + }, toWireType(destructors, value) { return __emval_register(value); }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: null }); + } function _embind_repr(v) + { + if (v === null) { return 'null'; } const t = typeof v; + + if (t === 'object' || t === 'array' || t === 'function') { return v.toString(); } + + return `${v}`; + } function floatReadValueFromPointer(name, shift) { switch (shift) { case 2:return function (pointer) { return this.fromWireType(HEAPF32[pointer >> 2]); }; case 3:return function (pointer) { return this.fromWireType(HEAPF64[pointer >> 3]); }; default:throw new TypeError(`Unknown float type: ${name}`); } } function __embind_register_float(rawType, name, size) + { + const shift = getShiftFromSize(size); + + name = readLatin1String(name); registerType(rawType, { name, fromWireType(value) { return value; }, toWireType(destructors, value) + { + if (typeof value !== 'number' && typeof value !== 'boolean') { throw new TypeError(`Cannot convert "${_embind_repr(value)}" to ${this.name}`); } + + return value; + }, argPackAdvance: 8, readValueFromPointer: floatReadValueFromPointer(name, shift), destructorFunction: null }); + } function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn) + { + const argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + + name = readLatin1String(name); rawInvoker = embind__requireFunction(signature, rawInvoker); exposePublicSymbol(name, function () { throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes); }, argCount - 1); whenDependentTypesAreResolved([], argTypes, function (argTypes) + { + const invokerArgsArray = [argTypes[0], null].concat(argTypes.slice(1)); + + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn), argCount - 1); + + return []; + }); + } function integerReadValueFromPointer(name, shift, signed) { switch (shift) { case 0:return signed ? function readS8FromPointer(pointer) { return HEAP8[pointer]; } : function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; case 1:return signed ? function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; case 2:return signed ? function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; default:throw new TypeError(`Unknown integer type: ${name}`); } } function __embind_register_integer(primitiveType, name, size, minRange, maxRange) + { + name = readLatin1String(name); if (maxRange === -1) { maxRange = 4294967295; } const shift = getShiftFromSize(size); let fromWireType = function (value) { return value; }; + + if (minRange === 0) + { + const bitshift = 32 - 8 * size; + + fromWireType = function (value) { return value << bitshift >>> bitshift; }; + } const isUnsignedType = name.indexOf('unsigned') != -1; + + registerType(primitiveType, { name, fromWireType, toWireType(destructors, value) + { + if (typeof value !== 'number' && typeof value !== 'boolean') { throw new TypeError(`Cannot convert "${_embind_repr(value)}" to ${this.name}`); } if (value < minRange || value > maxRange) { throw new TypeError(`Passing a number "${_embind_repr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`); } + + return isUnsignedType ? value >>> 0 : value | 0; + }, argPackAdvance: 8, readValueFromPointer: integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null }); + } function __embind_register_memory_view(rawType, dataTypeIndex, name) + { + const typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; const TA = typeMapping[dataTypeIndex]; + + function decodeMemoryView(handle) + { + handle = handle >> 2; const heap = HEAPU32; const size = heap[handle]; const data = heap[handle + 1]; + + return new TA(buffer, data, size); + }name = readLatin1String(name); registerType(rawType, { name, fromWireType: decodeMemoryView, argPackAdvance: 8, readValueFromPointer: decodeMemoryView }, { ignoreDuplicateRegistrations: true }); + } function __embind_register_std_string(rawType, name) + { + name = readLatin1String(name); const stdStringIsUTF8 = name === 'std::string'; + + registerType(rawType, { name, fromWireType(value) + { + const length = HEAPU32[value >> 2]; let str; + + if (stdStringIsUTF8) + { + const endChar = HEAPU8[value + 4 + length]; let endCharSwap = 0; + + if (endChar != 0) { endCharSwap = endChar; HEAPU8[value + 4 + length] = 0; } let decodeStartPtr = value + 4; + + for (var i = 0; i <= length; ++i) + { + const currentBytePtr = value + 4 + i; + + if (HEAPU8[currentBytePtr] == 0) + { + const stringSegment = UTF8ToString(decodeStartPtr); + + if (str === undefined) { str = stringSegment; } + else { str += String.fromCharCode(0); str += stringSegment; }decodeStartPtr = currentBytePtr + 1; + } + } if (endCharSwap != 0) { HEAPU8[value + 4 + length] = endCharSwap; } + } + else + { + const a = new Array(length); + + for (var i = 0; i < length; ++i) { a[i] = String.fromCharCode(HEAPU8[value + 4 + i]); }str = a.join(''); + }_free(value); + + return str; + }, toWireType(destructors, value) + { + if (value instanceof ArrayBuffer) { value = new Uint8Array(value); } let getLength; const valueIsOfTypeString = typeof value === 'string'; + + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { throwBindingError('Cannot pass non-string to std::string'); } if (stdStringIsUTF8 && valueIsOfTypeString) { getLength = function () { return lengthBytesUTF8(value); }; } + else { getLength = function () { return value.length; }; } const length = getLength(); const ptr = _malloc(4 + length + 1); + + HEAPU32[ptr >> 2] = length; if (stdStringIsUTF8 && valueIsOfTypeString) { stringToUTF8(value, ptr + 4, length + 1); } + else + if (valueIsOfTypeString) + { + for (var i = 0; i < length; ++i) + { + const charCode = value.charCodeAt(i); + + if (charCode > 255) { _free(ptr); throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); }HEAPU8[ptr + 4 + i] = charCode; + } + } + else { for (var i = 0; i < length; ++i) { HEAPU8[ptr + 4 + i] = value[i]; } } if (destructors !== null) { destructors.push(_free, ptr); } + + return ptr; + }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction(ptr) { _free(ptr); } }); + } function __embind_register_std_wstring(rawType, charSize, name) + { + name = readLatin1String(name); let decodeString; let encodeString; let getHeap; let lengthBytesUTF; let shift; + + if (charSize === 2) { decodeString = UTF16ToString; encodeString = stringToUTF16; lengthBytesUTF = lengthBytesUTF16; getHeap = function () { return HEAPU16; }; shift = 1; } + else if (charSize === 4) { decodeString = UTF32ToString; encodeString = stringToUTF32; lengthBytesUTF = lengthBytesUTF32; getHeap = function () { return HEAPU32; }; shift = 2; }registerType(rawType, { name, fromWireType(value) + { + const length = HEAPU32[value >> 2]; const HEAP = getHeap(); let str; const endChar = HEAP[value + 4 + length * charSize >> shift]; let endCharSwap = 0; + + if (endChar != 0) { endCharSwap = endChar; HEAP[value + 4 + length * charSize >> shift] = 0; } let decodeStartPtr = value + 4; + + for (let i = 0; i <= length; ++i) + { + const currentBytePtr = value + 4 + i * charSize; + + if (HEAP[currentBytePtr >> shift] == 0) + { + const stringSegment = decodeString(decodeStartPtr); + + if (str === undefined) { str = stringSegment; } + else { str += String.fromCharCode(0); str += stringSegment; }decodeStartPtr = currentBytePtr + charSize; + } + } if (endCharSwap != 0) { HEAP[value + 4 + length * charSize >> shift] = endCharSwap; }_free(value); + + return str; + }, toWireType(destructors, value) + { + if (!(typeof value === 'string')) { throwBindingError(`Cannot pass non-string to C++ string type ${name}`); } const length = lengthBytesUTF(value); const ptr = _malloc(4 + length + charSize); + + HEAPU32[ptr >> 2] = length >> shift; encodeString(value, ptr + 4, length + charSize); if (destructors !== null) { destructors.push(_free, ptr); } + + return ptr; + }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction(ptr) { _free(ptr); } }); + } function __embind_register_void(rawType, name) { name = readLatin1String(name); registerType(rawType, { isVoid: true, name, argPackAdvance: 0, fromWireType() { return undefined; }, toWireType(destructors, o) { return undefined; } }); } function requireHandle(handle) + { + if (!handle) { throwBindingError(`Cannot use deleted val. handle = ${handle}`); } + + return emval_handle_array[handle].value; + } function requireRegisteredType(rawType, humanName) + { + const impl = registeredTypes[rawType]; + + if (undefined === impl) { throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`); } + + return impl; + } function __emval_as(handle, returnType, destructorsRef) + { + handle = requireHandle(handle); returnType = requireRegisteredType(returnType, 'emval::as'); const destructors = []; const rd = __emval_register(destructors); + + HEAP32[destructorsRef >> 2] = rd; + + return returnType.toWireType(destructors, handle); + } const emval_symbols = {}; + + function getStringOrSymbol(address) + { + const symbol = emval_symbols[address]; + + if (symbol === undefined) { return readLatin1String(address); } + + return symbol; + } const emval_methodCallers = []; + + function __emval_call_void_method(caller, handle, methodName, args) { caller = emval_methodCallers[caller]; handle = requireHandle(handle); methodName = getStringOrSymbol(methodName); caller(handle, methodName, null, args); } function emval_get_global() + { + if (typeof globalThis === 'object') { return globalThis; } + + return (function () { return Function; })()('return this')(); + } function __emval_get_global(name) + { + if (name === 0) { return __emval_register(emval_get_global()); } + name = getStringOrSymbol(name); + + return __emval_register(emval_get_global()[name]); + } function __emval_addMethodCaller(caller) + { + const id = emval_methodCallers.length; + + emval_methodCallers.push(caller); + + return id; + } function __emval_lookupTypes(argCount, argTypes) + { + const a = new Array(argCount); + + for (let i = 0; i < argCount; ++i) { a[i] = requireRegisteredType(HEAP32[(argTypes >> 2) + i], `parameter ${i}`); } + + return a; + } function __emval_get_method_caller(argCount, argTypes) + { + const types = __emval_lookupTypes(argCount, argTypes); const retType = types[0]; const signatureName = `${retType.name}_$${types.slice(1).map(function (t) { return t.name; }).join('_')}$`; const params = ['retType']; const args = [retType]; let argsList = ''; + + for (var i = 0; i < argCount - 1; ++i) { argsList += `${i !== 0 ? ', ' : ''}arg${i}`; params.push(`argType${i}`); args.push(types[1 + i]); } const functionName = makeLegalFunctionName(`methodCaller_${signatureName}`); let functionBody = `return function ${functionName}(handle, name, destructors, args) {\n`; let offset = 0; + + for (var i = 0; i < argCount - 1; ++i) { functionBody += ` var arg${i} = argType${i}.readValueFromPointer(args${offset ? `+${offset}` : ''});\n`; offset += types[i + 1].argPackAdvance; }functionBody += ` var rv = handle[name](${argsList});\n`; for (var i = 0; i < argCount - 1; ++i) { if (types[i + 1].deleteObject) { functionBody += ` argType${i}.deleteObject(arg${i});\n`; } } if (!retType.isVoid) { functionBody += ' return retType.toWireType(destructors, rv);\n'; }functionBody += '};\n'; params.push(functionBody); const invokerFunction = new_(Function, params).apply(null, args); + + return __emval_addMethodCaller(invokerFunction); + } function __emval_get_module_property(name) + { + name = getStringOrSymbol(name); + + return __emval_register(Module[name]); + } function __emval_get_property(handle, key) + { + handle = requireHandle(handle); key = requireHandle(key); + + return __emval_register(handle[key]); + } function __emval_incref(handle) { if (handle > 4) { emval_handle_array[handle].refcount += 1; } } function craftEmvalAllocator(argCount) + { + let argsList = ''; + + for (var i = 0; i < argCount; ++i) { argsList += `${i !== 0 ? ', ' : ''}arg${i}`; } let functionBody = `return function emval_allocator_${argCount}(constructor, argTypes, args) {\n`; + + for (var i = 0; i < argCount; ++i) { functionBody += `var argType${i} = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + ${i}], "parameter ${i}");\n` + `var arg${i} = argType${i}.readValueFromPointer(args);\n` + `args += argType${i}['argPackAdvance'];\n`; }functionBody += `var obj = new constructor(${argsList});\n` + `return __emval_register(obj);\n` + `}\n`; + + return new Function('requireRegisteredType', 'Module', '__emval_register', functionBody)(requireRegisteredType, Module, __emval_register); + } const emval_newers = {}; + + function __emval_new(handle, argCount, argTypes, args) + { + handle = requireHandle(handle); let newer = emval_newers[argCount]; + + if (!newer) { newer = craftEmvalAllocator(argCount); emval_newers[argCount] = newer; } + + return newer(handle, argTypes, args); + } function __emval_new_cstring(v) { return __emval_register(getStringOrSymbol(v)); } function __emval_run_destructors(handle) + { + const destructors = emval_handle_array[handle].value; + + runDestructors(destructors); __emval_decref(handle); + } function _abort() { abort(); } function _emscripten_get_heap_size() { return HEAPU8.length; } function _emscripten_memcpy_big(dest, src, num) { HEAPU8.copyWithin(dest, src, src + num); } function emscripten_realloc_buffer(size) + { + try + { + wasmMemory.grow(size - buffer.byteLength + 65535 >> 16); updateGlobalBufferAndViews(wasmMemory.buffer); + + return 1; + } + catch (e) {} + } function _emscripten_resize_heap(requestedSize) + { + const oldSize = _emscripten_get_heap_size(); const PAGE_MULTIPLE = 65536; const maxHeapSize = 2147483648 - PAGE_MULTIPLE; + + if (requestedSize > maxHeapSize) { return false; } const minHeapSize = 16777216; + + for (let cutDown = 1; cutDown <= 4; cutDown *= 2) + { + let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); const newSize = Math.min(maxHeapSize, alignUp(Math.max(minHeapSize, requestedSize, overGrownHeapSize), PAGE_MULTIPLE)); const replacement = emscripten_realloc_buffer(newSize); + + if (replacement) { return true; } + } + + return false; + } var PATH = { splitPath(filename) + { + const splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + + return splitPathRe.exec(filename).slice(1); + }, normalizeArray(parts, allowAboveRoot) + { + let up = 0; + + for (let i = parts.length - 1; i >= 0; i--) + { + const last = parts[i]; + + if (last === '.') { parts.splice(i, 1); } + else if (last === '..') { parts.splice(i, 1); up++; } + else if (up) { parts.splice(i, 1); up--; } + } if (allowAboveRoot) { for (;up; up--) { parts.unshift('..'); } } + + return parts; + }, normalize(path) + { + const isAbsolute = path.charAt(0) === '/'; const trailingSlash = path.substr(-1) === '/'; + + path = PATH.normalizeArray(path.split('/').filter(function (p) { return !!p; }), !isAbsolute).join('/'); if (!path && !isAbsolute) { path = '.'; } if (path && trailingSlash) { path += '/'; } + + return (isAbsolute ? '/' : '') + path; + }, dirname(path) + { + const result = PATH.splitPath(path); const root = result[0]; let dir = result[1]; + + if (!root && !dir) { return '.'; } if (dir) { dir = dir.substr(0, dir.length - 1); } + + return root + dir; + }, basename(path) + { + if (path === '/') return '/'; const lastSlash = path.lastIndexOf('/'); + + if (lastSlash === -1) return path; + + return path.substr(lastSlash + 1); + }, extname(path) { return PATH.splitPath(path)[3]; }, join() + { + const paths = Array.prototype.slice.call(arguments, 0); + + return PATH.normalize(paths.join('/')); + }, join2(l, r) { return PATH.normalize(`${l}/${r}`); } }; var SYSCALLS = { mappings: {}, buffers: [null, [], []], printChar(stream, curr) + { + const buffer = SYSCALLS.buffers[stream]; + + if (curr === 0 || curr === 10) { (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); buffer.length = 0; } + else { buffer.push(curr); } + }, varargs: undefined, get() + { + SYSCALLS.varargs += 4; const ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + + return ret; + }, getStr(ptr) + { + const ret = UTF8ToString(ptr); + + return ret; + }, get64(low, high) { return low; } }; + + function _fd_close(fd) { return 0; } function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {} function _fd_write(fd, iov, iovcnt, pnum) + { + let num = 0; + + for (let i = 0; i < iovcnt; i++) + { + const ptr = HEAP32[iov + i * 8 >> 2]; const len = HEAP32[iov + (i * 8 + 4) >> 2]; + + for (let j = 0; j < len; j++) { SYSCALLS.printChar(fd, HEAPU8[ptr + j]); }num += len; + }HEAP32[pnum >> 2] = num; + + return 0; + } function _roundf(d) + { + d = Number(d); + + return d >= +0 ? Number(Math_floor(d + +0.5)) : Number(Math_ceil(d - +0.5)); + } function _setTempRet0($i) { setTempRet0($i | 0); }embind_init_charCodes(); BindingError = Module.BindingError = extendError(Error, 'BindingError'); InternalError = Module.InternalError = extendError(Error, 'InternalError'); init_ClassHandle(); init_RegisteredPointer(); init_embind(); UnboundTypeError = Module.UnboundTypeError = extendError(Error, 'UnboundTypeError'); init_emval(); var asmLibraryArg = { G: ___cxa_allocate_exception, D: ___cxa_throw, A: __embind_register_bool, t: __embind_register_class, s: __embind_register_class_constructor, c: __embind_register_class_function, z: __embind_register_emval, j: __embind_register_float, x: __embind_register_function, d: __embind_register_integer, b: __embind_register_memory_view, k: __embind_register_std_string, i: __embind_register_std_wstring, B: __embind_register_void, r: __emval_as, m: __emval_call_void_method, a: __emval_decref, F: __emval_get_global, n: __emval_get_method_caller, p: __emval_get_module_property, f: __emval_get_property, h: __emval_incref, o: __emval_new, g: __emval_new_cstring, q: __emval_run_destructors, E: _abort, w: _emscripten_memcpy_big, y: _emscripten_resize_heap, C: _fd_close, u: _fd_seek, l: _fd_write, memory: wasmMemory, e: _roundf, v: _setTempRet0, table: wasmTable }; const asm = createWasm(); + + Module.asm = asm; var ___wasm_call_ctors = Module.___wasm_call_ctors = function () { return (___wasm_call_ctors = Module.___wasm_call_ctors = Module.asm.H).apply(null, arguments); }; var _malloc = Module._malloc = function () { return (_malloc = Module._malloc = Module.asm.I).apply(null, arguments); }; var _free = Module._free = function () { return (_free = Module._free = Module.asm.J).apply(null, arguments); }; var ___getTypeName = Module.___getTypeName = function () { return (___getTypeName = Module.___getTypeName = Module.asm.K).apply(null, arguments); }; var ___embind_register_native_and_builtin_types = Module.___embind_register_native_and_builtin_types = function () { return (___embind_register_native_and_builtin_types = Module.___embind_register_native_and_builtin_types = Module.asm.L).apply(null, arguments); }; var dynCall_viii = Module.dynCall_viii = function () { return (dynCall_viii = Module.dynCall_viii = Module.asm.M).apply(null, arguments); }; var dynCall_ii = Module.dynCall_ii = function () { return (dynCall_ii = Module.dynCall_ii = Module.asm.N).apply(null, arguments); }; var dynCall_vi = Module.dynCall_vi = function () { return (dynCall_vi = Module.dynCall_vi = Module.asm.O).apply(null, arguments); }; var dynCall_v = Module.dynCall_v = function () { return (dynCall_v = Module.dynCall_v = Module.asm.P).apply(null, arguments); }; var dynCall_iii = Module.dynCall_iii = function () { return (dynCall_iii = Module.dynCall_iii = Module.asm.Q).apply(null, arguments); }; var dynCall_vii = Module.dynCall_vii = function () { return (dynCall_vii = Module.dynCall_vii = Module.asm.R).apply(null, arguments); }; var dynCall_iiii = Module.dynCall_iiii = function () { return (dynCall_iiii = Module.dynCall_iiii = Module.asm.S).apply(null, arguments); }; var dynCall_iiiii = Module.dynCall_iiiii = function () { return (dynCall_iiiii = Module.dynCall_iiiii = Module.asm.T).apply(null, arguments); }; var dynCall_iiiiii = Module.dynCall_iiiiii = function () { return (dynCall_iiiiii = Module.dynCall_iiiiii = Module.asm.U).apply(null, arguments); }; var dynCall_iiiiiiii = Module.dynCall_iiiiiiii = function () { return (dynCall_iiiiiiii = Module.dynCall_iiiiiiii = Module.asm.V).apply(null, arguments); }; var dynCall_iiiiiiiii = Module.dynCall_iiiiiiiii = function () { return (dynCall_iiiiiiiii = Module.dynCall_iiiiiiiii = Module.asm.W).apply(null, arguments); }; var dynCall_iidiiii = Module.dynCall_iidiiii = function () { return (dynCall_iidiiii = Module.dynCall_iidiiii = Module.asm.X).apply(null, arguments); }; var dynCall_jiji = Module.dynCall_jiji = function () { return (dynCall_jiji = Module.dynCall_jiji = Module.asm.Y).apply(null, arguments); }; var dynCall_viiiiii = Module.dynCall_viiiiii = function () { return (dynCall_viiiiii = Module.dynCall_viiiiii = Module.asm.Z).apply(null, arguments); }; var dynCall_viiiii = Module.dynCall_viiiii = function () { return (dynCall_viiiii = Module.dynCall_viiiii = Module.asm._).apply(null, arguments); }; var dynCall_viiii = Module.dynCall_viiii = function () { return (dynCall_viiii = Module.dynCall_viiii = Module.asm.$).apply(null, arguments); }; + + Module.asm = asm; let calledRun; + + Module.then = function (func) + { + if (calledRun) { func(Module); } + else + { + const old = Module.onRuntimeInitialized; + + Module.onRuntimeInitialized = function () { if (old)old(); func(Module); }; + } + + return Module; + }; function ExitStatus(status) { this.name = 'ExitStatus'; this.message = `Program terminated with exit(${status})`; this.status = status; }dependenciesFulfilled = function runCaller() { if (!calledRun)run(); if (!calledRun)dependenciesFulfilled = runCaller; }; function run(args) + { + args = args || arguments_; if (runDependencies > 0) { return; }preRun(); if (runDependencies > 0) return; function doRun() { if (calledRun) return; calledRun = true; Module.calledRun = true; if (ABORT) return; initRuntime(); preMain(); if (Module.onRuntimeInitialized)Module.onRuntimeInitialized(); postRun(); } if (Module.setStatus) { Module.setStatus('Running...'); setTimeout(function () { setTimeout(function () { Module.setStatus(''); }, 1); doRun(); }, 1); } + else { doRun(); } + }Module.run = run; if (Module.preInit) { if (typeof Module.preInit === 'function')Module.preInit = [Module.preInit]; while (Module.preInit.length > 0) { Module.preInit.pop()(); } }noExitRuntime = true; run(); + + return BASIS; + } + ); +})(); + +if (typeof exports === 'object' && typeof module === 'object') +{ module.exports = BASIS; } +else if (typeof define === 'function' && define.amd) +{ define([], function () { return BASIS; }); } +else if (typeof exports === 'object') +{ exports.BASIS = BASIS; } diff --git a/apps/blueprints/public/basis_transcoder.wasm b/apps/blueprints/public/basis_transcoder.wasm new file mode 100644 index 0000000..08e026b Binary files /dev/null and b/apps/blueprints/public/basis_transcoder.wasm differ diff --git a/apps/blueprints/src/BookChildTree.tsx b/apps/blueprints/src/components/BookChildTree.tsx similarity index 86% rename from apps/blueprints/src/BookChildTree.tsx rename to apps/blueprints/src/components/BookChildTree.tsx index b258a9a..80817d0 100644 --- a/apps/blueprints/src/BookChildTree.tsx +++ b/apps/blueprints/src/components/BookChildTree.tsx @@ -1,9 +1,7 @@ -/** @jsx jsx */ -/* eslint-disable jsx-a11y/anchor-is-valid */ -import { jsx, css } from "@emotion/react"; +import { css } from "@emotion/react"; import Link from "next/link"; import BBCode from "bbcode-to-react"; -import { BlueprintBookEntry } from "@factorio-sites/database"; +import { ChildTree } from "@factorio-sites/database"; const componentStyles = css` .blueprint, @@ -22,7 +20,7 @@ const componentStyles = css` `; interface BookChildTreeProps { - child_tree: BlueprintBookEntry["child_tree"]; + child_tree: ChildTree; base_url: string; selected_id: string; } diff --git a/apps/blueprints/src/CopyButton.tsx b/apps/blueprints/src/components/CopyButton.tsx similarity index 100% rename from apps/blueprints/src/CopyButton.tsx rename to apps/blueprints/src/components/CopyButton.tsx diff --git a/apps/blueprints/src/FullscreenImage.tsx b/apps/blueprints/src/components/FullscreenImage.tsx similarity index 91% rename from apps/blueprints/src/FullscreenImage.tsx rename to apps/blueprints/src/components/FullscreenImage.tsx index a36f189..9e0797a 100644 --- a/apps/blueprints/src/FullscreenImage.tsx +++ b/apps/blueprints/src/components/FullscreenImage.tsx @@ -1,7 +1,5 @@ -/** @jsx jsx */ -/* eslint-disable jsx-a11y/anchor-is-valid */ import React, { useState } from "react"; -import { jsx, css } from "@emotion/react"; +import { css } from "@emotion/react"; import { MapInteractionCSS } from "react-map-interaction"; const elementStyle = css` diff --git a/apps/blueprints/src/Header.tsx b/apps/blueprints/src/components/Header.tsx similarity index 100% rename from apps/blueprints/src/Header.tsx rename to apps/blueprints/src/components/Header.tsx diff --git a/apps/blueprints/src/components/ImageEditor.tsx b/apps/blueprints/src/components/ImageEditor.tsx new file mode 100644 index 0000000..4ef6dd6 --- /dev/null +++ b/apps/blueprints/src/components/ImageEditor.tsx @@ -0,0 +1,72 @@ +import { useEffect, useRef, useState } from "react"; + +type FBE = typeof import("@fbe/editor"); +type Editor = InstanceType; + +export const ImageEditor: React.FC<{ string: string }> = ({ string }) => { + const canvasRef = useRef(null); + // const [image, setImage] = useState(); + const FbeRef = useRef(); + const editorRef = useRef(); + const [editorLoaded, setEditorLoaded] = useState(false); + + // Load editor async, it does not work server side + useEffect(() => { + (async () => { + const FBE = await import("@fbe/editor"); + const editor = new FBE.Editor(); + const canvas = canvasRef.current; + if (!canvas) return; + await editor.init(canvas); + canvas.style.width = "100%"; + canvas.style.height = "auto"; + editor.setRendererSize(canvas.offsetWidth, canvas.offsetHeight); + FbeRef.current = FBE; + editorRef.current = editor; + setEditorLoaded(true); + })(); + }, []); + + useEffect(() => { + (async () => { + const FBE = FbeRef.current; + const editor = editorRef.current; + if (!editorLoaded || !FBE || !editor) return; + + const bpOrBook = await FBE.getBlueprintOrBookFromSource(string); + const blueprint = bpOrBook instanceof FBE.Book ? bpOrBook.getBlueprint() : bpOrBook; + + console.log({ blueprint }); + + await editor.loadBlueprint(blueprint); + // await FBE.default.waitForLoader(); + + // Wait a little extra, sometimes even after textures are loaded it neeeds a moment to render + // await new Promise((resolve) => setTimeout(resolve, 10)); + + // const picture = await editor.getPicture(); + // setImage(URL.createObjectURL(picture)); + })(); + }, [string, editorLoaded]); + + window.addEventListener( + "resize", + () => { + if (!canvasRef.current || !editorRef.current) return; + canvasRef.current.style.width = "100%"; + canvasRef.current.style.height = "auto"; + editorRef.current.setRendererSize( + canvasRef.current.offsetWidth, + canvasRef.current.offsetHeight + ); + }, + false + ); + + return ( +
+ + {/* blueprint */} +
+ ); +}; diff --git a/apps/blueprints/src/Markdown.tsx b/apps/blueprints/src/components/Markdown.tsx similarity index 81% rename from apps/blueprints/src/Markdown.tsx rename to apps/blueprints/src/components/Markdown.tsx index d67cc54..0d5bdcb 100644 --- a/apps/blueprints/src/Markdown.tsx +++ b/apps/blueprints/src/components/Markdown.tsx @@ -1,6 +1,4 @@ -/** @jsx jsx */ -/* eslint-disable jsx-a11y/anchor-is-valid */ -import { jsx, css } from "@emotion/react"; +import { css } from "@emotion/react"; import ReactMarkdown from "react-markdown"; const markdownStyle = css` diff --git a/apps/blueprints/src/Pagination.tsx b/apps/blueprints/src/components/Pagination.tsx similarity index 94% rename from apps/blueprints/src/Pagination.tsx rename to apps/blueprints/src/components/Pagination.tsx index 903bc55..315802d 100644 --- a/apps/blueprints/src/Pagination.tsx +++ b/apps/blueprints/src/components/Pagination.tsx @@ -1,5 +1,3 @@ -/** @jsx jsx */ -import { jsx } from "@emotion/react"; import React from "react"; import Link from "next/link"; import { useRouter } from "next/router"; diff --git a/apps/blueprints/src/Panel.tsx b/apps/blueprints/src/components/Panel.tsx similarity index 94% rename from apps/blueprints/src/Panel.tsx rename to apps/blueprints/src/components/Panel.tsx index 531f8a1..9de7066 100644 --- a/apps/blueprints/src/Panel.tsx +++ b/apps/blueprints/src/components/Panel.tsx @@ -1,5 +1,4 @@ -/** @jsx jsx */ -import { jsx, css, SerializedStyles } from "@emotion/react"; +import { css, SerializedStyles } from "@emotion/react"; import { Box, BoxProps } from "@chakra-ui/react"; import { ReactNode } from "react"; diff --git a/apps/blueprints/pages/_app.tsx b/apps/blueprints/src/pages/_app.tsx similarity index 97% rename from apps/blueprints/pages/_app.tsx rename to apps/blueprints/src/pages/_app.tsx index a1e28d7..6767f00 100644 --- a/apps/blueprints/pages/_app.tsx +++ b/apps/blueprints/src/pages/_app.tsx @@ -1,11 +1,10 @@ -/** @jsx jsx */ import { AppProps, NextWebVitalsMetric } from "next/app"; import Head from "next/head"; import Router from "next/router"; -import { jsx, css, Global } from "@emotion/react"; +import { css, Global } from "@emotion/react"; import { ChakraProvider } from "@chakra-ui/react"; import NProgress from "nprogress"; -import { Header } from "../src/Header"; +import { Header } from "../components/Header"; const globalStyles = css` html { @@ -60,7 +59,7 @@ const BlueprintsApp = ({ Component, pageProps }: AppProps) => { }; export function reportWebVitals(metric: NextWebVitalsMetric) { - console.log(metric); + // console.log(metric); } export default BlueprintsApp; diff --git a/apps/blueprints/src/pages/api/db.ts b/apps/blueprints/src/pages/api/db.ts new file mode 100644 index 0000000..b92196d --- /dev/null +++ b/apps/blueprints/src/pages/api/db.ts @@ -0,0 +1,15 @@ +import { NextApiHandler } from "next"; +// eslint-disable-next-line @typescript-eslint/no-unused-vars +import { init, BlueprintModel } from "@factorio-sites/database"; + +const handler: NextApiHandler = async (_, res) => { + await init(); + + // eslint-disable-next-line @typescript-eslint/no-empty-function + const bp = await BlueprintModel.findByPk("uuid").catch(() => {}); + console.log({ bp }); + + res.status(200).end("db sync"); +}; + +export default handler; diff --git a/apps/blueprints/src/pages/api/fbe-proxy/[...proxy].ts b/apps/blueprints/src/pages/api/fbe-proxy/[...proxy].ts new file mode 100644 index 0000000..e78921f --- /dev/null +++ b/apps/blueprints/src/pages/api/fbe-proxy/[...proxy].ts @@ -0,0 +1,32 @@ +import { NextApiHandler } from "next"; + +const handler: NextApiHandler = async (req, res) => { + const path = req.query.proxy ? (req.query.proxy as string[]).join("/") : ""; + + console.log("[fbe-proxy]", path); + + const result = await fetch( + "https://static-fbe.teoxoy.com/file/factorio-blueprint-editor/" + path + ); + + res.setHeader("Access-Control-Allow-Origin", "*"); + + result.headers.forEach((val, key) => { + if ( + !res.hasHeader(key) && + !["content-encoding", "connection", "server", "transfer-encoding", "vary"].includes(key) + ) { + res.setHeader(key, val); + } + }); + + if (result.headers.get("content-type") === "application/octet-stream") { + const output = Buffer.from(await result.arrayBuffer()); + res.end(output); + } else { + const text = await result.text(); + res.end(text); + } +}; + +export default handler; diff --git a/apps/blueprints/pages/api/image-to-gen.ts b/apps/blueprints/src/pages/api/image-to-gen.ts similarity index 100% rename from apps/blueprints/pages/api/image-to-gen.ts rename to apps/blueprints/src/pages/api/image-to-gen.ts diff --git a/apps/blueprints/pages/api/string/[hash].ts b/apps/blueprints/src/pages/api/string/[hash].ts similarity index 100% rename from apps/blueprints/pages/api/string/[hash].ts rename to apps/blueprints/src/pages/api/string/[hash].ts diff --git a/apps/blueprints/pages/[blueprint]/[blueprintId].tsx b/apps/blueprints/src/pages/blueprint/[blueprintId].tsx similarity index 90% rename from apps/blueprints/pages/[blueprint]/[blueprintId].tsx rename to apps/blueprints/src/pages/blueprint/[blueprintId].tsx index 7380fb5..f403880 100644 --- a/apps/blueprints/pages/[blueprint]/[blueprintId].tsx +++ b/apps/blueprints/src/pages/blueprint/[blueprintId].tsx @@ -1,25 +1,25 @@ -/** @jsx jsx */ import React, { ReactNode, useEffect, useState } from "react"; -import { jsx, css } from "@emotion/react"; +import { css } from "@emotion/react"; import { NextPage, NextPageContext } from "next"; import BBCode from "bbcode-to-react"; import { Button, Grid, Image } from "@chakra-ui/react"; import { - BlueprintBookEntry, - BlueprintEntry, - BlueprintPageEntry, + BlueprintBook, + Blueprint, + BlueprintPage, getBlueprintBookById, getBlueprintById, getBlueprintPageById, hasBlueprintImage, } from "@factorio-sites/database"; -import { BlueprintData, timeLogger } from "@factorio-sites/common-utils"; +import { BlueprintStringData, timeLogger } from "@factorio-sites/common-utils"; import { chakraResponsive, parseBlueprintStringClient } from "@factorio-sites/web-utils"; -import { Panel } from "../../src/Panel"; -import { Markdown } from "../../src/Markdown"; -import { FullscreenImage } from "../../src/FullscreenImage"; -import { BookChildTree } from "../../src/BookChildTree"; -import { CopyButton } from "../../src/CopyButton"; +import { Panel } from "../../components/Panel"; +import { Markdown } from "../../components/Markdown"; +import { FullscreenImage } from "../../components/FullscreenImage"; +import { BookChildTree } from "../../components/BookChildTree"; +import { CopyButton } from "../../components/CopyButton"; +import { ImageEditor } from "../../components/ImageEditor"; const imageStyle = css` display: flex; @@ -30,15 +30,15 @@ const imageStyle = css` `; type Selected = - | { type: "blueprint"; data: Pick } - | { type: "blueprint_book"; data: Pick }; + | { type: "blueprint"; data: Pick } + | { type: "blueprint_book"; data: Pick }; interface IndexProps { image_exists: boolean; selected: Selected; - blueprint: BlueprintEntry | null; - blueprint_book: BlueprintBookEntry | null; - blueprint_page: BlueprintPageEntry; + blueprint: Blueprint | null; + blueprint_book: BlueprintBook | null; + blueprint_page: BlueprintPage; } export const Index: NextPage = ({ @@ -50,7 +50,7 @@ export const Index: NextPage = ({ }) => { const [imageZoom, setImageZoom] = useState(false); const [blueprintString, setBlueprintString] = useState(null); - const [data, setData] = useState(null); + const [data, setData] = useState(null); const [showJson, setShowJson] = useState(false); const selectedHash = selected.data.blueprint_hash; @@ -145,7 +145,8 @@ export const Index: NextPage = ({ gridColumn={chakraResponsive({ mobile: "1", desktop: "2" })} gridRow={chakraResponsive({ mobile: "1", desktop: null })} > - {renderImage()} + {/* {renderImage()} */} + {blueprintString && } = ({ blueprint }) => ( +const BlueprintComponent: React.FC<{ blueprint: BlueprintPage }> = ({ blueprint }) => (
{blueprint.title} @@ -33,7 +31,7 @@ const BlueprintComponent: React.FC<{ blueprint: BlueprintPageEntry }> = ({ bluep interface IndexProps { page: number; - blueprints: BlueprintPageEntry[]; + blueprints: BlueprintPage[]; } export const Index: NextPage = ({ page, blueprints }) => { diff --git a/apps/blueprints/tsconfig.json b/apps/blueprints/tsconfig.json index 05e636e..2f806bd 100644 --- a/apps/blueprints/tsconfig.json +++ b/apps/blueprints/tsconfig.json @@ -9,7 +9,9 @@ "forceConsistentCasingInFileNames": true, "noEmit": true, "resolveJsonModule": true, - "isolatedModules": true + "isolatedModules": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true }, "include": ["**/*.ts", "**/*.tsx", "next-env.d.ts"], "exclude": ["node_modules"] diff --git a/apps/factorioprints-scraper/src/app/populate-db.ts b/apps/factorioprints-scraper/src/app/populate-db.ts index 7a632d5..1ec26a4 100644 --- a/apps/factorioprints-scraper/src/app/populate-db.ts +++ b/apps/factorioprints-scraper/src/app/populate-db.ts @@ -10,7 +10,7 @@ const fsReadFile = promisify(fs.readFile); const CACHE_DIR = path.join(__dirname, "../../../.cache/factorioprints-data"); export async function writeToDatastore() { - const filecontent = await fsReadFile(path.join(CACHE_DIR, `most-fav-json/page2.json`), "utf8"); + const filecontent = await fsReadFile(path.join(CACHE_DIR, `most-fav-json/page1.json`), "utf8"); const data = JSON.parse(filecontent); for (let i = 0; i < data.length; i++) { diff --git a/apps/factorioprints-scraper/src/environments/environment.ts b/apps/factorioprints-scraper/src/environments/environment.ts index a20cfe5..387d8fa 100644 --- a/apps/factorioprints-scraper/src/environments/environment.ts +++ b/apps/factorioprints-scraper/src/environments/environment.ts @@ -1,3 +1,11 @@ export const environment = { production: false, }; + +process.env.GOOGLE_APPLICATION_CREDENTIALS = + "D:\\git\\factorio-sites\\credentials\\factorio-sites.json"; +process.env.POSTGRES_HOST = "127.0.0.1"; +process.env.POSTGRES_DB = "factorio-blueprints"; +process.env.POSTGRES_USER = "factorio-blueprints"; +process.env.POSTGRES_PASSWORD = "local"; +process.env.SYNCHRONIZE_DB = "true"; diff --git a/apps/factorioprints-scraper/src/main.ts b/apps/factorioprints-scraper/src/main.ts index 575f58a..67055da 100644 --- a/apps/factorioprints-scraper/src/main.ts +++ b/apps/factorioprints-scraper/src/main.ts @@ -1,5 +1,12 @@ +import "./environments/environment"; +if (process.env.NODE_ENV === "development") { + console.log(process.env.GOOGLE_APPLICATION_CREDENTIALS); +} + +// import { saveBlueprintFromFactorioprints } from "@factorio-sites/database"; +// import { parseBlueprintString } from "@factorio-sites/node-utils"; +// import { scanFactorioPrints } from "./app/scan"; import { writeToDatastore } from "./app/populate-db"; -import { scanFactorioPrints } from "./app/scan"; // async function writeTestBP() { // const source = @@ -11,12 +18,10 @@ import { scanFactorioPrints } from "./app/scan"; // // use createBlueprint // saveBlueprintFromFactorioprints( // { -// factorioprints_id: null, +// factorioprints_id: "-id", // title: "my blueprint", // description_markdown: "", -// tags: [], -// updated_at: Date.now() / 1000, -// created_at: Date.now() / 1000, +// tags: ["tag1", "tag2"], // }, // string // ); @@ -24,8 +29,8 @@ import { scanFactorioPrints } from "./app/scan"; async function main() { // scanFactorioPrints(1, 3); - writeToDatastore(); // writeTestBP(); + writeToDatastore(); } main().catch((reason) => { diff --git a/docker/factorio-blueprints/docker-compose.yml b/docker/factorio-blueprints/docker-compose.yml new file mode 100644 index 0000000..ef63280 --- /dev/null +++ b/docker/factorio-blueprints/docker-compose.yml @@ -0,0 +1,26 @@ +version: "3.8" +services: + postgres: + image: postgres:13 + container_name: factorio-blueprints-database + restart: always + volumes: + - postgres-data:/var/lib/postgresql/data/ + env_file: + - postgres.env + ports: + - 5432:5432 + adminer: + image: dpage/pgadmin4:4 + container_name: factorio-blueprints-database-admin + restart: always + volumes: + - pgadmin-data:/var/lib/pgadmin + env_file: + - pgadmin.env + ports: + - 8080:80 + +volumes: + postgres-data: + pgadmin-data: diff --git a/docker/factorio-blueprints/pgadmin.env b/docker/factorio-blueprints/pgadmin.env new file mode 100644 index 0000000..4cf6bce --- /dev/null +++ b/docker/factorio-blueprints/pgadmin.env @@ -0,0 +1,3 @@ +PGADMIN_DEFAULT_EMAIL=me@barrykun.com +PGADMIN_DEFAULT_PASSWORD=local +PGADMIN_LISTEN_PORT=80 \ No newline at end of file diff --git a/docker/factorio-blueprints/postgres.env b/docker/factorio-blueprints/postgres.env new file mode 100644 index 0000000..a77dafd --- /dev/null +++ b/docker/factorio-blueprints/postgres.env @@ -0,0 +1,3 @@ +POSTGRES_DB=factorio-blueprints +POSTGRES_USER=factorio-blueprints +POSTGRES_PASSWORD=local diff --git a/libs/common-utils/src/lib/common-utils.ts b/libs/common-utils/src/lib/common-utils.ts index a13354b..4db67a1 100644 --- a/libs/common-utils/src/lib/common-utils.ts +++ b/libs/common-utils/src/lib/common-utils.ts @@ -4,7 +4,7 @@ interface Entity { position: { x: number; y: number }; } -export interface Blueprint { +export interface BlueprintData { entities: Entity[]; tiles?: { name: string; position: { x: number; y: number } }[]; icons: { signal: { type: "item" | "fluid"; name: string } }[]; @@ -14,33 +14,44 @@ export interface Blueprint { version: number; } -export interface BlueprintBook { +export interface BlueprintBookData { active_index: number; - blueprints: Array<{ index: number } & BlueprintData>; + blueprints: Array<{ index: number } & BlueprintStringData>; item: string; label: string; description?: string; version: number; } -export interface BlueprintData { - blueprint_book?: BlueprintBook; - blueprint?: Blueprint; +export interface BlueprintPageData { + id: string; + blueprint_id?: string; + blueprint_book_id?: string; + title: string; + description_markdown: string; + created_at: number; + updated_at: number; + factorioprints_id?: string; } -export const getBlueprintContentForImageHash = (blueprint: Blueprint): string => { +export interface BlueprintStringData { + blueprint_book?: BlueprintBookData; + blueprint?: BlueprintData; +} + +export const getBlueprintContentForImageHash = (blueprint: BlueprintData): string => { return JSON.stringify({ entities: blueprint.entities, tiles: blueprint.tiles, }); }; -export const flattenBlueprintData = (data: BlueprintData) => { - const blueprints: Blueprint[] = []; - const books: BlueprintBook[] = []; +export const flattenBlueprintData = (data: BlueprintStringData) => { + const blueprints: BlueprintData[] = []; + const books: BlueprintBookData[] = []; // Recursively go through the string to find all blueprints - const findAndPushBlueprints = (data: BlueprintData) => { + const findAndPushBlueprints = (data: BlueprintStringData) => { if (data.blueprint) { blueprints.push(data.blueprint); } else if (data.blueprint_book) { @@ -59,25 +70,28 @@ export const flattenBlueprintData = (data: BlueprintData) => { }; }; -export const findBlueprintByPath = (data: BlueprintData, path: number[]): Blueprint | null => { +export const findBlueprintByPath = ( + data: BlueprintStringData, + path: number[] +): BlueprintStringData | null => { if (path.length === 0) { - return (data.blueprint || data.blueprint_book?.blueprints[0]) as Blueprint; + return (data.blueprint || data.blueprint_book?.blueprints[0]) as BlueprintStringData; } else if (data.blueprint_book && path.length === 1) { - return data.blueprint_book.blueprints[path[0]].blueprint as Blueprint; + return data.blueprint_book.blueprints[path[0]].blueprint as BlueprintStringData; } return null; }; export const findActiveBlueprint = ( - data: BlueprintData -): { blueprint: Blueprint; path: number[] } => { + data: BlueprintStringData +): { blueprint: BlueprintData; path: number[] } => { if (data.blueprint) { return { blueprint: data.blueprint, path: [0] }; } else if (data.blueprint_book) { const findActive = ( - book: BlueprintBook, + book: BlueprintBookData, _path: number[] = [] - ): { blueprint: Blueprint; path: number[] } => { + ): { blueprint: BlueprintData; path: number[] } => { const active = book.blueprints.find((bp) => bp.index === book.active_index); if (active && active.blueprint) { diff --git a/libs/database/jest.config.js b/libs/database/jest.config.js index a44f0d7..075089f 100644 --- a/libs/database/jest.config.js +++ b/libs/database/jest.config.js @@ -1,3 +1,4 @@ +/* eslint-disable no-undef */ module.exports = { displayName: "database", preset: "../../jest.preset.js", diff --git a/libs/database/src/index.ts b/libs/database/src/index.ts index 25c6e67..c1fa836 100644 --- a/libs/database/src/index.ts +++ b/libs/database/src/index.ts @@ -1,4 +1,6 @@ -export * from "./lib/gcp-datastore"; +export * from "./lib/data"; export * from "./lib/gcp-pubsub"; export * from "./lib/gcp-storage"; export * from "./lib/types"; +export * from "./lib/postgres/database"; +export * from "./lib/postgres/models"; diff --git a/libs/database/src/lib/data/blueprint.ts b/libs/database/src/lib/data/blueprint.ts new file mode 100644 index 0000000..47bbc74 --- /dev/null +++ b/libs/database/src/lib/data/blueprint.ts @@ -0,0 +1,85 @@ +import { BlueprintData, getBlueprintContentForImageHash } from "@factorio-sites/common-utils"; +import { encodeBlueprint, hashString } from "@factorio-sites/node-utils"; +import { getBlueprintImageRequestTopic } from "../gcp-pubsub"; +import { saveBlueprintString } from "../gcp-storage"; +import { BlueprintInstance, BlueprintModel, BlueprintStringModel } from "../postgres/models"; +import { Blueprint } from "../types"; + +const blueprintImageRequestTopic = getBlueprintImageRequestTopic(); + +const mapBlueprintInstanceToEntry = (entity: BlueprintInstance): Blueprint => ({ + id: entity.id, + blueprint_hash: entity.blueprint_hash, + image_hash: entity.image_hash, + label: entity.label || "", + description: entity.description || "", + tags: entity.tags, + created_at: entity.created_at && entity.created_at.getTime() / 1000, + updated_at: entity.updated_at && entity.updated_at.getTime() / 1000, + factorioprints_id: entity.factorioprints_id || undefined, + game_version: entity.game_version || null, +}); + +export async function getBlueprintById(id: string): Promise { + const result = await BlueprintModel.findByPk(id).catch(() => null); + return result ? mapBlueprintInstanceToEntry(result) : null; +} + +export async function getBlueprintByHash(hash: string): Promise { + const result = await BlueprintModel.findOne({ + where: { blueprint_hash: hash }, + }).catch(() => null); + return result ? mapBlueprintInstanceToEntry(result) : null; +} + +export async function createBlueprint( + blueprint: BlueprintData, + extraInfo: { + tags: string[]; + created_at?: number; + updated_at?: number; + factorioprints_id?: string; + } +) { + const string = await encodeBlueprint({ blueprint }); + const blueprint_hash = hashString(string); + const image_hash = hashString(getBlueprintContentForImageHash(blueprint)); + + const exists = await getBlueprintByHash(blueprint_hash); + if (exists) { + return { insertedId: exists.id }; + } + + // Write string to google storage + await saveBlueprintString(blueprint_hash, string); + + // Write blueprint details to datastore + const result = await BlueprintModel.create({ + label: blueprint.label, + description: blueprint.description, + blueprint_hash: blueprint_hash, + image_hash: image_hash, + tags: extraInfo.tags, + game_version: `${blueprint.version}`, + image_version: 1, + factorioprints_id: extraInfo.factorioprints_id, + updated_at: extraInfo.updated_at ? new Date(extraInfo.updated_at * 1000) : undefined, + created_at: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : undefined, + }); + + console.log(`Created Blueprint ${result.id}`); + + blueprintImageRequestTopic.publishJSON({ + blueprintId: result.id, + }); + + await BlueprintStringModel.create({ + blueprint_id: result.id, + blueprint_hash: blueprint_hash, + image_hash: image_hash, + version: 1, + changes_markdown: null, + }); + + return { insertedId: result.id }; +} diff --git a/libs/database/src/lib/data/blueprint_book.ts b/libs/database/src/lib/data/blueprint_book.ts new file mode 100644 index 0000000..49d5d41 --- /dev/null +++ b/libs/database/src/lib/data/blueprint_book.ts @@ -0,0 +1,97 @@ +import { BlueprintBookData } from "@factorio-sites/common-utils"; +import { encodeBlueprint, hashString } from "@factorio-sites/node-utils"; +import { saveBlueprintString } from "../gcp-storage"; +import { BlueprintBookModel, BlueprintBookInstance } from "../postgres/models"; +import { BlueprintBook, ChildTree } from "../types"; +import { createBlueprint } from "./blueprint"; + +const mapBlueprintBookEntityToObject = (entity: BlueprintBookInstance): BlueprintBook => ({ + id: entity.id, + // blueprint_ids: entity.blueprint_ids.map((key: any) => key.id), + // blueprint_book_ids: entity.blueprint_book_ids.map((key: any) => key.id), + child_tree: entity.child_tree ? entity.child_tree : [], + blueprint_hash: entity.blueprint_hash, + label: entity.label, + description: entity.description, + created_at: entity.created_at && entity.created_at.getTime() / 1000, + updated_at: entity.updated_at && entity.updated_at.getTime() / 1000, + is_modded: entity.is_modded || false, + factorioprints_id: entity.factorioprints_id, +}); + +export async function getBlueprintBookById(id: string): Promise { + const result = await BlueprintBookModel.findByPk(id).catch(() => null); + return result ? mapBlueprintBookEntityToObject(result) : null; +} + +export async function getBlueprintBookByHash(hash: string): Promise { + const result = await BlueprintBookModel.findOne({ + where: { blueprint_hash: hash }, + }).catch(() => null); + return result ? mapBlueprintBookEntityToObject(result) : null; +} + +export async function createBlueprintBook( + blueprintBook: BlueprintBookData, + extraInfo: { + tags: string[]; + created_at?: number; + updated_at?: number; + factorioprints_id?: string; + } +): Promise<{ insertedId: string; child_tree: ChildTree }> { + const string = await encodeBlueprint({ blueprint_book: blueprintBook }); + const blueprint_hash = hashString(string); + + const exists = await getBlueprintBookByHash(blueprint_hash); + if (exists) { + const book = await getBlueprintBookById(exists.id); + if (!book) throw Error("this is impossible, just pleasing typescript"); + return { insertedId: exists.id, child_tree: book.child_tree }; + } + + // Write string to google storage + await saveBlueprintString(blueprint_hash, string); + + const blueprint_ids = []; + const blueprint_book_ids = []; + const child_tree: ChildTree = []; + + // Create the book's child objects + for (let i = 0; i < blueprintBook.blueprints.length; i++) { + const blueprint = blueprintBook.blueprints[i]; + if (blueprint.blueprint) { + const result = await createBlueprint(blueprint.blueprint, extraInfo); + child_tree.push({ + type: "blueprint", + id: result.insertedId, + name: blueprint.blueprint.label, + }); + blueprint_ids.push(result.insertedId); + } else if (blueprint.blueprint_book) { + const result = await createBlueprintBook(blueprint.blueprint_book, extraInfo); + child_tree.push({ + type: "blueprint_book", + id: result.insertedId, + name: blueprint.blueprint_book.label, + children: result.child_tree, + }); + blueprint_book_ids.push(result.insertedId); + } + } + + const result = await BlueprintBookModel.create({ + label: blueprintBook.label, + description: blueprintBook.description, + blueprint_hash: blueprint_hash, + factorioprints_id: extraInfo.factorioprints_id, + is_modded: false, + child_tree, + updated_at: extraInfo.updated_at ? new Date(extraInfo.updated_at * 1000) : undefined, + created_at: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : undefined, + }); + + console.log(`Created Blueprint book ${result.id}`); + + return { insertedId: result.id, child_tree }; +} diff --git a/libs/database/src/lib/data/blueprint_page.ts b/libs/database/src/lib/data/blueprint_page.ts new file mode 100644 index 0000000..a03eefc --- /dev/null +++ b/libs/database/src/lib/data/blueprint_page.ts @@ -0,0 +1,63 @@ +import { BlueprintPageModel, BlueprintPageInstance } from "../postgres/models"; +import { BlueprintPage } from "../types"; + +const mapBlueprintPageEntityToObject = (entity: BlueprintPageInstance): BlueprintPage => ({ + id: entity.id, + blueprint_id: entity.blueprint_id ?? null, + blueprint_book_id: entity.blueprint_book_id ?? null, + title: entity.title, + description_markdown: entity.description_markdown, + created_at: entity.created_at && entity.created_at.getTime() / 1000, + updated_at: entity.updated_at && entity.updated_at.getTime() / 1000, + factorioprints_id: entity.factorioprints_id ?? null, +}); + +export async function getBlueprintPageById(id: string): Promise { + const result = await BlueprintPageModel.findByPk(id).catch(() => null); + return result ? mapBlueprintPageEntityToObject(result) : null; +} + +export async function getBlueprintPageByFactorioprintsId( + id: string +): Promise { + const result = await BlueprintPageModel.findOne({ + where: { factorioprints_id: id }, + }).catch(() => null); + return result ? mapBlueprintPageEntityToObject(result) : null; +} + +export async function getMostRecentBlueprintPages(page = 1): Promise { + const perPage = 10; + const result = + (await BlueprintPageModel.findAll({ + order: [["updated_at", "DESC"]], + limit: perPage, + offset: (page - 1) * perPage, + raw: true, + }).catch(() => null)) || []; + return result.map(mapBlueprintPageEntityToObject); +} + +export async function createBlueprintPage( + type: "blueprint" | "blueprint_book", + targetId: string, + extraInfo: { + title: string; + description_markdown: string; + created_at?: number; + updated_at?: number; + factorioprints_id?: string; + } +) { + await BlueprintPageModel.create({ + title: extraInfo.title, + description_markdown: extraInfo.description_markdown, + factorioprints_id: extraInfo.factorioprints_id, + blueprint_id: type === "blueprint" ? targetId : undefined, + blueprint_book_id: type === "blueprint_book" ? targetId : undefined, + updated_at: extraInfo.updated_at ? new Date(extraInfo.updated_at * 1000) : undefined, + created_at: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : undefined, + }); + + console.log(`Created Blueprint Page`); +} diff --git a/libs/database/src/lib/data/factorioprints.ts b/libs/database/src/lib/data/factorioprints.ts new file mode 100644 index 0000000..bc7ae92 --- /dev/null +++ b/libs/database/src/lib/data/factorioprints.ts @@ -0,0 +1,50 @@ +import { parseBlueprintString } from "@factorio-sites/node-utils"; +import { createBlueprint } from "./blueprint"; +import { createBlueprintBook } from "./blueprint_book"; +import { createBlueprintPage } from "./blueprint_page"; + +interface BlueprintDataFromFactorioprints { + description_markdown: string; + title: string; + updated_at?: number; + created_at?: number; + tags: string[]; + factorioprints_id: string; +} +export async function saveBlueprintFromFactorioprints( + factorioprintData: BlueprintDataFromFactorioprints, + blueprintString: string +) { + const parsed = await parseBlueprintString(blueprintString); + + // not needed for inserting, just printing + // const { blueprints, books } = flattenBlueprintData(parsed.data); + // console.log(`string has ${books.length} books with ${blueprints.length} blueprints`); + + const extraInfo = { + created_at: factorioprintData.created_at, + updated_at: factorioprintData.updated_at, + tags: factorioprintData.tags, + factorioprints_id: factorioprintData.factorioprints_id, + }; + + const extraInfoPage = { + title: factorioprintData.title, + description_markdown: factorioprintData.description_markdown, + created_at: factorioprintData.created_at, + updated_at: factorioprintData.updated_at, + factorioprints_id: factorioprintData.factorioprints_id, + }; + + if (parsed.data.blueprint) { + console.log("string has one blueprint..."); + const { insertedId } = await createBlueprint(parsed.data.blueprint, extraInfo); + await createBlueprintPage("blueprint", insertedId, extraInfoPage); + } else if (parsed.data.blueprint_book) { + console.log("string has a blueprint book..."); + const { insertedId } = await createBlueprintBook(parsed.data.blueprint_book, extraInfo); + await createBlueprintPage("blueprint_book", insertedId, extraInfoPage); + } + + return true; +} diff --git a/libs/database/src/lib/data/index.ts b/libs/database/src/lib/data/index.ts new file mode 100644 index 0000000..0dc20e1 --- /dev/null +++ b/libs/database/src/lib/data/index.ts @@ -0,0 +1,4 @@ +export * from "./blueprint"; +export * from "./blueprint_book"; +export * from "./blueprint_page"; +export * from "./factorioprints"; diff --git a/libs/database/src/lib/datastore/gcp-datastore.ts b/libs/database/src/lib/datastore/gcp-datastore.ts new file mode 100644 index 0000000..e876e10 --- /dev/null +++ b/libs/database/src/lib/datastore/gcp-datastore.ts @@ -0,0 +1,438 @@ +// import { Datastore } from "@google-cloud/datastore"; +// import { encodeBlueprint, hashString, parseBlueprintString } from "@factorio-sites/node-utils"; +// import { +// BlueprintStringData, +// BlueprintBookData, +// getBlueprintContentForImageHash, +// } from "@factorio-sites/common-utils"; +// import { getBlueprintImageRequestTopic } from "./gcp-pubsub"; +// import { saveBlueprintString } from "./gcp-storage"; +// import { BlueprintBook, Blueprint, BlueprintPage } from "./types"; + +// const datastore = new Datastore(); +// const BlueprintEntity = "Blueprint"; +// const BlueprintBookEntity = "BlueprintBook"; +// const BlueprintPageEntity = "BlueprintPage"; +// const BlueprintStringEntity = "BlueprintString"; +// const blueprintImageRequestTopic = getBlueprintImageRequestTopic(); + +// class DatastoreExistsError extends Error { +// constructor(public existingId: string, message: string) { +// super(message); +// this.name = this.constructor.name; +// Error.captureStackTrace(this, this.constructor); +// } +// } + +// /* +// * BlueprintBook +// */ + +// const mapBlueprintBookEntityToObject = (entity: any): BlueprintBook => ({ +// id: entity[datastore.KEY].id, +// // blueprint_ids: entity.blueprint_ids.map((key: any) => key.id), +// // blueprint_book_ids: entity.blueprint_book_ids.map((key: any) => key.id), +// child_tree: entity.child_tree ? entity.child_tree : [], +// blueprint_hash: entity.blueprint_hash, +// label: entity.label, +// description: entity.description, +// created_at: entity.created_at && entity.created_at.getTime() / 1000, +// updated_at: entity.updated_at && entity.updated_at.getTime() / 1000, +// is_modded: entity.is_modded || false, +// factorioprints_id: entity.factorioprints_id || null, +// }); + +// export async function getBlueprintBookById(id: string): Promise { +// const result = await datastore.get(datastore.key([BlueprintBookEntity, Number(id)])); +// return result[0] ? mapBlueprintBookEntityToObject(result[0]) : null; +// } + +// export async function getBlueprintBookByHash(hash: string): Promise { +// const query = datastore +// .createQuery(BlueprintBookEntity) +// .filter("blueprint_hash", "=", hash) +// .limit(1); +// const [result] = await datastore.runQuery(query); +// return result[0] ? mapBlueprintBookEntityToObject(result[0]) : null; +// } + +// export async function createBlueprintBook( +// blueprintBook: BlueprintBookData, +// extraInfo: { tags: string[]; created_at: number; updated_at: number; factorioprints_id: string } +// ): Promise<{ insertedId: string; child_tree: BlueprintBook["child_tree"] }> { +// const string = await encodeBlueprint({ blueprint_book: blueprintBook }); +// const blueprint_hash = hashString(string); + +// const exists = await getBlueprintBookByHash(blueprint_hash); +// if (exists) { +// const book = await getBlueprintBookById(exists.id); +// if (!book) throw Error("this is impossible, just pleasing typescript"); +// return { insertedId: exists.id, child_tree: book.child_tree }; +// } + +// // Write string to google storage +// await saveBlueprintString(blueprint_hash, string); + +// const blueprint_ids = []; +// const blueprint_book_ids = []; +// const child_tree: BlueprintBook["child_tree"] = []; + +// // Create the book's child objects +// for (let i = 0; i < blueprintBook.blueprints.length; i++) { +// const blueprint = blueprintBook.blueprints[i]; +// if (blueprint.blueprint) { +// const result = await createBlueprint(blueprint.blueprint, extraInfo); +// child_tree.push({ +// type: "blueprint", +// id: result.insertedId, +// name: blueprint.blueprint.label, +// }); +// blueprint_ids.push(result.insertedId); +// } else if (blueprint.blueprint_book) { +// const result = await createBlueprintBook(blueprint.blueprint_book, extraInfo); +// child_tree.push({ +// type: "blueprint_book", +// id: result.insertedId, +// name: blueprint.blueprint_book.label, +// children: result.child_tree, +// }); +// blueprint_book_ids.push(result.insertedId); +// } +// } + +// // Write blueprint details to datastore +// const [result] = await datastore.insert({ +// key: datastore.key([BlueprintBookEntity]), +// data: [ +// { +// name: "blueprint_ids", +// value: blueprint_ids.map((id) => datastore.key([BlueprintEntity, datastore.int(id)])), +// }, +// { +// name: "blueprint_book_ids", +// value: blueprint_book_ids.map((id) => +// datastore.key([BlueprintBookEntity, datastore.int(id)]) +// ), +// }, +// { name: "child_tree", value: child_tree, excludeFromIndexes: true }, +// { name: "label", value: blueprintBook.label }, +// { +// name: "description", +// value: blueprintBook.description || null, +// excludeFromIndexes: true, +// }, +// { name: "blueprint_hash", value: blueprint_hash }, +// { +// name: "created_at", +// value: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : null, +// excludeFromIndexes: true, +// }, +// { +// name: "updated_at", +// value: extraInfo.updated_at ? new Date(extraInfo.updated_at * 1000) : null, +// excludeFromIndexes: true, +// }, +// { name: "factorioprints_id", value: extraInfo.factorioprints_id || null }, +// ], +// }); + +// const insertedId = String(result.mutationResults?.[0]?.key?.path?.[0]?.id) as string; +// if (!insertedId) throw Error("Something went wrong inserting entity"); + +// console.log(`Created Blueprint book ${insertedId}`); + +// return { insertedId, child_tree }; +// } + +// /* +// * Blueprint +// */ + +// const mapBlueprintEntityToObject = (entity: any): Blueprint => ({ +// id: entity[datastore.KEY].id, +// blueprint_hash: entity.blueprint_hash, +// image_hash: entity.image_hash, +// label: entity.label, +// description: entity.description, +// tags: entity.tags, +// created_at: entity.created_at && entity.created_at.getTime() / 1000, +// updated_at: entity.updated_at && entity.updated_at.getTime() / 1000, +// factorioprints_id: entity.factorioprints_id || null, +// game_version: entity.game_version, +// }); + +// const mapBlueprintObjectToEntity = (object: Omit & { id?: string }): any => ({ +// key: datastore.key(object.id ? [BlueprintEntity, datastore.int(object.id)] : [BlueprintEntity]), +// data: [ +// { name: "label", value: object.label }, +// { +// name: "description", +// value: object.description || null, +// excludeFromIndexes: true, +// }, +// { name: "blueprint_hash", value: object.blueprint_hash }, +// { name: "image_hash", value: object.image_hash }, +// { name: "tags", value: object.tags || [] }, +// { +// name: "created_at", +// value: object.created_at ? new Date(object.created_at * 1000) : new Date(), +// excludeFromIndexes: true, +// }, +// { +// name: "updated_at", +// value: object.updated_at ? new Date(object.updated_at * 1000) : new Date(), +// excludeFromIndexes: true, +// }, +// { name: "game_version", value: object.game_version, excludeFromIndexes: true }, +// { name: "factorioprints_id", value: object.factorioprints_id || null }, +// ], +// }); + +// export async function getBlueprintById(id: string): Promise { +// const result = await datastore.get(datastore.key([BlueprintEntity, datastore.int(id)])); +// return result[0] ? mapBlueprintEntityToObject(result[0]) : null; +// } + +// export async function getBlueprintByHash(hash: string): Promise { +// const query = datastore.createQuery(BlueprintEntity).filter("blueprint_hash", "=", hash).limit(1); +// const [result] = await datastore.runQuery(query); +// return result[0] ? mapBlueprintEntityToObject(result[0]) : null; +// } + +// export async function getBlueprintByImageHash(hash: string): Promise { +// const query = datastore.createQuery(BlueprintEntity).filter("image_hash", "=", hash).limit(1); +// const [result] = await datastore.runQuery(query); +// return result[0] ? mapBlueprintEntityToObject(result[0]) : null; +// } + +// export async function createBlueprint( +// blueprint: BlueprintStringData, +// extraInfo: { tags: string[]; created_at: number; updated_at: number; factorioprints_id: string } +// ) { +// const string = await encodeBlueprint({ blueprint }); +// const blueprint_hash = hashString(string); +// const image_hash = hashString(getBlueprintContentForImageHash(blueprint)); + +// const exists = await getBlueprintByHash(blueprint_hash); +// if (exists) { +// return { insertedId: exists.id }; +// } + +// // Write string to google storage +// await saveBlueprintString(blueprint_hash, string); + +// // Write blueprint details to datastore +// const [result] = await datastore.insert({ +// key: datastore.key([BlueprintEntity]), +// data: [ +// { name: "label", value: blueprint.label }, +// { +// name: "description", +// value: blueprint.description || null, +// excludeFromIndexes: true, +// }, +// { name: "blueprint_hash", value: blueprint_hash }, +// { name: "image_hash", value: image_hash }, +// { name: "tags", value: extraInfo.tags ? extraInfo.tags : [] }, +// { +// name: "created_at", +// value: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : new Date(), +// excludeFromIndexes: true, +// }, +// { +// name: "updated_at", +// value: extraInfo.updated_at ? new Date(extraInfo.updated_at * 1000) : new Date(), +// excludeFromIndexes: true, +// }, +// { name: "game_version", value: blueprint.version, excludeFromIndexes: true }, +// { name: "factorioprints_id", value: extraInfo.factorioprints_id || null }, +// ], +// }); + +// const insertedId = String(result.mutationResults?.[0]?.key?.path?.[0]?.id); +// if (!insertedId) throw Error("Something went wrong inserting entity"); + +// console.log(`Created Blueprint ${insertedId}`); + +// blueprintImageRequestTopic.publishJSON({ +// blueprintId: insertedId, +// }); + +// await datastore.insert({ +// key: datastore.key([BlueprintEntity, datastore.int(insertedId), BlueprintStringEntity]), +// data: [ +// { name: "blueprint_hash", value: blueprint_hash }, +// { name: "image_hash", value: image_hash }, +// { name: "version", value: 1 }, +// { name: "changes_markdown", value: null }, +// { +// name: "created_at", +// value: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : new Date(), +// excludeFromIndexes: true, +// }, +// ], +// }); + +// return { insertedId }; +// } + +// export async function updateBlueprint(blueprint: Blueprint) { +// datastore.save(mapBlueprintObjectToEntity(blueprint)); +// } + +// /* +// * BlueprintPage +// */ +// const mapBlueprintPageEntityToObject = (entity: any): BlueprintPage => ({ +// id: entity[datastore.KEY].id, +// blueprint_id: entity.blueprint_id ? entity.blueprint_id.id : null, +// blueprint_book_id: entity.blueprint_book_id ? entity.blueprint_book_id.id : null, +// title: entity.title, +// description_markdown: entity.description_markdown, +// created_at: entity.created_at && entity.created_at.getTime() / 1000, +// updated_at: entity.updated_at && entity.updated_at.getTime() / 1000, +// factorioprints_id: entity.factorioprints_id || null, +// }); + +// export async function getBlueprintPageById(id: string): Promise { +// const result = await datastore.get(datastore.key([BlueprintPageEntity, datastore.int(id)])); +// return result[0] ? mapBlueprintPageEntityToObject(result[0]) : null; +// } + +// export async function getBlueprintPageByFactorioprintsId( +// id: string +// ): Promise { +// const query = datastore +// .createQuery(BlueprintPageEntity) +// .filter("factorioprints_id", "=", id) +// .limit(1); +// const [result] = await datastore.runQuery(query); +// return result[0] ? mapBlueprintPageEntityToObject(result[0]) : null; +// } + +// async function createBlueprintPage( +// type: "blueprint" | "blueprint_book", +// targetId: string, +// extraInfo: { +// title: string; +// description_markdown: string; +// created_at: number; +// updated_at: number; +// factorioprints_id?: string; +// } +// ) { +// const insertData: any = [ +// { name: "title", value: extraInfo.title }, +// { +// name: "description_markdown", +// value: extraInfo.description_markdown, +// excludeFromIndexes: true, +// }, +// { +// name: "created_at", +// value: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : new Date(), +// excludeFromIndexes: true, +// }, +// { +// name: "updated_at", +// value: extraInfo.updated_at ? new Date(extraInfo.updated_at * 1000) : new Date(), +// }, +// { name: "factorioprints_id", value: extraInfo.factorioprints_id || null }, +// ]; + +// if (type === "blueprint") { +// insertData.push({ +// name: "blueprint_id", +// value: datastore.key([BlueprintEntity, datastore.int(targetId)]), +// }); +// } else if (type === "blueprint_book") { +// insertData.push({ +// name: "blueprint_book_id", +// value: datastore.key([BlueprintBookEntity, datastore.int(targetId)]), +// }); +// } else { +// throw Error("Invalid type given"); +// } + +// await datastore.insert({ +// key: datastore.key([BlueprintPageEntity]), +// data: insertData, +// }); + +// console.log(`Created Blueprint Page`); +// } + +// /* +// * Other +// */ + +// interface BlueprintDataFromFactorioprints { +// description_markdown: string; +// title: string; +// updated_at: number; +// created_at: number; +// tags: string[]; +// factorioprints_id: string; +// } +// export async function saveBlueprintFromFactorioprints( +// factorioprintData: BlueprintDataFromFactorioprints, +// blueprintString: string +// ) { +// const parsed = await parseBlueprintString(blueprintString); + +// // not needed for inserting, just printing +// // const { blueprints, books } = flattenBlueprintData(parsed.data); +// // console.log(`string has ${books.length} books with ${blueprints.length} blueprints`); + +// const extraInfo = { +// created_at: factorioprintData.created_at, +// updated_at: factorioprintData.updated_at, +// tags: factorioprintData.tags, +// factorioprints_id: factorioprintData.factorioprints_id, +// }; + +// const extraInfoPage = { +// title: factorioprintData.title, +// description_markdown: factorioprintData.description_markdown, +// created_at: factorioprintData.created_at, +// updated_at: factorioprintData.updated_at, +// factorioprints_id: factorioprintData.factorioprints_id, +// }; + +// if (parsed.data.blueprint) { +// console.log("string has one blueprint..."); +// const { insertedId } = await createBlueprint(parsed.data.blueprint, extraInfo).catch( +// (error) => { +// if (error instanceof DatastoreExistsError) { +// console.log(`Blueprint already exists with id ${error.existingId}`); +// return { insertedId: error.existingId }; +// } else throw error; +// } +// ); +// await createBlueprintPage("blueprint", insertedId, extraInfoPage); +// } else if (parsed.data.blueprint_book) { +// console.log("string has a blueprint book..."); +// const { insertedId } = await createBlueprintBook(parsed.data.blueprint_book, extraInfo); +// await createBlueprintPage("blueprint_book", insertedId, extraInfoPage); +// } +// return true; +// } + +// export async function getMostRecentBlueprintPages(page = 1): Promise { +// const perPage = 10; +// const query = datastore +// .createQuery(BlueprintPageEntity) +// .limit(perPage) +// .offset((page - 1) * perPage); +// const [result] = await datastore.runQuery(query); +// return result.map(mapBlueprintPageEntityToObject); +// } + +// export async function getPaginatedBlueprints(page = 1, perPage = 10): Promise { +// const query = datastore +// .createQuery(BlueprintEntity) +// .limit(perPage) +// .offset((page - 1) * perPage); +// const [result] = await datastore.runQuery(query); +// return result.map(mapBlueprintEntityToObject); +// } diff --git a/libs/database/src/lib/gcp-datastore.ts b/libs/database/src/lib/gcp-datastore.ts deleted file mode 100644 index 8e14d19..0000000 --- a/libs/database/src/lib/gcp-datastore.ts +++ /dev/null @@ -1,438 +0,0 @@ -import { Datastore } from "@google-cloud/datastore"; -import { encodeBlueprint, hashString, parseBlueprintString } from "@factorio-sites/node-utils"; -import { - Blueprint, - BlueprintBook, - getBlueprintContentForImageHash, -} from "@factorio-sites/common-utils"; -import { getBlueprintImageRequestTopic } from "./gcp-pubsub"; -import { saveBlueprintString } from "./gcp-storage"; -import { BlueprintBookEntry, BlueprintEntry, BlueprintPageEntry } from "./types"; - -const datastore = new Datastore(); -const BlueprintEntity = "Blueprint"; -const BlueprintBookEntity = "BlueprintBook"; -const BlueprintPageEntity = "BlueprintPage"; -const BlueprintStringEntity = "BlueprintString"; -const blueprintImageRequestTopic = getBlueprintImageRequestTopic(); - -class DatastoreExistsError extends Error { - constructor(public existingId: string, message: string) { - super(message); - this.name = this.constructor.name; - Error.captureStackTrace(this, this.constructor); - } -} - -/* - * BlueprintBook - */ - -const mapBlueprintBookEntityToObject = (entity: any): BlueprintBookEntry => ({ - id: entity[datastore.KEY].id, - blueprint_ids: entity.blueprint_ids.map((key: any) => key.id), - blueprint_book_ids: entity.blueprint_book_ids.map((key: any) => key.id), - child_tree: entity.child_tree ? entity.child_tree : [], - blueprint_hash: entity.blueprint_hash, - label: entity.label, - description: entity.description, - created_at: entity.created_at && entity.created_at.getTime() / 1000, - updated_at: entity.updated_at && entity.updated_at.getTime() / 1000, - is_modded: entity.is_modded || false, - factorioprints_id: entity.factorioprints_id || null, -}); - -export async function getBlueprintBookById(id: string): Promise { - const result = await datastore.get(datastore.key([BlueprintBookEntity, Number(id)])); - return result[0] ? mapBlueprintBookEntityToObject(result[0]) : null; -} - -export async function getBlueprintBookByHash(hash: string): Promise { - const query = datastore - .createQuery(BlueprintBookEntity) - .filter("blueprint_hash", "=", hash) - .limit(1); - const [result] = await datastore.runQuery(query); - return result[0] ? mapBlueprintBookEntityToObject(result[0]) : null; -} - -export async function createBlueprintBook( - blueprintBook: BlueprintBook, - extraInfo: { tags: string[]; created_at: number; updated_at: number; factorioprints_id: string } -): Promise<{ insertedId: string; child_tree: BlueprintBookEntry["child_tree"] }> { - const string = await encodeBlueprint({ blueprint_book: blueprintBook }); - const blueprint_hash = hashString(string); - - const exists = await getBlueprintBookByHash(blueprint_hash); - if (exists) { - const book = await getBlueprintBookById(exists.id); - if (!book) throw Error("this is impossible, just pleasing typescript"); - return { insertedId: exists.id, child_tree: book.child_tree }; - } - - // Write string to google storage - await saveBlueprintString(blueprint_hash, string); - - const blueprint_ids = []; - const blueprint_book_ids = []; - const child_tree: BlueprintBookEntry["child_tree"] = []; - - // Create the book's child objects - for (let i = 0; i < blueprintBook.blueprints.length; i++) { - const blueprint = blueprintBook.blueprints[i]; - if (blueprint.blueprint) { - const result = await createBlueprint(blueprint.blueprint, extraInfo); - child_tree.push({ - type: "blueprint", - id: result.insertedId, - name: blueprint.blueprint.label, - }); - blueprint_ids.push(result.insertedId); - } else if (blueprint.blueprint_book) { - const result = await createBlueprintBook(blueprint.blueprint_book, extraInfo); - child_tree.push({ - type: "blueprint_book", - id: result.insertedId, - name: blueprint.blueprint_book.label, - children: result.child_tree, - }); - blueprint_book_ids.push(result.insertedId); - } - } - - // Write blueprint details to datastore - const [result] = await datastore.insert({ - key: datastore.key([BlueprintBookEntity]), - data: [ - { - name: "blueprint_ids", - value: blueprint_ids.map((id) => datastore.key([BlueprintEntity, datastore.int(id)])), - }, - { - name: "blueprint_book_ids", - value: blueprint_book_ids.map((id) => - datastore.key([BlueprintBookEntity, datastore.int(id)]) - ), - }, - { name: "child_tree", value: child_tree, excludeFromIndexes: true }, - { name: "label", value: blueprintBook.label }, - { - name: "description", - value: blueprintBook.description || null, - excludeFromIndexes: true, - }, - { name: "blueprint_hash", value: blueprint_hash }, - { - name: "created_at", - value: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : null, - excludeFromIndexes: true, - }, - { - name: "updated_at", - value: extraInfo.updated_at ? new Date(extraInfo.updated_at * 1000) : null, - excludeFromIndexes: true, - }, - { name: "factorioprints_id", value: extraInfo.factorioprints_id || null }, - ], - }); - - const insertedId = String(result.mutationResults?.[0]?.key?.path?.[0]?.id) as string; - if (!insertedId) throw Error("Something went wrong inserting entity"); - - console.log(`Created Blueprint book ${insertedId}`); - - return { insertedId, child_tree }; -} - -/* - * Blueprint - */ - -const mapBlueprintEntityToObject = (entity: any): BlueprintEntry => ({ - id: entity[datastore.KEY].id, - blueprint_hash: entity.blueprint_hash, - image_hash: entity.image_hash, - label: entity.label, - description: entity.description, - tags: entity.tags, - created_at: entity.created_at && entity.created_at.getTime() / 1000, - updated_at: entity.updated_at && entity.updated_at.getTime() / 1000, - factorioprints_id: entity.factorioprints_id || null, - game_version: entity.game_version, -}); - -const mapBlueprintObjectToEntity = (object: Omit & { id?: string }): any => ({ - key: datastore.key(object.id ? [BlueprintEntity, datastore.int(object.id)] : [BlueprintEntity]), - data: [ - { name: "label", value: object.label }, - { - name: "description", - value: object.description || null, - excludeFromIndexes: true, - }, - { name: "blueprint_hash", value: object.blueprint_hash }, - { name: "image_hash", value: object.image_hash }, - { name: "tags", value: object.tags || [] }, - { - name: "created_at", - value: object.created_at ? new Date(object.created_at * 1000) : new Date(), - excludeFromIndexes: true, - }, - { - name: "updated_at", - value: object.updated_at ? new Date(object.updated_at * 1000) : new Date(), - excludeFromIndexes: true, - }, - { name: "game_version", value: object.game_version, excludeFromIndexes: true }, - { name: "factorioprints_id", value: object.factorioprints_id || null }, - ], -}); - -export async function getBlueprintById(id: string): Promise { - const result = await datastore.get(datastore.key([BlueprintEntity, datastore.int(id)])); - return result[0] ? mapBlueprintEntityToObject(result[0]) : null; -} - -export async function getBlueprintByHash(hash: string): Promise { - const query = datastore.createQuery(BlueprintEntity).filter("blueprint_hash", "=", hash).limit(1); - const [result] = await datastore.runQuery(query); - return result[0] ? mapBlueprintEntityToObject(result[0]) : null; -} - -export async function getBlueprintByImageHash(hash: string): Promise { - const query = datastore.createQuery(BlueprintEntity).filter("image_hash", "=", hash).limit(1); - const [result] = await datastore.runQuery(query); - return result[0] ? mapBlueprintEntityToObject(result[0]) : null; -} - -export async function createBlueprint( - blueprint: Blueprint, - extraInfo: { tags: string[]; created_at: number; updated_at: number; factorioprints_id: string } -) { - const string = await encodeBlueprint({ blueprint }); - const blueprint_hash = hashString(string); - const image_hash = hashString(getBlueprintContentForImageHash(blueprint)); - - const exists = await getBlueprintByHash(blueprint_hash); - if (exists) { - return { insertedId: exists.id }; - } - - // Write string to google storage - await saveBlueprintString(blueprint_hash, string); - - // Write blueprint details to datastore - const [result] = await datastore.insert({ - key: datastore.key([BlueprintEntity]), - data: [ - { name: "label", value: blueprint.label }, - { - name: "description", - value: blueprint.description || null, - excludeFromIndexes: true, - }, - { name: "blueprint_hash", value: blueprint_hash }, - { name: "image_hash", value: image_hash }, - { name: "tags", value: extraInfo.tags ? extraInfo.tags : [] }, - { - name: "created_at", - value: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : new Date(), - excludeFromIndexes: true, - }, - { - name: "updated_at", - value: extraInfo.updated_at ? new Date(extraInfo.updated_at * 1000) : new Date(), - excludeFromIndexes: true, - }, - { name: "game_version", value: blueprint.version, excludeFromIndexes: true }, - { name: "factorioprints_id", value: extraInfo.factorioprints_id || null }, - ], - }); - - const insertedId = String(result.mutationResults?.[0]?.key?.path?.[0]?.id); - if (!insertedId) throw Error("Something went wrong inserting entity"); - - console.log(`Created Blueprint ${insertedId}`); - - blueprintImageRequestTopic.publishJSON({ - blueprintId: insertedId, - }); - - await datastore.insert({ - key: datastore.key([BlueprintEntity, datastore.int(insertedId), BlueprintStringEntity]), - data: [ - { name: "blueprint_hash", value: blueprint_hash }, - { name: "image_hash", value: image_hash }, - { name: "version", value: 1 }, - { name: "changes_markdown", value: null }, - { - name: "created_at", - value: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : new Date(), - excludeFromIndexes: true, - }, - ], - }); - - return { insertedId }; -} - -export async function updateBlueprint(blueprint: BlueprintEntry) { - datastore.save(mapBlueprintObjectToEntity(blueprint)); -} - -/* - * BlueprintPage - */ -const mapBlueprintPageEntityToObject = (entity: any): BlueprintPageEntry => ({ - id: entity[datastore.KEY].id, - blueprint_id: entity.blueprint_id ? entity.blueprint_id.id : null, - blueprint_book_id: entity.blueprint_book_id ? entity.blueprint_book_id.id : null, - title: entity.title, - description_markdown: entity.description_markdown, - created_at: entity.created_at && entity.created_at.getTime() / 1000, - updated_at: entity.updated_at && entity.updated_at.getTime() / 1000, - factorioprints_id: entity.factorioprints_id || null, -}); - -export async function getBlueprintPageById(id: string): Promise { - const result = await datastore.get(datastore.key([BlueprintPageEntity, datastore.int(id)])); - return result[0] ? mapBlueprintPageEntityToObject(result[0]) : null; -} - -export async function getBlueprintPageByFactorioprintsId( - id: string -): Promise { - const query = datastore - .createQuery(BlueprintPageEntity) - .filter("factorioprints_id", "=", id) - .limit(1); - const [result] = await datastore.runQuery(query); - return result[0] ? mapBlueprintPageEntityToObject(result[0]) : null; -} - -async function createBlueprintPage( - type: "blueprint" | "blueprint_book", - targetId: string, - extraInfo: { - title: string; - description_markdown: string; - created_at: number; - updated_at: number; - factorioprints_id?: string; - } -) { - const insertData: any = [ - { name: "title", value: extraInfo.title }, - { - name: "description_markdown", - value: extraInfo.description_markdown, - excludeFromIndexes: true, - }, - { - name: "created_at", - value: extraInfo.created_at ? new Date(extraInfo.created_at * 1000) : new Date(), - excludeFromIndexes: true, - }, - { - name: "updated_at", - value: extraInfo.updated_at ? new Date(extraInfo.updated_at * 1000) : new Date(), - }, - { name: "factorioprints_id", value: extraInfo.factorioprints_id || null }, - ]; - - if (type === "blueprint") { - insertData.push({ - name: "blueprint_id", - value: datastore.key([BlueprintEntity, datastore.int(targetId)]), - }); - } else if (type === "blueprint_book") { - insertData.push({ - name: "blueprint_book_id", - value: datastore.key([BlueprintBookEntity, datastore.int(targetId)]), - }); - } else { - throw Error("Invalid type given"); - } - - await datastore.insert({ - key: datastore.key([BlueprintPageEntity]), - data: insertData, - }); - - console.log(`Created Blueprint Page`); -} - -/* - * Other - */ - -interface BlueprintDataFromFactorioprints { - description_markdown: string; - title: string; - updated_at: number; - created_at: number; - tags: string[]; - factorioprints_id: string; -} -export async function saveBlueprintFromFactorioprints( - factorioprintData: BlueprintDataFromFactorioprints, - blueprintString: string -) { - const parsed = await parseBlueprintString(blueprintString); - - // not needed for inserting, just printing - // const { blueprints, books } = flattenBlueprintData(parsed.data); - // console.log(`string has ${books.length} books with ${blueprints.length} blueprints`); - - const extraInfo = { - created_at: factorioprintData.created_at, - updated_at: factorioprintData.updated_at, - tags: factorioprintData.tags, - factorioprints_id: factorioprintData.factorioprints_id, - }; - - const extraInfoPage = { - title: factorioprintData.title, - description_markdown: factorioprintData.description_markdown, - created_at: factorioprintData.created_at, - updated_at: factorioprintData.updated_at, - factorioprints_id: factorioprintData.factorioprints_id, - }; - - if (parsed.data.blueprint) { - console.log("string has one blueprint..."); - const { insertedId } = await createBlueprint(parsed.data.blueprint, extraInfo).catch( - (error) => { - if (error instanceof DatastoreExistsError) { - console.log(`Blueprint already exists with id ${error.existingId}`); - return { insertedId: error.existingId }; - } else throw error; - } - ); - await createBlueprintPage("blueprint", insertedId, extraInfoPage); - } else if (parsed.data.blueprint_book) { - console.log("string has a blueprint book..."); - const { insertedId } = await createBlueprintBook(parsed.data.blueprint_book, extraInfo); - await createBlueprintPage("blueprint_book", insertedId, extraInfoPage); - } - return true; -} - -export async function getMostRecentBlueprintPages(page = 1): Promise { - const perPage = 10; - const query = datastore - .createQuery(BlueprintPageEntity) - .limit(perPage) - .offset((page - 1) * perPage); - const [result] = await datastore.runQuery(query); - return result.map(mapBlueprintPageEntityToObject); -} - -export async function getPaginatedBlueprints(page = 1, perPage = 10): Promise { - const query = datastore - .createQuery(BlueprintEntity) - .limit(perPage) - .offset((page - 1) * perPage); - const [result] = await datastore.runQuery(query); - return result.map(mapBlueprintEntityToObject); -} diff --git a/libs/database/src/lib/postgres/connection.ts b/libs/database/src/lib/postgres/connection.ts deleted file mode 100644 index e4a9faf..0000000 --- a/libs/database/src/lib/postgres/connection.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { createConnection } from "typeorm"; -import { Blueprint } from "./entities"; - -export async function init() { - await createConnection({ - type: "postgres", - host: "127.0.0.1", - port: 5432, - username: "postgres", - password: "local", - database: "factorio-blueprints", - entities: [Blueprint], - }); -} - -init(); diff --git a/libs/database/src/lib/postgres/database.ts b/libs/database/src/lib/postgres/database.ts new file mode 100644 index 0000000..84bc22e --- /dev/null +++ b/libs/database/src/lib/postgres/database.ts @@ -0,0 +1,61 @@ +import { sequelize } from "./sequelize"; +import { BlueprintModel } from "./models/Blueprint"; +import { BlueprintStringModel } from "./models/BlueprintString"; +import { BlueprintBookModel } from "./models/BlueprintBook"; +import { BlueprintPageModel } from "./models/BlueprintPage"; + +export const init = async () => { + BlueprintModel.hasOne(BlueprintStringModel, { foreignKey: "blueprint_id" }); + BlueprintModel.hasMany(BlueprintPageModel, { foreignKey: "blueprint_id" }); + + BlueprintStringModel.belongsTo(BlueprintModel, { foreignKey: "blueprint_id" }); + + BlueprintPageModel.belongsTo(BlueprintModel, { foreignKey: "blueprint_id" }); + BlueprintPageModel.belongsTo(BlueprintBookModel, { foreignKey: "blueprint_book_id" }); + + BlueprintBookModel.hasMany(BlueprintPageModel, { foreignKey: "blueprint_book_id" }); + BlueprintBookModel.belongsToMany(BlueprintBookModel, { + through: "blueprint_book_books", + as: "blueprint_books", + foreignKey: "blueprint_book_1_id", + otherKey: "blueprint_book_2_id", + timestamps: false, + }); + BlueprintBookModel.belongsToMany(BlueprintModel, { + through: "blueprint_book_blueprints", + as: "blueprints", + foreignKey: "blueprint_book_id", + otherKey: "blueprint_id", + timestamps: false, + }); + + if (process.env.SYNCHRONIZE_DB) { + console.log(`[SYNCHRONIZE_DB] syncing database ${process.env.POSTGRES_DB}`); + await BlueprintModel.sync({ force: true }); + await BlueprintStringModel.sync({ force: true }); + await BlueprintBookModel.sync({ force: true }); + await BlueprintPageModel.sync({ force: true }); + await sequelize.models["blueprint_book_books"].sync({ force: true }); + await sequelize.models["blueprint_book_blueprints"].sync({ force: true }); + + // SEED + { + const bp = await BlueprintModel.create({ + blueprint_hash: "blueprint_hash", + label: "label", + image_hash: "image-hash", + image_version: 1, + tags: ["tag1"], + }); + await BlueprintStringModel.create({ + blueprint_hash: "blueprint_hash", + blueprint_id: bp.id, + changes_markdown: "markdown", + image_hash: "image-hash", + version: 1, + }); + } + } + + return sequelize; +}; diff --git a/libs/database/src/lib/postgres/entities.ts b/libs/database/src/lib/postgres/entities.ts deleted file mode 100644 index 1f536da..0000000 --- a/libs/database/src/lib/postgres/entities.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column } from "typeorm"; - -@Entity() -export class Blueprint { - @PrimaryGeneratedColumn("uuid") - id!: number; - - @Column("text") - label?: string; - - @Column("text", { nullable: true }) - description?: string; - - @Column("text") - game_version?: string; - - @Column("text", { unique: true }) - blueprint_hash?: string; - - @Column("varchar", { length: 40 }) - image_hash?: string; - - @Column("text") - image_version?: string; - - @Column("time without time zone") - created_at?: number; - - @Column("time without time zone") - updated_at?: number; - - @Column("text", { array: true }) - tags?: string; - - @Column("text", { nullable: true }) - factorioprints_id?: number; -} diff --git a/libs/database/src/lib/postgres/models/Blueprint.ts b/libs/database/src/lib/postgres/models/Blueprint.ts new file mode 100644 index 0000000..63f1985 --- /dev/null +++ b/libs/database/src/lib/postgres/models/Blueprint.ts @@ -0,0 +1,67 @@ +import { DataTypes, UUIDV4, Optional, Model } from "sequelize"; +import { sequelize } from "../sequelize"; + +interface BlueprintAttributes { + id: string; + label?: string; + description?: string; + game_version?: string; + blueprint_hash: string; + image_hash: string; + image_version: number; + tags: string[]; + factorioprints_id?: string; + created_at: Date; + updated_at: Date; +} + +export interface BlueprintInstance + extends Model< + Omit, + Optional + >, + BlueprintAttributes {} + +export const BlueprintModel = sequelize.define( + "blueprint", + { + id: { + primaryKey: true, + type: DataTypes.UUID, + defaultValue: UUIDV4, + }, + label: { + type: DataTypes.STRING, + }, + description: { + type: DataTypes.TEXT, + }, + game_version: { + type: DataTypes.STRING, + }, + blueprint_hash: { + type: DataTypes.STRING(40), + unique: true, + allowNull: false, + }, + image_hash: { + type: DataTypes.STRING(40), + allowNull: false, + }, + image_version: { + type: DataTypes.INTEGER, + allowNull: false, + defaultValue: 1, + }, + tags: { + type: DataTypes.ARRAY(DataTypes.STRING), + set(value: string[]) { + this.setDataValue("tags", Array.isArray(value) ? value : []); + }, + }, + factorioprints_id: { + type: DataTypes.STRING, + }, + }, + {} +); diff --git a/libs/database/src/lib/postgres/models/BlueprintBook.ts b/libs/database/src/lib/postgres/models/BlueprintBook.ts new file mode 100644 index 0000000..c1f84ac --- /dev/null +++ b/libs/database/src/lib/postgres/models/BlueprintBook.ts @@ -0,0 +1,55 @@ +import { DataTypes, UUIDV4, Optional, Model } from "sequelize"; +import { ChildTree } from "../../types"; +import { sequelize } from "../sequelize"; + +interface BlueprintBookAttributes { + id: string; + label: string; + description?: string; + child_tree: ChildTree; + blueprint_hash: string; + is_modded: boolean; + factorioprints_id?: string; + created_at: Date; + updated_at: Date; +} + +export interface BlueprintBookInstance + extends Model< + Omit, + Optional + >, + BlueprintBookAttributes {} + +export const BlueprintBookModel = sequelize.define( + "blueprint_book", + { + id: { + primaryKey: true, + type: DataTypes.UUID, + defaultValue: UUIDV4, + }, + label: { + type: DataTypes.STRING, + }, + description: { + type: DataTypes.TEXT, + }, + child_tree: { + type: DataTypes.JSON, + allowNull: false, + }, + blueprint_hash: { + type: DataTypes.STRING(40), + allowNull: false, + }, + is_modded: { + type: DataTypes.BOOLEAN, + allowNull: false, + }, + factorioprints_id: { + type: DataTypes.STRING, + }, + }, + {} +); diff --git a/libs/database/src/lib/postgres/models/BlueprintPage.ts b/libs/database/src/lib/postgres/models/BlueprintPage.ts new file mode 100644 index 0000000..ee9cbdb --- /dev/null +++ b/libs/database/src/lib/postgres/models/BlueprintPage.ts @@ -0,0 +1,48 @@ +import { DataTypes, UUIDV4, Optional, Model } from "sequelize"; +import { sequelize } from "../sequelize"; + +interface BlueprintPageAttributes { + id: string; + blueprint_id?: string; + blueprint_book_id?: string; + title: string; + description_markdown: string; + factorioprints_id?: string; + created_at: Date; + updated_at: Date; +} + +export interface BlueprintPageInstance + extends Model< + Omit, + Optional + >, + BlueprintPageAttributes {} + +export const BlueprintPageModel = sequelize.define( + "blueprint_page", + { + id: { + primaryKey: true, + type: DataTypes.UUID, + defaultValue: UUIDV4, + }, + blueprint_id: { + type: DataTypes.UUID, + }, + blueprint_book_id: { + type: DataTypes.UUID, + }, + title: { + type: DataTypes.STRING, + allowNull: false, + }, + description_markdown: { + type: DataTypes.TEXT, + }, + factorioprints_id: { + type: DataTypes.STRING, + }, + }, + {} +); diff --git a/libs/database/src/lib/postgres/models/BlueprintString.ts b/libs/database/src/lib/postgres/models/BlueprintString.ts new file mode 100644 index 0000000..7a6efd8 --- /dev/null +++ b/libs/database/src/lib/postgres/models/BlueprintString.ts @@ -0,0 +1,52 @@ +import { DataTypes, UUIDV4, Optional, Model } from "sequelize"; +import { sequelize } from "../sequelize"; + +interface BlueprintStringAttributes { + id: string; + blueprint_id: string; + blueprint_hash: string; + image_hash: string; + version: number; + changes_markdown: string | null; + created_at: Date; + updated_at: Date; +} + +interface BlueprintStringInstance + extends Model< + Omit, + Optional + >, + BlueprintStringAttributes {} + +export const BlueprintStringModel = sequelize.define( + "blueprint_string", + { + id: { + primaryKey: true, + type: DataTypes.UUID, + defaultValue: UUIDV4, + }, + blueprint_id: { + type: DataTypes.UUID, + allowNull: false, + }, + blueprint_hash: { + type: DataTypes.STRING(40), + allowNull: false, + unique: true, + }, + image_hash: { + type: DataTypes.STRING(40), + allowNull: false, + }, + version: { + type: DataTypes.INTEGER, + allowNull: false, + }, + changes_markdown: { + type: DataTypes.STRING(40), + }, + }, + {} +); diff --git a/libs/database/src/lib/postgres/models/index.ts b/libs/database/src/lib/postgres/models/index.ts new file mode 100644 index 0000000..ddb52fe --- /dev/null +++ b/libs/database/src/lib/postgres/models/index.ts @@ -0,0 +1,4 @@ +export * from "./Blueprint"; +export * from "./BlueprintString"; +export * from "./BlueprintBook"; +export * from "./BlueprintPage"; diff --git a/libs/database/src/lib/postgres/sequelize.ts b/libs/database/src/lib/postgres/sequelize.ts new file mode 100644 index 0000000..3073def --- /dev/null +++ b/libs/database/src/lib/postgres/sequelize.ts @@ -0,0 +1,16 @@ +import { Sequelize } from "sequelize"; + +export const sequelize = new Sequelize({ + dialect: "postgres", + host: process.env.POSTGRES_HOST, + port: 5432, + database: process.env.POSTGRES_DB, + username: process.env.POSTGRES_USER, + password: process.env.POSTGRES_PASSWORD, + define: { + underscored: true, + freezeTableName: true, + updatedAt: "updated_at", + createdAt: "created_at", + }, +}); diff --git a/libs/database/src/lib/types.ts b/libs/database/src/lib/types.ts index 8c5db18..dfb8989 100644 --- a/libs/database/src/lib/types.ts +++ b/libs/database/src/lib/types.ts @@ -3,19 +3,21 @@ interface BlueprintChild { id: string; name: string; } + interface BlueprintBookChild { type: "blueprint_book"; id: string; name: string; children: ChildTree; } -type ChildTree = Array; -export interface BlueprintEntry { +export type ChildTree = Array; + +export interface Blueprint { id: string; label: string; // from source description: string | null; // from source - game_version: number; // from source + game_version: string | null; // from source blueprint_hash: string; image_hash: string; created_at: number; @@ -26,14 +28,14 @@ export interface BlueprintEntry { // BlueprintEntry->BlueprintPageEntry n:m } -export interface BlueprintBookEntry { +export interface BlueprintBook { id: string; label: string; description?: string; /** strings as keys of BlueprintEntry */ - blueprint_ids: string[]; + // blueprint_ids: string[]; /** strings as keys of BlueprintBookEntry (currently unsupported) */ - blueprint_book_ids: string[]; + // blueprint_book_ids: string[]; child_tree: ChildTree; blueprint_hash: string; created_at: number; @@ -44,20 +46,24 @@ export interface BlueprintBookEntry { // BlueprintBook:BlueprintEntry 1:m } -export interface BlueprintPageEntry { +/** + * Blueprint page data object for app use + * must be JSON serializable + */ +export interface BlueprintPage { id: string; - blueprint_id?: string; - blueprint_book_id?: string; + blueprint_id: string | null; + blueprint_book_id: string | null; title: string; description_markdown: string; created_at: number; updated_at: number; - factorioprints_id?: string; + factorioprints_id: string | null; // BlueprintPageEntry->BlueprintEntry 1:m // BlueprintPageEntry->BlueprintBook 1:m } -export interface BlueprintStringEntry { +export interface BlueprintString { blueprint_id: string; blueprint_hash: string; image_hash: string; diff --git a/libs/node-utils/src/lib/node-utils.ts b/libs/node-utils/src/lib/node-utils.ts index 9dd47a7..9afd045 100644 --- a/libs/node-utils/src/lib/node-utils.ts +++ b/libs/node-utils/src/lib/node-utils.ts @@ -1,11 +1,11 @@ import * as crypto from "crypto"; import * as pako from "pako"; // import * as phin from "phin"; -import { BlueprintData } from "@factorio-sites/common-utils"; +import { BlueprintStringData } from "@factorio-sites/common-utils"; export const parseBlueprintString = async ( string: string -): Promise<{ hash: string; data: BlueprintData; string: string }> => { +): Promise<{ hash: string; data: BlueprintStringData; string: string }> => { // if (string.startsWith("http:") || string.startsWith("https:")) { // const result = await phin(string); // string = result.body.toString(); @@ -24,7 +24,7 @@ export const parseBlueprintString = async ( }; }; -export const encodeBlueprint = async (data: BlueprintData): Promise => { +export const encodeBlueprint = async (data: BlueprintStringData): Promise => { const json = JSON.stringify(data); const encoded = new TextEncoder().encode(json); const compressed = pako.deflate(encoded); diff --git a/libs/web-utils/src/lib/web-utils.ts b/libs/web-utils/src/lib/web-utils.ts index 3d5e982..34d78d1 100644 --- a/libs/web-utils/src/lib/web-utils.ts +++ b/libs/web-utils/src/lib/web-utils.ts @@ -1,7 +1,7 @@ import * as pako from "pako"; -import { BlueprintData } from "@factorio-sites/common-utils"; +import { BlueprintStringData } from "@factorio-sites/common-utils"; -export function parseBlueprintStringClient(source: string): { data: BlueprintData } { +export function parseBlueprintStringClient(source: string): { data: BlueprintStringData } { const encoded = atob(source.substring(1)); const decoded = pako.inflate(encoded); const string = new TextDecoder("utf-8").decode(decoded); @@ -9,7 +9,7 @@ export function parseBlueprintStringClient(source: string): { data: BlueprintDat return { data: jsonObject }; } -export function encodeBlueprintStringClient(data: BlueprintData): string { +export function encodeBlueprintStringClient(data: BlueprintStringData): string { const json = JSON.stringify(data); const encoded = new TextEncoder().encode(json); const compressed = pako.deflate(encoded, { to: "string" }); diff --git a/package.json b/package.json index 88bdfc5..7ecaa43 100644 --- a/package.json +++ b/package.json @@ -27,74 +27,75 @@ "help": "nx help" }, "dependencies": { - "@chakra-ui/react": "1.0.4", - "@emotion/react": "11.1.3", + "@chakra-ui/react": "1.1.2", + "@emotion/react": "11.1.4", "@emotion/server": "11.0.0", "@emotion/styled": "11.0.0", - "@google-cloud/datastore": "6.2.0", - "@google-cloud/pubsub": "2.6.0", - "@google-cloud/storage": "5.3.0", + "@fbe/editor": "file:.yalc/@fbe/editor", + "@google-cloud/datastore": "6.3.1", + "@google-cloud/pubsub": "2.7.0", + "@google-cloud/storage": "5.7.0", "bbcode-to-react": "0.2.9", "document-register-element": "1.14.10", - "framer-motion": "3.1.1", - "next": "10.0.3", + "framer-motion": "3.1.4", + "next": "10.0.5", "nprogress": "0.2.0", "pako": "1.0.11", - "pg": "8.4.1", - "phin": "3.5.0", - "puppeteer": "5.3.1", - "react": "16.13.1", - "react-dom": "16.13.1", + "pg": "8.5.1", + "phin": "3.5.1", + "puppeteer": "5.5.0", + "react": "17.0.1", + "react-dom": "17.0.1", "react-icons": "4.1.0", "react-map-interaction": "2.0.0", - "react-markdown": "5.0.1", - "sharp": "0.26.2", - "typeorm": "0.2.28", - "ws": "7.3.1" + "react-markdown": "5.0.3", + "sequelize": "6.3.5", + "sharp": "0.27.0", + "ws": "7.4.2" }, "devDependencies": { - "@babel/core": "7.9.6", - "@babel/preset-env": "7.9.6", - "@babel/preset-react": "7.9.4", - "@babel/preset-typescript": "7.9.0", - "@emotion/babel-preset-css-prop": "11.0.0", - "@nrwl/cli": "10.3.1", - "@nrwl/cypress": "11.0.16", - "@nrwl/eslint-plugin-nx": "11.0.16", - "@nrwl/jest": "11.0.16", - "@nrwl/next": "11.0.16", - "@nrwl/node": "11.0.16", - "@nrwl/react": "11.0.16", - "@nrwl/web": "11.0.16", - "@nrwl/workspace": "11.0.16", - "@testing-library/react": "10.4.1", + "@babel/core": "7.12.10", + "@babel/preset-env": "7.12.11", + "@babel/preset-react": "7.12.10", + "@babel/preset-typescript": "7.12.7", + "@nrwl/cli": "11.0.20", + "@nrwl/cypress": "11.0.20", + "@nrwl/eslint-plugin-nx": "11.0.20", + "@nrwl/jest": "11.0.20", + "@nrwl/next": "11.0.20", + "@nrwl/node": "11.0.20", + "@nrwl/react": "11.0.20", + "@nrwl/web": "11.0.20", + "@nrwl/workspace": "11.0.20", + "@testing-library/react": "11.2.2", "@types/bbcode-to-react": "0.2.0", - "@types/jest": "26.0.8", + "@types/jest": "26.0.20", "@types/node": "14.14.14", "@types/nprogress": "0.2.0", "@types/pako": "1.0.1", - "@types/puppeteer": "3.0.2", - "@types/react": "16.9.53", - "@types/react-dom": "16.9.8", - "@types/sharp": "0.26.0", - "@types/ws": "7.2.7", - "@typescript-eslint/eslint-plugin": "4.3.0", - "@typescript-eslint/parser": "4.3.0", - "babel-jest": "26.2.2", - "cypress": "4.1.0", - "dotenv": "6.2.0", - "eslint": "7.10.0", - "eslint-config-prettier": "6.0.0", - "eslint-plugin-cypress": "2.10.3", - "eslint-plugin-import": "2.21.2", - "eslint-plugin-jsx-a11y": "6.3.1", - "eslint-plugin-react": "7.20.0", - "eslint-plugin-react-hooks": "4.0.4", - "jest": "26.2.2", - "prettier": "2.1.2", - "ts-jest": "26.4.0", + "@types/puppeteer": "5.4.2", + "@types/react": "17.0.0", + "@types/react-dom": "17.0.0", + "@types/sharp": "0.27.1", + "@types/ws": "7.4.0", + "@typescript-eslint/eslint-plugin": "4.12.0", + "@typescript-eslint/parser": "4.12.0", + "babel-jest": "26.6.3", + "cypress": "6.2.1", + "dotenv": "8.2.0", + "eslint": "7.17.0", + "eslint-config-prettier": "7.1.0", + "eslint-plugin-cypress": "2.11.2", + "eslint-plugin-import": "2.22.1", + "eslint-plugin-jsx-a11y": "6.4.1", + "eslint-plugin-react": "7.22.0", + "eslint-plugin-react-hooks": "4.2.0", + "jest": "26.6.3", + "prettier": "2.2.1", + "ts-jest": "26.4.4", "ts-node": "9.1.1", "tslint": "6.1.3", - "typescript": "4.1.3" + "typescript": "4.1.3", + "wasm-loader": "1.3.0" } } diff --git a/yalc.lock b/yalc.lock new file mode 100644 index 0000000..55506a5 --- /dev/null +++ b/yalc.lock @@ -0,0 +1,9 @@ +{ + "version": "v1", + "packages": { + "@fbe/editor": { + "signature": "fcd9eadabd31e2c2000a5ea3e4b000f8", + "file": true + } + } +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 77bd7fe..ef15ec9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,64 +2,56 @@ # yarn lockfile v1 -"@ampproject/toolbox-core@^2.6.0": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-core/-/toolbox-core-2.6.1.tgz#af97ec253bf39e5fe5121b8ec28f1f35d1878446" - integrity sha512-hTsd9J2yy3JPMClG8BuUhUfMDtd3oDhCuRe/SyZJYQfNMN8hQHt7LNXtdOzZr0Kw7nTepHmn7GODS68fZN4OQQ== +"@ampproject/toolbox-core@2.7.4", "@ampproject/toolbox-core@^2.7.1-alpha.0": + version "2.7.4" + resolved "https://registry.yarnpkg.com/@ampproject/toolbox-core/-/toolbox-core-2.7.4.tgz#8355136f16301458ce942acf6c55952c9a415627" + integrity sha512-qpBhcS4urB7IKc+jx2kksN7BuvvwCo7Y3IstapWo+EW+COY5EYAUwb2pil37v3TsaqHKgX//NloFP1SKzGZAnw== dependencies: cross-fetch "3.0.6" lru-cache "6.0.0" -"@ampproject/toolbox-core@^2.7.2": - version "2.7.2" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-core/-/toolbox-core-2.7.2.tgz#43acd7c1d0331be1db611d781d7dc2184c0aadb5" - integrity sha512-deQiuOghOShoEBoTIDNsSER5gMC6qZfVqYKvlQYcQ+OxKR7J3FtA5XDz98UQsuWx1EB2x2hivrpC6G9BQaXMHw== +"@ampproject/toolbox-optimizer@2.7.1-alpha.0": + version "2.7.1-alpha.0" + resolved "https://registry.yarnpkg.com/@ampproject/toolbox-optimizer/-/toolbox-optimizer-2.7.1-alpha.0.tgz#1571dcd02608223ff68f6b7223102a123e381197" + integrity sha512-WGPZKVQvHgNYJk1XVJCCmY+NVGTGJtvn0OALDyiegN4FJWOcilQUhCIcjMkZN59u1flz/u+sEKccM5qsROqVyg== dependencies: - lru-cache "6.0.0" - node-fetch "2.6.1" - -"@ampproject/toolbox-optimizer@2.7.0-alpha.1": - version "2.7.0-alpha.1" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-optimizer/-/toolbox-optimizer-2.7.0-alpha.1.tgz#ab4c386645f991e5da5a9d2967ed2bb734a9f6c4" - integrity sha512-2wTvOyM6GP6FrYQzxSQCg43STo1jMRGeDKa6YUkYXYH9fm9Wbt2wTRx+ajjb48JQ6WwUnGwga1MhQhVFzRQ+wQ== - dependencies: - "@ampproject/toolbox-core" "^2.6.0" - "@ampproject/toolbox-runtime-version" "^2.7.0-alpha.1" + "@ampproject/toolbox-core" "^2.7.1-alpha.0" + "@ampproject/toolbox-runtime-version" "^2.7.1-alpha.0" "@ampproject/toolbox-script-csp" "^2.5.4" - "@ampproject/toolbox-validator-rules" "^2.5.4" + "@ampproject/toolbox-validator-rules" "^2.7.1-alpha.0" abort-controller "3.0.0" - cross-fetch "3.0.5" - cssnano-simple "1.2.0" - dom-serializer "1.0.1" - domhandler "3.0.0" - domutils "2.1.0" - htmlparser2 "4.1.0" + cross-fetch "3.0.6" + cssnano-simple "1.2.1" + dom-serializer "1.1.0" + domhandler "3.3.0" + domutils "2.4.2" + htmlparser2 "5.0.1" https-proxy-agent "5.0.0" lru-cache "6.0.0" - node-fetch "2.6.0" + node-fetch "2.6.1" normalize-html-whitespace "1.0.0" postcss "7.0.32" postcss-safe-parser "4.0.2" - terser "5.1.0" + terser "5.5.1" -"@ampproject/toolbox-runtime-version@^2.7.0-alpha.1": - version "2.7.2" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-runtime-version/-/toolbox-runtime-version-2.7.2.tgz#32d0867c4a0625b7fe0f2114df6669d9d2e63863" - integrity sha512-BKDl29i/cvC0xtrUHnF2YR25gMfyVnXCaV1ZaMDNcPNRJGbBSNQtW6eZt9+rPoV/hKpFxyJia30ECw42FVhh9g== +"@ampproject/toolbox-runtime-version@^2.7.1-alpha.0": + version "2.7.4" + resolved "https://registry.yarnpkg.com/@ampproject/toolbox-runtime-version/-/toolbox-runtime-version-2.7.4.tgz#f49da0dab122101ef75ed3caed3a0142487b73e1" + integrity sha512-SAdOUOERp42thVNWaBJlnFvFVvnacMVnz5z9LyUZHSnoL1EqrAW5Sz5jv+Ly+gkA8NYsEaUxAdSCBAzE9Uzb4Q== dependencies: - "@ampproject/toolbox-core" "^2.7.2" + "@ampproject/toolbox-core" "2.7.4" "@ampproject/toolbox-script-csp@^2.5.4": version "2.5.4" resolved "https://registry.yarnpkg.com/@ampproject/toolbox-script-csp/-/toolbox-script-csp-2.5.4.tgz#d8b7b91a678ae8f263cb36d9b74e441b7d633aad" integrity sha512-+knTYetI5nWllRZ9wFcj7mYxelkiiFVRAAW/hl0ad8EnKHMH82tRlk40CapEnUHhp6Er5sCYkumQ8dngs3Q4zQ== -"@ampproject/toolbox-validator-rules@^2.5.4": - version "2.5.4" - resolved "https://registry.yarnpkg.com/@ampproject/toolbox-validator-rules/-/toolbox-validator-rules-2.5.4.tgz#7dee3a3edceefea459d060571db8cc6e7bbf0dd6" - integrity sha512-bS7uF+h0s5aiklc/iRaujiSsiladOsZBLrJ6QImJDXvubCAQtvE7om7ShlGSXixkMAO0OVMDWyuwLlEy8V1Ing== +"@ampproject/toolbox-validator-rules@^2.7.1-alpha.0": + version "2.7.4" + resolved "https://registry.yarnpkg.com/@ampproject/toolbox-validator-rules/-/toolbox-validator-rules-2.7.4.tgz#a58b5eca723f6c3557ac83b696de0247f5f03ce4" + integrity sha512-z3JRcpIZLLdVC9XVe7YTZuB3a/eR9s2SjElYB9AWRdyJyL5Jt7+pGNv4Uwh1uHVoBXsWEVQzNOWSNtrO3mSwZA== dependencies: - cross-fetch "3.0.5" + cross-fetch "3.0.6" "@angular-devkit/architect@0.1100.5", "@angular-devkit/architect@~0.1100.1": version "0.1100.5" @@ -69,14 +61,6 @@ "@angular-devkit/core" "11.0.5" rxjs "6.6.3" -"@angular-devkit/architect@~0.1001.3": - version "0.1001.7" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1001.7.tgz#b3d75cddf5c5a2677cebba1d7b7eaffe73748d37" - integrity sha512-uFYIvMdewU44GbIyRfsUHNMLkx+C0kokpnj7eH5NbJfbyFpCfd3ijBHh+voPdPsDRWs9lLgjbxfHpswSPj4D8w== - dependencies: - "@angular-devkit/core" "10.1.7" - rxjs "6.6.2" - "@angular-devkit/build-optimizer@~0.1100.1": version "0.1100.5" resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.5.tgz#25de00e9cbea1444f911aa0a7a53a05800c90d62" @@ -97,17 +81,6 @@ "@angular-devkit/core" "11.0.5" rxjs "6.6.3" -"@angular-devkit/core@10.1.7", "@angular-devkit/core@~10.1.3": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-10.1.7.tgz#c4c4332d738075bf1346aa040c78756e3144ba4b" - integrity sha512-RRyDkN2FByA+nlnRx/MzUMK1FXwj7+SsrzJcvZfWx4yA5rfKmJiJryXQEzL44GL1aoaXSuvOYu3H72wxZADN8Q== - dependencies: - ajv "6.12.4" - fast-json-stable-stringify "2.1.0" - magic-string "0.25.7" - rxjs "6.6.2" - source-map "0.7.3" - "@angular-devkit/core@11.0.5", "@angular-devkit/core@~11.0.1": version "11.0.5" resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-11.0.5.tgz#8239486d2de6c08fc55d2a64f12a7f5d518c8beb" @@ -119,15 +92,6 @@ rxjs "6.6.3" source-map "0.7.3" -"@angular-devkit/schematics@~10.1.3": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-10.1.7.tgz#b98d2c41b34ea94bf11d187f2206bdc020bd3860" - integrity sha512-nk9RXA09b+7uq59HS/gyztNzUGHH/eQAUQhWHdDYSCG6v1lhJVCKx1HgDPELVxmeq9f+HArkAW7Y7c+ccdNQ7A== - dependencies: - "@angular-devkit/core" "10.1.7" - ora "5.0.0" - rxjs "6.6.2" - "@angular-devkit/schematics@~11.0.1": version "11.0.5" resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-11.0.5.tgz#e5d89451daa644eccce93970709f7cdf44c11982" @@ -137,7 +101,14 @@ ora "5.1.0" rxjs "6.6.3" -"@babel/code-frame@7.10.4", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.8.3": +"@babel/code-frame@7.12.11", "@babel/code-frame@^7.0.0-beta.36", "@babel/code-frame@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== @@ -149,6 +120,32 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== +"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41" + integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw== + +"@babel/core@7.12.10", "@babel/core@^7.0.0-beta.39": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" + integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.10" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.10" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.10" + "@babel/types" "^7.12.10" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/core@7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376" @@ -202,6 +199,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.12.10", "@babel/generator@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" + integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== + dependencies: + "@babel/types" "^7.12.11" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -209,6 +215,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-annotate-as-pure@^7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz#54ab9b000e60a93644ce17b3f37d313aaf1d115d" + integrity sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ== + dependencies: + "@babel/types" "^7.12.10" + "@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" @@ -244,6 +257,16 @@ browserslist "^4.12.0" semver "^5.5.0" +"@babel/helper-compilation-targets@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" + integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== + dependencies: + "@babel/compat-data" "^7.12.5" + "@babel/helper-validator-option" "^7.12.1" + browserslist "^4.14.5" + semver "^5.5.0" + "@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.8.3": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" @@ -289,6 +312,15 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-function-name@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42" + integrity sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA== + dependencies: + "@babel/helper-get-function-arity" "^7.12.10" + "@babel/template" "^7.12.7" + "@babel/types" "^7.12.11" + "@babel/helper-get-function-arity@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" @@ -296,6 +328,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-get-function-arity@^7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf" + integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag== + dependencies: + "@babel/types" "^7.12.10" + "@babel/helper-hoist-variables@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" @@ -317,7 +356,7 @@ dependencies: "@babel/types" "^7.12.1" -"@babel/helper-module-imports@^7.7.0": +"@babel/helper-module-imports@^7.12.5", "@babel/helper-module-imports@^7.7.0": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== @@ -398,6 +437,13 @@ dependencies: "@babel/types" "^7.11.0" +"@babel/helper-split-export-declaration@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz#1b4cc424458643c47d37022223da33d76ea4603a" + integrity sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g== + dependencies: + "@babel/types" "^7.12.11" + "@babel/helper-validator-identifier@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" @@ -413,6 +459,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== +"@babel/helper-validator-option@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz#d66cb8b7a3e7fe4c6962b32020a131ecf0847f4f" + integrity sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw== + "@babel/helper-wrap-function@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" @@ -432,6 +483,15 @@ "@babel/traverse" "^7.12.1" "@babel/types" "^7.12.1" +"@babel/helpers@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" + integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" + "@babel/highlight@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" @@ -446,6 +506,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.2.tgz#9d2fcf24cafe85333ab0aff9f26b81bba356004d" integrity sha512-LMN+SqTiZEonUw4hQA0A3zG8DnN0E1F4K107LbDDUnC+0chML1rvWgsHloC9weB4RmZweE0uhFq0eGX7Nr/PBQ== +"@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" + integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== + "@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" @@ -528,6 +593,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" +"@babel/plugin-proposal-numeric-separator@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz#8bf253de8139099fea193b297d23a9d406ef056b" + integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.9.6": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" @@ -554,6 +627,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" +"@babel/plugin-proposal-optional-chaining@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c" + integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-proposal-private-methods@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" @@ -626,7 +708,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.12.1", "@babel/plugin-syntax-jsx@^7.2.0": +"@babel/plugin-syntax-jsx@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== @@ -719,6 +801,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-block-scoping@^7.12.11": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz#d93a567a152c22aea3b1929bb118d1d0a175cdca" + integrity sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.9.5": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" @@ -896,6 +985,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-jsx" "^7.12.1" +"@babel/plugin-transform-react-jsx-development@^7.12.7": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.12.tgz#bccca33108fe99d95d7f9e82046bfe762e71f4e7" + integrity sha512-i1AxnKxHeMxUaWVXQOSIco4tvVvvCxMSfeBMnMM06mpaJt3g+MpxYQQrDfojUQldP1xxraPSJYSMEljoWM/dCg== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.12.12" + "@babel/plugin-transform-react-jsx-self@^7.12.1", "@babel/plugin-transform-react-jsx-self@^7.9.0": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz#ef43cbca2a14f1bd17807dbe4376ff89d714cf28" @@ -920,6 +1016,17 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-jsx" "^7.12.1" +"@babel/plugin-transform-react-jsx@^7.12.10", "@babel/plugin-transform-react-jsx@^7.12.12": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz#b0da51ffe5f34b9a900e9f1f5fb814f9e512d25e" + integrity sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.10" + "@babel/helper-module-imports" "^7.12.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.12.1" + "@babel/types" "^7.12.12" + "@babel/plugin-transform-react-pure-annotations@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" @@ -972,6 +1079,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-regex" "^7.10.4" +"@babel/plugin-transform-sticky-regex@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad" + integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.8.3": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" @@ -986,7 +1100,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-typescript@^7.10.4", "@babel/plugin-transform-typescript@^7.9.0": +"@babel/plugin-transform-typeof-symbol@^7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz#de01c4c8f96580bd00f183072b0d0ecdcf0dec4b" + integrity sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-typescript@^7.10.4", "@babel/plugin-transform-typescript@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz#d92cc0af504d510e26a754a7dbc2e5c8cd9c7ab4" integrity sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw== @@ -1010,6 +1131,78 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" +"@babel/preset-env@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.11.tgz#55d5f7981487365c93dbbc84507b1c7215e857f9" + integrity sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw== + dependencies: + "@babel/compat-data" "^7.12.7" + "@babel/helper-compilation-targets" "^7.12.5" + "@babel/helper-module-imports" "^7.12.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.11" + "@babel/plugin-proposal-async-generator-functions" "^7.12.1" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.1" + "@babel/plugin-proposal-json-strings" "^7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.7" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.12.1" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-async-to-generator" "^7.12.1" + "@babel/plugin-transform-block-scoped-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.11" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-computed-properties" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-dotall-regex" "^7.12.1" + "@babel/plugin-transform-duplicate-keys" "^7.12.1" + "@babel/plugin-transform-exponentiation-operator" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-function-name" "^7.12.1" + "@babel/plugin-transform-literals" "^7.12.1" + "@babel/plugin-transform-member-expression-literals" "^7.12.1" + "@babel/plugin-transform-modules-amd" "^7.12.1" + "@babel/plugin-transform-modules-commonjs" "^7.12.1" + "@babel/plugin-transform-modules-systemjs" "^7.12.1" + "@babel/plugin-transform-modules-umd" "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" + "@babel/plugin-transform-new-target" "^7.12.1" + "@babel/plugin-transform-object-super" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-property-literals" "^7.12.1" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/plugin-transform-reserved-words" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.7" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.10" + "@babel/plugin-transform-unicode-escapes" "^7.12.1" + "@babel/plugin-transform-unicode-regex" "^7.12.1" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.12.11" + core-js-compat "^3.8.0" + semver "^5.5.0" + "@babel/preset-env@7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.6.tgz#df063b276c6455ec6fcfc6e53aacc38da9b0aea6" @@ -1159,6 +1352,17 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" +"@babel/preset-react@7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.10.tgz#4fed65f296cbb0f5fb09de6be8cddc85cc909be9" + integrity sha512-vtQNjaHRl4DUpp+t+g4wvTHsLQuye+n0H/wsXIZRn69oz/fvNC7gQ4IK73zGJBaxvHoxElDvnYCthMcT7uzFoQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-display-name" "^7.12.1" + "@babel/plugin-transform-react-jsx" "^7.12.10" + "@babel/plugin-transform-react-jsx-development" "^7.12.7" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" + "@babel/preset-react@7.9.4": version "7.9.4" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d" @@ -1192,15 +1396,16 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-typescript" "^7.10.4" -"@babel/preset-typescript@7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" - integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== +"@babel/preset-typescript@7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz#fc7df8199d6aae747896f1e6c61fc872056632a3" + integrity sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-typescript" "^7.9.0" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.1" + "@babel/plugin-transform-typescript" "^7.12.1" -"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.8.3": +"@babel/runtime-corejs3@^7.10.2": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.12.1.tgz#51b9092befbeeed938335a109dbe0df51451e9dc" integrity sha512-umhPIcMrlBZ2aTWlWjUseW9LjQKxi1dpFlQS8DzsxB//5K+u6GLTC/JliPKHsd5kJVPIU6X/Hy0YvWOYPcMxBw== @@ -1208,7 +1413,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@7.12.5": +"@babel/runtime@7.12.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== @@ -1231,6 +1436,30 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/template@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" + integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" + +"@babel/traverse@^7.0.0-beta.39", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376" + integrity sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w== + dependencies: + "@babel/code-frame" "^7.12.11" + "@babel/generator" "^7.12.11" + "@babel/helper-function-name" "^7.12.11" + "@babel/helper-split-export-declaration" "^7.12.11" + "@babel/parser" "^7.12.11" + "@babel/types" "^7.12.12" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.9.6": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" @@ -1264,6 +1493,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.0.0-beta.39", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.7": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" + integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@babel/types@^7.12.5": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.11.tgz#a86e4d71e30a9b6ee102590446c98662589283ce" @@ -1312,18 +1550,18 @@ dependencies: "@chakra-ui/utils" "1.0.2" -"@chakra-ui/button@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/button/-/button-1.0.2.tgz#ed310c9eb018be50b3c2717fcc452535f6f14e49" - integrity sha512-ZDY/Vhzo3AiMQ+5oqxdtl+WGHx1Sp4Pq+ekpkHDilPvfz2Slxc2RT7bWwPHtTtaJ802j3tzCo5WbjNMgJuOR8g== +"@chakra-ui/button@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/button/-/button-1.0.3.tgz#2fccdaad9406b6d9de06fcc18c3a2aee7291ccbb" + integrity sha512-LEylUfAPEBlt2coLfxYjaJ9U1D9LN8LKvz0jnfXxrWIVyWpiWU0a6Kqm0rLUHzZv15abwNz23btfP52vTF3mvw== dependencies: "@chakra-ui/spinner" "1.0.2" "@chakra-ui/utils" "1.0.2" -"@chakra-ui/checkbox@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/checkbox/-/checkbox-1.0.2.tgz#00254ae395be60d5a383779f048fef1b409870b2" - integrity sha512-y79GpxulcjiyjV388eqOOUIaWdu927OWkcuj1INpOC24yiY1km9gWxjHZPRVUVHw9volO7/GWibqj3h9sOr5rw== +"@chakra-ui/checkbox@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/checkbox/-/checkbox-1.1.0.tgz#b0a71bf509108b5cb6fbbb54e38eefda4a539f54" + integrity sha512-MGsdny0rMdww4fh3xS3iyXx+FVQzMda4lpYnmjm6prlUv7Jv6vEkumDRkAJTWulJzkHl+fvD5jC4jNKh+3zGNg== dependencies: "@chakra-ui/hooks" "1.0.2" "@chakra-ui/utils" "1.0.2" @@ -1437,10 +1675,10 @@ "@chakra-ui/form-control" "1.1.0" "@chakra-ui/utils" "1.0.2" -"@chakra-ui/layout@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-1.1.1.tgz#8831ff9289c8e207e308e16770503e605ba81975" - integrity sha512-BHhIwzKRVpUSayQkKaB4/AtMtMiB4V2gCd0WlgCs8d6GTl0yk01oXgUzA99DbTa1mLs5zpmg84qtcuRZnkvjLw== +"@chakra-ui/layout@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-1.1.2.tgz#bdd33c568bdc38ac81164a7feab190120ff53198" + integrity sha512-wVc6miUkriXeamFw3Ru4+i+PC7kFMhZxQjzvvoQ0f+KVkvyDbqM1tui8/B6ISAmwtbMy08wbqxQ8Y/sYHDUIIA== dependencies: "@chakra-ui/icon" "1.0.2" "@chakra-ui/utils" "1.0.2" @@ -1471,10 +1709,10 @@ "@chakra-ui/transition" "1.0.3" "@chakra-ui/utils" "1.0.2" -"@chakra-ui/modal@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-1.3.0.tgz#e959055579d6c181b66632f2dbf509f2d9b082bd" - integrity sha512-ZjcnLV37RjSO2JNX9KplhhpyLxsqO4sa+ONefE5+LCTdb8YPzR4/C4TC4sK8qMoyrz9CYnhgy1ra9EnGC25yEg== +"@chakra-ui/modal@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-1.4.1.tgz#de30f2ebd0722ed14d128ac126c87143fe88a88a" + integrity sha512-uAECraFrjGPCP68Qzb+mf9FkI0WTeThMHvtvudwrf8y2lipYxkNONdvbphAkLIkOuoEUW7oIjoAsQd6ERWJ8Lw== dependencies: "@chakra-ui/close-button" "1.0.3" "@chakra-ui/focus-lock" "1.0.2" @@ -1496,10 +1734,10 @@ "@chakra-ui/icon" "1.0.2" "@chakra-ui/utils" "1.0.2" -"@chakra-ui/pin-input@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/pin-input/-/pin-input-1.1.1.tgz#e52e4df7cafa7db271676bff4ddabad569031a14" - integrity sha512-AeFBTKKSOq3938+MSEpSKjo7/sBkMqjAXBbyhABb6glzDGRg3I8GVZOWG8KBt4A/TLMA8YltfoCKARQp+Z5g/Q== +"@chakra-ui/pin-input@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/pin-input/-/pin-input-1.1.2.tgz#efc6a9a76a42b568a714caf373d9e70e74281da4" + integrity sha512-Pr0uIWo0aVN/N4AlU5+6ky6EzQGb8im41LqG90JqC7HA7rpwraaUQGvpD79Zm/uODGML1yYbTJ4URjFt5FsYHw== dependencies: "@chakra-ui/descendant" "1.0.2" "@chakra-ui/hooks" "1.0.2" @@ -1535,35 +1773,35 @@ "@chakra-ui/hooks" "1.0.2" "@chakra-ui/utils" "1.0.2" -"@chakra-ui/progress@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/progress/-/progress-1.0.2.tgz#931d5f833fa2e975d79623d70ce9284e0ebe5f9a" - integrity sha512-A5Iuk5mc5ARXjyfvy98xfHg2Mzmh3UTNq9YQEbtLlGt1MCybzZP2cvROyk7gmTdqAiKmuZInCUeO7kcXCCQK/Q== +"@chakra-ui/progress@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/progress/-/progress-1.0.3.tgz#1d1fe8a879c12ed38d92fe80803eab1829b156da" + integrity sha512-7Qu8pIMNHQf8iH8zMg94LXP/UfGtoN/HBredyVSHSosIYeV/DDzKFgjuF+MdJ3DLLkKjyOtL9lgoxcL2l5lyRg== dependencies: "@chakra-ui/theme-tools" "1.0.2" "@chakra-ui/utils" "1.0.2" -"@chakra-ui/radio@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-1.0.3.tgz#2ba8432021116988ae113455214aabaccfe25b5a" - integrity sha512-Y648m7oa+O3IoVOKT+kTTtHsSanuxd7HKJflbi9oJeHHZMN6rClGpjjTTV+XOpJQxcCaDpMCGjB2vyU39nRrUQ== +"@chakra-ui/radio@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-1.1.0.tgz#d375c22cb880d878dea29230a3c6cc68bc4ef3d8" + integrity sha512-fZr3QytRC1yeRnI4cOT/LAGguc3Yw0AYuCsofW4pqjIkOx23lSc7JXHOtCB4fZy2fULl7n/1mcyopSDPh+y61Q== dependencies: "@chakra-ui/form-control" "1.1.0" "@chakra-ui/hooks" "1.0.2" "@chakra-ui/utils" "1.0.2" "@chakra-ui/visually-hidden" "1.0.2" -"@chakra-ui/react@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-1.0.4.tgz#924dc808940e54923fdc2481d16e0bbf4f33ce13" - integrity sha512-ZRGrSsuXa8fr7ldTnTCm6JfRSo7dYzsdQvSHLBfBDQu4f8+9IF6pwNkmM8hX/pcVndjpVnvc/oETE9iCiqFrQg== +"@chakra-ui/react@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-1.1.2.tgz#51ba641f9856a75c184930bbacc4a9049ca432ed" + integrity sha512-swcDv8OCXauTO7tOrCtrb5YJq0drDNb6eB7pygchO+TBwWGdfBGNw4ipD2xG8nrTxuyv9DCH3jY2GblOKf/faw== dependencies: "@chakra-ui/accordion" "1.0.3" "@chakra-ui/alert" "1.0.3" "@chakra-ui/avatar" "1.0.2" "@chakra-ui/breadcrumb" "1.0.2" - "@chakra-ui/button" "1.0.2" - "@chakra-ui/checkbox" "1.0.2" + "@chakra-ui/button" "1.0.3" + "@chakra-ui/checkbox" "1.1.0" "@chakra-ui/close-button" "1.0.3" "@chakra-ui/control-box" "1.0.2" "@chakra-ui/counter" "1.0.2" @@ -1574,31 +1812,31 @@ "@chakra-ui/icon" "1.0.2" "@chakra-ui/image" "1.0.2" "@chakra-ui/input" "1.0.3" - "@chakra-ui/layout" "1.1.1" + "@chakra-ui/layout" "1.1.2" "@chakra-ui/live-region" "1.0.2" "@chakra-ui/media-query" "1.0.2" "@chakra-ui/menu" "1.0.3" - "@chakra-ui/modal" "1.3.0" + "@chakra-ui/modal" "1.4.1" "@chakra-ui/number-input" "1.0.3" - "@chakra-ui/pin-input" "1.1.1" + "@chakra-ui/pin-input" "1.1.2" "@chakra-ui/popover" "1.0.4" "@chakra-ui/popper" "1.0.2" "@chakra-ui/portal" "1.0.2" - "@chakra-ui/progress" "1.0.2" - "@chakra-ui/radio" "1.0.3" + "@chakra-ui/progress" "1.0.3" + "@chakra-ui/radio" "1.1.0" "@chakra-ui/select" "1.0.3" - "@chakra-ui/skeleton" "1.0.3" + "@chakra-ui/skeleton" "1.0.6" "@chakra-ui/slider" "1.0.2" "@chakra-ui/spinner" "1.0.2" "@chakra-ui/stat" "1.0.2" - "@chakra-ui/switch" "1.0.2" - "@chakra-ui/system" "1.1.0" + "@chakra-ui/switch" "1.0.3" + "@chakra-ui/system" "1.1.3" "@chakra-ui/table" "1.0.2" - "@chakra-ui/tabs" "1.0.2" - "@chakra-ui/tag" "1.0.2" + "@chakra-ui/tabs" "1.0.3" + "@chakra-ui/tag" "1.0.3" "@chakra-ui/textarea" "1.0.3" - "@chakra-ui/theme" "1.2.2" - "@chakra-ui/toast" "1.1.2" + "@chakra-ui/theme" "1.3.0" + "@chakra-ui/toast" "1.1.3" "@chakra-ui/tooltip" "1.0.2" "@chakra-ui/transition" "1.0.3" "@chakra-ui/utils" "1.0.2" @@ -1612,14 +1850,14 @@ "@chakra-ui/form-control" "1.1.0" "@chakra-ui/utils" "1.0.2" -"@chakra-ui/skeleton@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-1.0.3.tgz#d0b44d2ae4d6c5dac8469a3ee1284311386cf060" - integrity sha512-JLdGzV+9FxRlre1ai8ResA2PUZd08VvAGJL5fY6NPm1wefcNpWJamUV/tCCuYJNLx/1Lzk767JCtJyxOp/RpFw== +"@chakra-ui/skeleton@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-1.0.6.tgz#022d055fc4e794c6560c6a34c62c322c9933b70f" + integrity sha512-x2fczl833U1zXJV+wiIwtIWBk/29t2RCnPevRewwZO3sDybf45vNnS2fT6KKttBBWnUD+phA9cjkNZwBJRDTEw== dependencies: "@chakra-ui/hooks" "1.0.2" "@chakra-ui/media-query" "1.0.2" - "@chakra-ui/system" "1.1.0" + "@chakra-ui/system" "1.1.3" "@chakra-ui/utils" "1.0.2" "@chakra-ui/slider@1.0.2": @@ -1647,31 +1885,30 @@ "@chakra-ui/utils" "1.0.2" "@chakra-ui/visually-hidden" "1.0.2" -"@chakra-ui/styled-system@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/styled-system/-/styled-system-1.2.0.tgz#b20e5a756e7570b504e9576f93dbe0714d7b9961" - integrity sha512-Fpvs/XZWYHWsP0Zwa+ZrhWFiTDp8zKRXKPKbnOcqmlN1sxJdfQFkv1HbKVfHJAxB4QeOO/RzfNlF09A8U5wUnA== +"@chakra-ui/styled-system@1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/styled-system/-/styled-system-1.3.1.tgz#f0f769d08dbf23c5671482f1bb1751d1abf61d1a" + integrity sha512-h9r478zCfVlkhbtIUubrPvNAmisCBsAlx9S+trZD8pgyBwC2uIsRHemU+IYFbojBH5tIZAyD/5yPUbe4bl4P+A== dependencies: "@chakra-ui/utils" "1.0.2" - "@styled-system/core" "5.1.2" css-get-unit "1.0.1" csstype "3.0.3" -"@chakra-ui/switch@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/switch/-/switch-1.0.2.tgz#66265a7f28e330303ca453d2ded03492fda857c9" - integrity sha512-ri6oCFBkFdF1FcQcCcUQhAcwWUqCT29eCFSrD/ewCqy3j7l6bZuoItuuG+YmZe6ORoXjkS2tpIdgZiDTCHl9Ew== +"@chakra-ui/switch@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/switch/-/switch-1.0.3.tgz#104b6a013aeb0e019d2a7a7794e9786c7b58fc45" + integrity sha512-Mi/5Y9IuAXooN5UsvpIzGOQAwSCbJdHFJeh/LMnO3suGCT8ClJTw/28YLM3Oyl7euvKzFylcqec6m2ZT6rITyw== dependencies: - "@chakra-ui/checkbox" "1.0.2" + "@chakra-ui/checkbox" "1.1.0" "@chakra-ui/utils" "1.0.2" -"@chakra-ui/system@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-1.1.0.tgz#3b2e1bd440b3fd0779bda191b708dcaab1a51834" - integrity sha512-R+rEtcAekS9BtgL+aQHPKZLUU449xsBeP3SLVc4kYuA/sPUDkFjrfZ8o7C4dnBvL2oXjufJ6dllZBrZw7zurcQ== +"@chakra-ui/system@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-1.1.3.tgz#8d8770899402a27ee47c852dd803ed849ba41324" + integrity sha512-U6/Iuyi4KStCghB/czpCfPZTRzeaHvREivlWLOPy4UbnuqT19SEaDl4mV7jz664LpiNUSo9RQCWCtCLvQGv7iQ== dependencies: "@chakra-ui/color-mode" "1.0.2" - "@chakra-ui/styled-system" "1.2.0" + "@chakra-ui/styled-system" "1.3.1" "@chakra-ui/utils" "1.0.2" react-fast-compare "3.2.0" @@ -1682,20 +1919,20 @@ dependencies: "@chakra-ui/utils" "1.0.2" -"@chakra-ui/tabs@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/tabs/-/tabs-1.0.2.tgz#d03f4be1ca1fe5ac19f8818e5a2df87a706fb4d4" - integrity sha512-jB/CVPUt6+B+SLiFG7Eshs0RfGZtTHSogSeG/r+IZKId5mj1syG0KGEfT4gv2lD+zLsN8QyXKbeNbDgffC4Wew== +"@chakra-ui/tabs@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/tabs/-/tabs-1.0.3.tgz#34049c955aaf79d78d3856352d53427377f035fc" + integrity sha512-DLfY52ieDdmddoB8nCt7OPtBp40d8GnZvaF3hzsu+y6TKEM1SYO/mWd2HR+1CWKQhLsiHnOIB3UsTnCOeT2Bqg== dependencies: "@chakra-ui/clickable" "1.0.2" "@chakra-ui/descendant" "1.0.2" "@chakra-ui/hooks" "1.0.2" "@chakra-ui/utils" "1.0.2" -"@chakra-ui/tag@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/tag/-/tag-1.0.2.tgz#3ea7dd598c06742959ceb9bf4fc05938934884bf" - integrity sha512-orB94q4TtaassYU6dbGdY4eK8qJl6J5XplgvshBg2j+67iz/62Cbt6bLCs42mIOmgd/4VtcGcCcG9ZSt7VR9Yw== +"@chakra-ui/tag@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/tag/-/tag-1.0.3.tgz#c0000ba06293a80b54e74d07bcd2f04dc192eefc" + integrity sha512-csnitXXOwg/cLF5pHHe0zzB8TLEZhHASAnYMXzrBOGxlrxPPbPnoIGY4VTNiQwxDXTBIdrMRdVHy9emboi8GDA== dependencies: "@chakra-ui/icon" "1.0.2" "@chakra-ui/utils" "1.0.2" @@ -1717,22 +1954,23 @@ "@types/tinycolor2" "1.4.2" tinycolor2 "1.4.2" -"@chakra-ui/theme@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-1.2.2.tgz#03ad6bcfdd7a2c51bbb08ddc3d83cfcbf456601a" - integrity sha512-Wkas+mSduUGOCEAcIshNPGmlqbYMEVULH3bsXaq1fx2bQaYdFKC73Ckxo0cg6qQ/Z1VCgU5CZI47VpfdUsDjZA== +"@chakra-ui/theme@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-1.3.0.tgz#5318f60cff2a5a3ae63f3fb4ed8b180f8205cf7b" + integrity sha512-e0p+TlUFlvsuvXiwFj8DqfHalf5h2jyXRNh1rTVJkDoGMG1z+JNH/Dtwyr8KA9Ju4n+anZg+qQflKvfVf5nHSQ== dependencies: "@chakra-ui/theme-tools" "1.0.2" + "@chakra-ui/utils" "1.0.2" -"@chakra-ui/toast@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-1.1.2.tgz#4c20420837fd5a50c4745bf9339bb9346554bcf8" - integrity sha512-bSlqIu34NEgCuOMb31YuYGASvpgdxHg/HqgxJULW9PmGTjIg68fFej2RF3VId5ZFI/8Kpz5lCAV9Ty1XpCRjIQ== +"@chakra-ui/toast@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-1.1.3.tgz#5de6dd48d8e0b239b1c512be0b65fe715addc6a3" + integrity sha512-6GWdGG4O8Qd9diC0pBJzvep1z5P6Hu0b307Q0w+IY+sp/0HnY813j7UHh2DbZfVXstBmt8O+2E0YlDPQyYMZjA== dependencies: "@chakra-ui/alert" "1.0.3" "@chakra-ui/close-button" "1.0.3" "@chakra-ui/hooks" "1.0.2" - "@chakra-ui/theme" "1.2.2" + "@chakra-ui/theme" "1.3.0" "@chakra-ui/transition" "1.0.3" "@chakra-ui/utils" "1.0.2" "@reach/alert" "0.11.0" @@ -1782,7 +2020,7 @@ exec-sh "^0.3.2" minimist "^1.2.0" -"@cypress/listr-verbose-renderer@0.4.1": +"@cypress/listr-verbose-renderer@^0.4.1": version "0.4.1" resolved "https://registry.yarnpkg.com/@cypress/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#a77492f4b11dcc7c446a34b3e28721afd33c642a" integrity sha1-p3SS9LEdzHxEajSz4ochr9M8ZCo= @@ -1792,6 +2030,32 @@ date-fns "^1.27.2" figures "^1.7.0" +"@cypress/request@^2.88.5": + version "2.88.5" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.5.tgz#8d7ecd17b53a849cfd5ab06d5abe7d84976375d7" + integrity sha512-TzEC1XMi1hJkywWpRfD2clreTa/Z+lOrXDCxxBTBPEcY5azdPi56A6Xw+O4tWJnaJH3iIE7G5aDXZC6JgRZLcA== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + "@cypress/webpack-preprocessor@~4.1.2": version "4.1.5" resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-4.1.5.tgz#b47d515d2540af977ee8b69d7c4eed64e3027668" @@ -1804,7 +2068,7 @@ "@babel/preset-env" "^7.0.0" babel-loader "^8.0.2" -"@cypress/xvfb@1.2.4": +"@cypress/xvfb@^1.2.4": version "1.2.4" resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== @@ -1812,13 +2076,6 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@emotion/babel-plugin-jsx-pragmatic@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin-jsx-pragmatic/-/babel-plugin-jsx-pragmatic-0.1.5.tgz#27debfe9c27c4d83574d509787ae553bf8a34d7e" - integrity sha512-y+3AJ0SItMDaAgGPVkQBC/S/BaqaPACkQ6MyCI2CUlrjTxKttTVfD3TMtcs7vLEcLxqzZ1xiG0vzwCXjhopawQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@emotion/babel-plugin@^11.0.0": version "11.1.2" resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.1.2.tgz#68fe1aa3130099161036858c64ee92056c6730b7" @@ -1837,16 +2094,6 @@ source-map "^0.5.7" stylis "^4.0.3" -"@emotion/babel-preset-css-prop@11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-preset-css-prop/-/babel-preset-css-prop-11.0.0.tgz#25b868affa620b9e97024b67f67ad32c03a0510e" - integrity sha512-E7z3jMf1OyThGpp3ngYGxOSGX5AdoSQTuqM9QgJNAHFh3Fi8N5CbWx6g+IdySJ8bjPiMgFQsIeEhkyy+4mDpCQ== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.12.1" - "@babel/runtime" "^7.7.2" - "@emotion/babel-plugin" "^11.0.0" - "@emotion/babel-plugin-jsx-pragmatic" "^0.1.5" - "@emotion/cache@^11.1.3": version "11.1.3" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.1.3.tgz#c7683a9484bcd38d5562f2b9947873cf66829afd" @@ -1887,10 +2134,10 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50" integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== -"@emotion/react@11.1.3": - version "11.1.3" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.1.3.tgz#4a33f9bfdbcbe2d5449f5d44e48fca045b86dcc0" - integrity sha512-4kTKUm321key/capzff/AEIm8ow9IrcYltqaMQVdKlqMTUQpoO9GozDnDG1YXLYzgFnxYTZUbok3Z0vudylxiA== +"@emotion/react@11.1.4": + version "11.1.4" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.1.4.tgz#ddee4247627ff7dd7d0c6ae52f1cfd6b420357d2" + integrity sha512-9gkhrW8UjV4IGRnEe4/aGPkUxoGS23aD9Vu6JCGfEDyBYL+nGkkRBoMFGAzCT9qFdyUvQp4UUtErbKWxq/JS4A== dependencies: "@babel/runtime" "^7.7.2" "@emotion/cache" "^11.1.3" @@ -1952,10 +2199,10 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@eslint/eslintrc@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085" - integrity sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA== +"@eslint/eslintrc@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76" + integrity sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -1968,10 +2215,23 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@google-cloud/common@^3.3.0": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@google-cloud/common/-/common-3.4.1.tgz#a1920d73c38437923b4b134e245c392d36c442e9" - integrity sha512-e5z0CwsM0RXky+PnyPtQ3QK46ksqm+kE7kX8pm8X+ddBwZJipHchKeazMM5fLlGCS+AALalzXb+uYmH72TRnpQ== +"@fbe/editor@file:.yalc/@fbe/editor": + version "1.0.0" + dependencies: + "@pixi/basis" "^6.0.0-rc" + ajv "^6.12.2" + delaunator "^4.0.1" + eventemitter3 "^4.0.4" + keyboardjs "^2.5.1" + maxrects-packer "^2.6.0" + pako "^1.0.11" + pathfinding "^0.4.18" + pixi.js "^6.0.0-rc" + +"@google-cloud/common@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@google-cloud/common/-/common-3.5.0.tgz#0959e769e8075a06eb0823cc567eef00fd0c2d02" + integrity sha512-10d7ZAvKhq47L271AqvHEd8KzJqGU45TY+rwM2Z3JHuB070FeTi7oJJd7elfrnKaEvaktw3hH2wKnRWxk/3oWQ== dependencies: "@google-cloud/projectify" "^2.0.0" "@google-cloud/promisify" "^2.0.0" @@ -1983,16 +2243,16 @@ retry-request "^4.1.1" teeny-request "^7.0.0" -"@google-cloud/datastore@6.2.0": - version "6.2.0" - resolved "https://registry.yarnpkg.com/@google-cloud/datastore/-/datastore-6.2.0.tgz#44f05b6e7d29a347afb224051e9ac18e074a3a47" - integrity sha512-S/u6A8qj92NpUfuJPgwqFGMwwyVNy6eBoGCMrxaArkaooJp8uXhBfLz9giu0iCp0cOl4attNX/xYHsUrT4YoIQ== +"@google-cloud/datastore@6.3.1": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@google-cloud/datastore/-/datastore-6.3.1.tgz#1fd78528fdabdb4aa128b8d81b98d0952daa6c00" + integrity sha512-p6W3g0Y7cEuMlwDUNzjAn/n6UFPZJJtcftl20MOAi2XUa5aL+RW5ydhIdrNPtvDQGx9wex6io8ifzqLxORgtMw== dependencies: "@google-cloud/promisify" "^2.0.0" arrify "^2.0.1" concat-stream "^2.0.0" extend "^3.0.2" - google-gax "^2.2.0" + google-gax "^2.9.2" is "^3.3.0" pumpify "^2.0.1" split-array-stream "^2.0.0" @@ -2021,10 +2281,10 @@ resolved "https://registry.yarnpkg.com/@google-cloud/promisify/-/promisify-2.0.3.tgz#f934b5cdc939e3c7039ff62b9caaf59a9d89e3a8" integrity sha512-d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw== -"@google-cloud/pubsub@2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@google-cloud/pubsub/-/pubsub-2.6.0.tgz#e281c2c11744ee4593bad485127299c0db4f1543" - integrity sha512-NfF35l8Hi9k2BqrjweR4HWmfL4U3jL3HrX+rp46vEqjFgD+l7JXw4k4KpEzDYvFhHu3SxjH5e18+yW1b4/6hsA== +"@google-cloud/pubsub@2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@google-cloud/pubsub/-/pubsub-2.7.0.tgz#b5c9cf776cbccb5a2c6594318934c14eab7de405" + integrity sha512-wc/XOo5Ibo3GWmuaLu80EBIhXSdu2vf99HUqBbdsSSkmRNIka2HqoIhLlOFnnncQn0lZnGL7wtKGIDLoH9LiBg== dependencies: "@google-cloud/paginator" "^3.0.0" "@google-cloud/precise-date" "^2.0.0" @@ -2037,27 +2297,27 @@ arrify "^2.0.0" extend "^3.0.2" google-auth-library "^6.1.2" - google-gax "^2.7.0" + google-gax "^2.9.2" is-stream-ended "^0.1.4" lodash.snakecase "^4.1.1" p-defer "^3.0.0" -"@google-cloud/storage@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-5.3.0.tgz#cf86683911cce68829e46de544abb41947d29da2" - integrity sha512-3t5UF3SZ14Bw2kcBHubCai6EIugU2GnQOstYWVSFuoO8IJ94RAaIOPq/dtexvQbUTpBTAGpd5smVR9WPL1mJVw== +"@google-cloud/storage@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-5.7.0.tgz#1cdbeeaab21f78b69de060c11b765c2b5591de91" + integrity sha512-6nPTylNaYWsVo5yHDdjQfUSh9qP/DFwahhyvOAf9CSDKfeoOys8+PAyHsoKyL29uyYoC6ymws7uJDO48y/SzBA== dependencies: - "@google-cloud/common" "^3.3.0" + "@google-cloud/common" "^3.5.0" "@google-cloud/paginator" "^3.0.0" "@google-cloud/promisify" "^2.0.0" arrify "^2.0.0" compressible "^2.0.12" - concat-stream "^2.0.0" date-and-time "^0.14.0" - duplexify "^3.5.0" + duplexify "^4.0.0" extend "^3.0.2" - gaxios "^3.0.0" + gaxios "^4.0.0" gcs-resumable-upload "^3.1.0" + get-stream "^6.0.0" hash-stream-validation "^0.2.2" mime "^2.2.0" mime-types "^2.0.8" @@ -2068,14 +2328,13 @@ stream-events "^1.0.1" xdg-basedir "^4.0.0" -"@grpc/grpc-js@~1.1.1": - version "1.1.7" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.1.7.tgz#d3d71c6da95397e2d63895ccc4a05e7572f7b7e6" - integrity sha512-EuxMstI0u778dp0nk6Fe3gHXYPeV6FYsWOe0/QFwxv1NQ6bc5Wl/0Yxa4xl9uBlKElL6AIxuASmSfu7KEJhqiw== +"@grpc/grpc-js@~1.2.0": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.2.2.tgz#ee4a7417fe15a686a8e369c36ec4c80678445c67" + integrity sha512-iK/T984Ni6VnmlQK/LJdUk+VsXSaYIWkgzJ0LyOcxN2SowAmoRjG28kS7B1ui/q/MAv42iM3051WBt5QorFxmg== dependencies: - "@grpc/proto-loader" "^0.6.0-pre14" "@types/node" "^12.12.47" - google-auth-library "^6.0.0" + google-auth-library "^6.1.1" semver "^6.2.0" "@grpc/proto-loader@^0.5.1": @@ -2086,17 +2345,6 @@ lodash.camelcase "^4.3.0" protobufjs "^6.8.6" -"@grpc/proto-loader@^0.6.0-pre14": - version "0.6.0-pre9" - resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.6.0-pre9.tgz#0c6fe42f6c5ef9ce1b3cef7be64d5b09d6fe4d6d" - integrity sha512-oM+LjpEjNzW5pNJjt4/hq1HYayNeQT+eGrOPABJnYHv7TyNPDNzkQ76rDYZF86X5swJOa4EujEMzQ9iiTdPgww== - dependencies: - "@types/long" "^4.0.1" - lodash.camelcase "^4.3.0" - long "^4.0.0" - protobufjs "^6.9.0" - yargs "^15.3.1" - "@hapi/accept@5.0.1": version "5.0.1" resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.1.tgz#068553e867f0f63225a506ed74e899441af53e10" @@ -2133,93 +2381,93 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^26.5.2": - version "26.5.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.5.2.tgz#94fc4865b1abed7c352b5e21e6c57be4b95604a6" - integrity sha512-lJELzKINpF1v74DXHbCRIkQ/+nUV1M+ntj+X1J8LxCgpmJZjfLmhFejiMSbjjD66fayxl5Z06tbs3HMyuik6rw== +"@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== dependencies: - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^26.5.2" - jest-util "^26.5.2" + jest-message-util "^26.6.2" + jest-util "^26.6.2" slash "^3.0.0" -"@jest/core@^26.2.2", "@jest/core@^26.5.3": - version "26.5.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.5.3.tgz#712ed4adb64c3bda256a3f400ff1d3eb2a031f13" - integrity sha512-CiU0UKFF1V7KzYTVEtFbFmGLdb2g4aTtY0WlyUfLgj/RtoTnJFhh50xKKr7OYkdmBUlGFSa2mD1TU3UZ6OLd4g== +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== dependencies: - "@jest/console" "^26.5.2" - "@jest/reporters" "^26.5.3" - "@jest/test-result" "^26.5.2" - "@jest/transform" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" - jest-changed-files "^26.5.2" - jest-config "^26.5.3" - jest-haste-map "^26.5.2" - jest-message-util "^26.5.2" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" jest-regex-util "^26.0.0" - jest-resolve "^26.5.2" - jest-resolve-dependencies "^26.5.3" - jest-runner "^26.5.3" - jest-runtime "^26.5.3" - jest-snapshot "^26.5.3" - jest-util "^26.5.2" - jest-validate "^26.5.3" - jest-watcher "^26.5.2" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" micromatch "^4.0.2" p-each-series "^2.1.0" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^26.5.2": - version "26.5.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.5.2.tgz#eba3cfc698f6e03739628f699c28e8a07f5e65fe" - integrity sha512-YjhCD/Zhkz0/1vdlS/QN6QmuUdDkpgBdK4SdiVg4Y19e29g4VQYN5Xg8+YuHjdoWGY7wJHMxc79uDTeTOy9Ngw== +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== dependencies: - "@jest/fake-timers" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" - jest-mock "^26.5.2" + jest-mock "^26.6.2" -"@jest/fake-timers@^26.5.2": - version "26.5.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.5.2.tgz#1291ac81680ceb0dc7daa1f92c059307eea6400a" - integrity sha512-09Hn5Oraqt36V1akxQeWMVL0fR9c6PnEhpgLaYvREXZJAh2H2Y+QLCsl0g7uMoJeoWJAuz4tozk1prbR1Fc1sw== +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== dependencies: - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" "@sinonjs/fake-timers" "^6.0.1" "@types/node" "*" - jest-message-util "^26.5.2" - jest-mock "^26.5.2" - jest-util "^26.5.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" -"@jest/globals@^26.5.3": - version "26.5.3" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.5.3.tgz#90769b40e0af3fa0b28f6d8c5bbe3712467243fd" - integrity sha512-7QztI0JC2CuB+Wx1VdnOUNeIGm8+PIaqngYsZXQCkH2QV0GFqzAYc9BZfU0nuqA6cbYrWh5wkuMzyii3P7deug== +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== dependencies: - "@jest/environment" "^26.5.2" - "@jest/types" "^26.5.2" - expect "^26.5.3" + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" -"@jest/reporters@^26.5.3": - version "26.5.3" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.5.3.tgz#e810e9c2b670f33f1c09e9975749260ca12f1c17" - integrity sha512-X+vR0CpfMQzYcYmMFKNY9n4jklcb14Kffffp7+H/MqitWnb0440bW2L76NGWKAa+bnXhNoZr+lCVtdtPmfJVOQ== +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.5.2" - "@jest/test-result" "^26.5.2" - "@jest/transform" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -2230,63 +2478,63 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^26.5.2" - jest-resolve "^26.5.2" - jest-util "^26.5.2" - jest-worker "^26.5.0" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" - v8-to-istanbul "^6.0.1" + v8-to-istanbul "^7.0.0" optionalDependencies: node-notifier "^8.0.0" -"@jest/source-map@^26.5.0": - version "26.5.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.5.0.tgz#98792457c85bdd902365cd2847b58fff05d96367" - integrity sha512-jWAw9ZwYHJMe9eZq/WrsHlwF8E3hM9gynlcDpOyCb9bR8wEd9ZNBZCi7/jZyzHxC7t3thZ10gO2IDhu0bPKS5g== +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== dependencies: callsites "^3.0.0" graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/test-result@^26.5.2": - version "26.5.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.5.2.tgz#cc1a44cfd4db2ecee3fb0bc4e9fe087aa54b5230" - integrity sha512-E/Zp6LURJEGSCWpoMGmCFuuEI1OWuI3hmZwmULV0GsgJBh7u0rwqioxhRU95euUuviqBDN8ruX/vP/4bwYolXw== +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== dependencies: - "@jest/console" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^26.5.3": - version "26.5.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.5.3.tgz#9ae0ab9bc37d5171b28424029192e50229814f8d" - integrity sha512-Wqzb7aQ13L3T47xHdpUqYMOpiqz6Dx2QDDghp5AV/eUDXR7JieY+E1s233TQlNyl+PqtqgjVokmyjzX/HA51BA== +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== dependencies: - "@jest/test-result" "^26.5.2" + "@jest/test-result" "^26.6.2" graceful-fs "^4.2.4" - jest-haste-map "^26.5.2" - jest-runner "^26.5.3" - jest-runtime "^26.5.3" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" -"@jest/transform@^26.2.2", "@jest/transform@^26.5.2": - version "26.5.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.5.2.tgz#6a0033a1d24316a1c75184d010d864f2c681bef5" - integrity sha512-AUNjvexh+APhhmS8S+KboPz+D3pCxPvEAGduffaAJYxIFxGi/ytZQkrqcKDUU0ERBAo5R7087fyOYr2oms1seg== +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" babel-plugin-istanbul "^6.0.0" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.4" - jest-haste-map "^26.5.2" + jest-haste-map "^26.6.2" jest-regex-util "^26.0.0" - jest-util "^26.5.2" + jest-util "^26.6.2" micromatch "^4.0.2" pirates "^4.0.1" slash "^3.0.0" @@ -2303,7 +2551,7 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@jest/types@^26.2.0", "@jest/types@^26.5.2": +"@jest/types@^26.5.2": version "26.5.2" resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.5.2.tgz#44c24f30c8ee6c7f492ead9ec3f3c62a5289756d" integrity sha512-QDs5d0gYiyetI8q+2xWdkixVQMklReZr4ltw7GFDtb4fuJIBCE6mzj2LnitGqCuAlLap6wPyb8fpoHgwZz5fdg== @@ -2325,36 +2573,37 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@next/env@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@next/env/-/env-10.0.3.tgz#ef1077d78bf500855576f83090d6fb1ec96272f8" - integrity sha512-xjJt2VXoSxAydskmt77nJuEtRL782E4ltaj5JtMzJ8YkNUMMu3d5ktpCR+Q3INKHF/RY6zHJ9QzyE3/s1ikbNg== +"@next/env@10.0.5": + version "10.0.5" + resolved "https://registry.yarnpkg.com/@next/env/-/env-10.0.5.tgz#446e59ee7a8d05061be784b24732c369653038ab" + integrity sha512-dw6Q7PALIo7nTFfaB4OnRDte3EikrApGtjX/4cRmYXLh+uudDI50aS39MaGeKKZ2mxPKoNiFcY6Slv1f6KIPOw== -"@next/polyfill-module@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-10.0.3.tgz#507e99f6dd351dc4a6e45b63dbd397087ece459a" - integrity sha512-JaiycQZZbqViaMZgRGYcPIdCPDz+qRnqEGxbhQlrxyPaBaOtsrAEkGf1SS2wJZKa/ncxqWHMfSvizDcGcz/ygQ== +"@next/polyfill-module@10.0.5": + version "10.0.5" + resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-10.0.5.tgz#f2de3deee8694cc75094fea4e91225724b3a21e1" + integrity sha512-R6ySTTIl6yqyO3Xft7h+QR9Z4e6epEw+AGO125CrwPmCDQ8ASLGltsHYvSHBP7Eae7xaorkXHW0jeI8NewLpew== -"@next/react-dev-overlay@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-10.0.3.tgz#99f3151677747d8be08a9314fa7ab3611e8161b8" - integrity sha512-ykiKeUhTsMRoyyYnx4jM8xeOPfKGqQ7xgx2dNXOu4tbPpdivzjJp2+K6+xnqhTmZ7uxfFBV+b1OE1ZzA8qyX5Q== +"@next/react-dev-overlay@10.0.5": + version "10.0.5" + resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-10.0.5.tgz#f0006e56d8c8b4269f341ff22233e4a7e1176b52" + integrity sha512-olqIaaRvFezzi02V/AYwvmrGbShUNrJDvyZTGNahxXEkiYsuu67llY5IKFM5Oya93/eRqaCCKMn89vpvYtvDcw== dependencies: - "@babel/code-frame" "7.10.4" - ally.js "1.4.1" + "@babel/code-frame" "7.12.11" anser "1.4.9" chalk "4.0.0" classnames "2.2.6" - data-uri-to-buffer "3.0.0" + css.escape "1.5.1" + data-uri-to-buffer "3.0.1" + platform "1.3.6" shell-quote "1.7.2" source-map "0.8.0-beta.0" stacktrace-parser "0.1.10" strip-ansi "6.0.0" -"@next/react-refresh-utils@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-10.0.3.tgz#276bec60eae18768f96baf8a52f668f657f50ab4" - integrity sha512-XtzzPX2R4+MIyu1waEQUo2tiNwWVEkmObA6pboRCDTPOs4Ri8ckaIE08lN5A5opyF6GVN+IEq/J8KQrgsePsZQ== +"@next/react-refresh-utils@10.0.5": + version "10.0.5" + resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-10.0.5.tgz#c1ca664c4ffe2f79d14383323d783368833d503b" + integrity sha512-Eo+nvW1ZhdkuxBWSsKHGDLNspUaJJQClld9R+H+EtiIuAQtTa8f2rhcQeyUOtvUNQoPyq7Em2PwUqOQD6LOOMA== "@nodelib/fs.scandir@2.1.3": version "2.1.3" @@ -2437,38 +2686,27 @@ node-gyp "^7.1.0" read-package-json-fast "^1.1.3" -"@nrwl/cli@10.3.1": - version "10.3.1" - resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-10.3.1.tgz#9a43e5c28cff1c4995249410079b39ea50190561" - integrity sha512-w3Qr6C0J0YeiewXfc5ccnRIS2JL1FblJJO6b6kb1w8tqyv7HPGJ1UVTfSEA7yjAbcCUEiNuW6EJuLr7IZ6vQvQ== +"@nrwl/cli@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-11.0.20.tgz#b9b53124d9735c889ea9321d60bcd2d45966481d" + integrity sha512-ss4eHruXeFWtbTUAV0AjwOLJHi/p23QN9LXTrX45wkT0qM+B1ysL/is3V1pItHkSNJr6Ab/m00lATGORqi0b7Q== dependencies: - "@nrwl/tao" "10.3.1" - chalk "2.4.2" - tmp "0.0.33" - yargs "15.4.1" - yargs-parser "20.0.0" - -"@nrwl/cli@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-11.0.16.tgz#adccd9685244cef03da286832e7b7b831f6809ad" - integrity sha512-Y60iokPwc8s2gUIquQScP1OdEj4fwo/GIvFi3YWAi7mBEXrFs2KnZucv2BNymyJrP3bQ7997fX6pRRPf37ZF7Q== - dependencies: - "@nrwl/tao" "11.0.16" + "@nrwl/tao" "11.0.20" chalk "4.1.0" tmp "0.0.33" yargs "15.4.1" yargs-parser "20.0.0" -"@nrwl/cypress@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-11.0.16.tgz#25a8f79e9a4971b85bedb2dffefda9f93f96bc81" - integrity sha512-PDZV9NUty7EjFpO1X2VdMoCZV0tM9OdIvBdQ5RUByJy+aWODvtmZGTdz1AVPIPmuCDkQr2KXfwDIrayuQwOwdw== +"@nrwl/cypress@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-11.0.20.tgz#2fdba30238ef5d140604e1e5394edb6858e47312" + integrity sha512-m9ou+4NVCr+zLwUuAFlF5sq4zfUkAvTO1zAASTx0wJgzEZJMosrQ13vKph6U4AUS7mGSgtPV+53MabwUppXqdQ== dependencies: "@angular-devkit/architect" "~0.1100.1" "@angular-devkit/core" "~11.0.1" "@angular-devkit/schematics" "~11.0.1" "@cypress/webpack-preprocessor" "~4.1.2" - "@nrwl/devkit" "11.0.16" + "@nrwl/devkit" "11.0.20" fork-ts-checker-webpack-plugin "^3.1.1" fs-extra "7.0.1" rxjs "^6.5.4" @@ -2479,74 +2717,76 @@ webpack-node-externals "1.7.2" yargs-parser "20.0.0" -"@nrwl/devkit@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-11.0.16.tgz#c982322a358cb41141884e08433eb6442b0e9101" - integrity sha512-bHrI4oS6TQS7yw346e0XyDl7Pejcb95/eosNGsRqfiZy472Z8YxUmripUK9FrIq9uvSh2W8YNcDirzmwYxI+uA== +"@nrwl/devkit@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-11.0.20.tgz#8793d2279680e049aa209810914a6eb3670f7625" + integrity sha512-enhdAZeC96ZQad9lciNtm7CGNjI8PUNme4J5/y2ZlGMShrqDaijag9yktVVkErfdizaXL4o2Rny7UFXSXdElEw== dependencies: - "@nrwl/tao" "11.0.16" + "@nrwl/tao" "11.0.20" ejs "^3.1.5" strip-json-comments "2.0.1" tslib "^2.0.0" -"@nrwl/eslint-plugin-nx@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-11.0.16.tgz#5c67ed8a2e1ff2495d4a071072137d957da34e17" - integrity sha512-HUsSB1cGNRnILnO7vGenVQqSQE45COuJHLOmUAOo0MIunyzXG68tmfgNtZMjJflMGXhuaGPZ2Qivf0VSx9govw== +"@nrwl/eslint-plugin-nx@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-11.0.20.tgz#d0103a780673cc87b94a6ae9c7fad150d4334a60" + integrity sha512-A7EZTJQE8h1OZ15dxp8bPZkGDfTCuHoSlT2nGjPDM3rDfks4cI8bzlfWHQq8kYXAlLLCOs+tBb2+MNchX7rMGQ== dependencies: "@angular-devkit/core" "~11.0.1" "@typescript-eslint/experimental-utils" "^4.3.0" confusing-browser-globals "^1.0.9" -"@nrwl/jest@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-11.0.16.tgz#1fad61e96d45ea5db9e4c2703931703e2c6def24" - integrity sha512-XgOQ/n3DzpIbtGtKTEK00rf40q6JvaxcojRVcQQbVYXg3jeil5GfOump1SEVXh6DY8kScTOyI6nhaMjb41dj9g== +"@nrwl/jest@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-11.0.20.tgz#d20936e21d9401edea7dbfb67571f76ef55787e8" + integrity sha512-K2a/tOLnYrLFZtbUhoMD51DZTPp+qfjYKBAd5hOCgErx1+Asw+LlIqEXxOZ3nj6vBBphH1OONEp9QCoVZKRA8w== dependencies: "@angular-devkit/architect" "~0.1100.1" "@angular-devkit/core" "~11.0.1" "@angular-devkit/schematics" "~11.0.1" - "@nrwl/devkit" "11.0.16" + "@nrwl/devkit" "11.0.20" jest-resolve "^26.6.2" rxjs "^6.5.4" strip-json-comments "2.0.1" tslib "^2.0.0" -"@nrwl/linter@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/linter/-/linter-11.0.16.tgz#ddd0658cd4aed4624430be5f5b6684ea17e3868a" - integrity sha512-DcGJv0gLy51/spzP0AqiP9GEX8PQCTFhJ/uGMSFzTxPGPyd1btq9GXt5Nchmyarvy630pZFvT7vmaarxXOAe/Q== +"@nrwl/linter@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/linter/-/linter-11.0.20.tgz#4ece0201a235972507d03830441133192823be00" + integrity sha512-euIIT36EuwIu2baNGK+xB4rXxpluvADtMWbY8iv5hkjdHgK0tvx/rNuHPxrrtiDxGQCAijqrzkR3PggtIJrbeg== dependencies: "@angular-devkit/architect" "~0.1100.1" glob "7.1.4" minimatch "3.0.4" tslib "^2.0.0" -"@nrwl/next@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/next/-/next-11.0.16.tgz#34c9664667421caba4da57a8e949fc2a15a1b7bd" - integrity sha512-xZGSxzhHG0oI1uqpSfpN50B7U3oRnsaF0760ggPt6GB9+37rK8PwiR9AdjwInzmrSyZnujEjTXHSdEN49sgvqQ== +"@nrwl/next@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/next/-/next-11.0.20.tgz#128aca63e0947c7af5e27ac2f4f6237b0e3f27e3" + integrity sha512-BUj8Xfm+4bIbpGkh/fhpwkXViMN2SFFp8Mj2CldGjRxjoxqNpM2pnxU/nZcROrtBMR9jN1MsE6FdGzK3wLJYug== dependencies: "@angular-devkit/core" "~11.0.1" "@angular-devkit/schematics" "~11.0.1" - "@nrwl/react" "11.0.16" - "@nrwl/web" "11.0.16" + "@nrwl/react" "11.0.20" + "@nrwl/web" "11.0.20" "@svgr/webpack" "^5.4.0" chalk "4.1.0" + copy-webpack-plugin "6.0.3" + fs-extra "7.0.1" url-loader "^3.0.0" -"@nrwl/node@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-11.0.16.tgz#9f3872e1a82661db8c6287c6e730b54242f2e579" - integrity sha512-WHZn9dGmTO7o/XsOft6231HJNQQ3X4AOMjSVu/tkrLlg3+LIjNU2QONUwrQiSz6Tgnytprtwk2akPzVg2uMcpA== +"@nrwl/node@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-11.0.20.tgz#a50c08db3a1b3a688e8b423135bed8c743008fca" + integrity sha512-abUYhn+AYXYhW2Is51e1cgwjDX7pU53UT0quAMvYLjemPjle0SMIStD5+ibQip+gJ9lZqpgo8wm307rOQSNO3g== dependencies: "@angular-devkit/architect" "~0.1100.1" "@angular-devkit/build-webpack" "~0.1100.1" "@angular-devkit/core" "~11.0.1" "@angular-devkit/schematics" "~11.0.1" - "@nrwl/devkit" "11.0.16" - "@nrwl/jest" "11.0.16" - "@nrwl/linter" "11.0.16" + "@nrwl/devkit" "11.0.20" + "@nrwl/jest" "11.0.20" + "@nrwl/linter" "11.0.20" circular-dependency-plugin "5.2.0" copy-webpack-plugin "6.0.3" fork-ts-checker-webpack-plugin "^3.1.1" @@ -2564,19 +2804,19 @@ webpack-merge "4.2.1" webpack-node-externals "1.7.2" -"@nrwl/react@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-11.0.16.tgz#c5a33bf315e7fdd76a27717a4d47217de532351e" - integrity sha512-aGHTBC/GnZgK9/o90+9q8ohVAisckIOrR5KhF4NzdLWArLT75nDEOu5TYbPLPUEsfSudoadB/ZEPP58ZtPZHIg== +"@nrwl/react@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-11.0.20.tgz#e4262b3fb4062c62b7bba0a8ca14749a7b31af0d" + integrity sha512-07yQHUEnOaBrq9KHLA2qMGKSLreWLljeAK9/M16eyBcTpkxoRkqFB/kdTcAsNwN6JbxVbnnVQN0GUF9b87tM+w== dependencies: "@angular-devkit/core" "~11.0.1" "@angular-devkit/schematics" "~11.0.1" "@babel/core" "7.9.6" "@babel/preset-react" "7.9.4" - "@nrwl/cypress" "11.0.16" - "@nrwl/devkit" "11.0.16" - "@nrwl/jest" "11.0.16" - "@nrwl/web" "11.0.16" + "@nrwl/cypress" "11.0.20" + "@nrwl/devkit" "11.0.20" + "@nrwl/jest" "11.0.20" + "@nrwl/web" "11.0.20" "@svgr/webpack" "^5.4.0" eslint-plugin-import "^2.20.1" eslint-plugin-jsx-a11y "^6.2.3" @@ -2584,26 +2824,10 @@ eslint-plugin-react-hooks "^2.4.0" url-loader "^3.0.0" -"@nrwl/tao@10.3.1": - version "10.3.1" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-10.3.1.tgz#9f0522da4406ed696f2545f116d01af32b480b4e" - integrity sha512-kXJ/3l4yX7QBrfDTL4PDnQNOGrAnrt17j6xCvAvPdCp5fCHjFQLr5fOTalEt+7CuUQHslH1mOh44g7L8iw/UXw== - dependencies: - "@angular-devkit/architect" "~0.1001.3" - "@angular-devkit/core" "~10.1.3" - "@angular-devkit/schematics" "~10.1.3" - inquirer "^6.3.1" - minimist "^1.2.0" - semver "6.3.0" - strip-json-comments "2.0.1" - tmp "0.0.33" - tslib "^1.9.3" - yargs-parser "20.0.0" - -"@nrwl/tao@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-11.0.16.tgz#dd3d4bd070909b927bf9253cb4da36668d341f61" - integrity sha512-1Y4XWLNOoWfjYHBwYruSFxuyE4ZNvrXBOr/nerTmDgOmAXcVectMyR3ld/Jc1u0rc4iLOQ0ngbwf8thAcTjUeQ== +"@nrwl/tao@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-11.0.20.tgz#dfca062d81bcb1ddff03cfe9f99ba05786cc101d" + integrity sha512-S/jaeenZ0ueQZgz54AGhMtK1Obs6KTwsojfHdB+FiEve2ipBbKKeBZXXfeXlH2priH5ej5FhosCEV1DKqXLlUg== dependencies: "@angular-devkit/architect" "~0.1100.1" "@angular-devkit/core" "~11.0.1" @@ -2619,10 +2843,10 @@ tslib "^2.0.0" yargs-parser "20.0.0" -"@nrwl/web@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-11.0.16.tgz#4b5d2a3fdb4add94375aab29ea28714cf32339c5" - integrity sha512-45u0UkVxpx9yW4eOzdZPAer1jgLr3gmcOsmmy0TvHakWtmvnE6IM6qDCe5HegooKuukb+kNkvJyZ0NIS/VpfIQ== +"@nrwl/web@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-11.0.20.tgz#3a160e48d20dbce2a573884ca640e6f615e335a7" + integrity sha512-XYmF+m+4MRRdtCrpKrplm7NV9iYa3nweLINuLcwKTtFF5fCLwc1avmXdjHfffRnysZ+GWdH6Lv/aTl7ohq6vNQ== dependencies: "@angular-devkit/architect" "~0.1100.1" "@angular-devkit/build-optimizer" "~0.1100.1" @@ -2635,10 +2859,10 @@ "@babel/plugin-transform-regenerator" "7.8.7" "@babel/preset-env" "7.9.6" "@babel/preset-typescript" "7.10.4" - "@nrwl/cypress" "11.0.16" - "@nrwl/devkit" "11.0.16" - "@nrwl/jest" "11.0.16" - "@nrwl/linter" "11.0.16" + "@nrwl/cypress" "11.0.20" + "@nrwl/devkit" "11.0.20" + "@nrwl/jest" "11.0.20" + "@nrwl/linter" "11.0.20" "@rollup/plugin-babel" "5.0.2" "@rollup/plugin-commonjs" "11.0.2" "@rollup/plugin-image" "2.0.4" @@ -2718,16 +2942,16 @@ webpack-subresource-integrity "^1.5.1" worker-plugin "3.2.0" -"@nrwl/workspace@11.0.16": - version "11.0.16" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-11.0.16.tgz#c8cb53385098d0b8399648193ef04f715981526a" - integrity sha512-tcP5FgzRo/JrHN38cawDo+ufFqi9L9D7qnCSuPZe3GMxdhuO4qdc23jwigBCFxTcGzq4GUyrIvJaMymoxwjXkQ== +"@nrwl/workspace@11.0.20": + version "11.0.20" + resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-11.0.20.tgz#d36532e8041f018662e6e3eced17867c775b972f" + integrity sha512-tpT7mgKkLNh2ZCcmseyflcyxAA96/FCZHnPFrl65n79GVdy/ScyZ/cVArTR8QYloICg++41SB+jfEtJiOxMyeA== dependencies: "@angular-devkit/architect" "~0.1100.1" "@angular-devkit/core" "~11.0.1" "@angular-devkit/schematics" "~11.0.1" - "@nrwl/cli" "11.0.16" - "@nrwl/devkit" "11.0.16" + "@nrwl/cli" "11.0.20" + "@nrwl/devkit" "11.0.20" axios "0.19.2" chalk "4.1.0" cosmiconfig "^4.0.0" @@ -2749,6 +2973,13 @@ yargs "15.4.1" yargs-parser "20.0.0" +"@opentelemetry/api@0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.14.0.tgz#4e17d8d2f1da72b19374efa7b6526aa001267cae" + integrity sha512-L7RMuZr5LzMmZiQSQDy9O1jo0q+DaLy6XpYJfIGfYSfoJA5qzYwUP3sP1uMIQ549DvxAgM3ng85EaPTM/hUHwQ== + dependencies: + "@opentelemetry/context-base" "^0.14.0" + "@opentelemetry/api@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.11.0.tgz#e0f6d96b3754306e55fe6154d81ee048c7529fd6" @@ -2761,6 +2992,11 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.11.0.tgz#60bb6daf0800b6a8aa9f48403a84825f3bb0b1d1" integrity sha512-ESRk+572bftles7CVlugAj5Azrz61VO0MO0TS2pE9MLVL/zGmWuUBQryART6/nsrFqo+v9HPt37GPNcECTZR1w== +"@opentelemetry/context-base@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001" + integrity sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw== + "@opentelemetry/core@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-0.11.0.tgz#4f1aacc825fa25bc1b0977a9983713f814e27f98" @@ -2794,6 +3030,341 @@ "@opentelemetry/resources" "^0.11.0" "@opentelemetry/semantic-conventions" "^0.11.0" +"@pixi/accessibility@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/accessibility/-/accessibility-6.0.0-rc.tgz#d1e183802d87ca814acfeb43bb4697cb7958ed80" + integrity sha512-QnL3FF+Tyt2wuGC/iP4FbUtKkXk37FCAHENZY4cH3EdOJusZXuEuM1OJeqGCDkpqciMFUwZgryasfOgTvmZ9mQ== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/app@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/app/-/app-6.0.0-rc.tgz#464afd7207e590325f6874106f14ad22e48406f2" + integrity sha512-em/R5rMEIfdUrr+DPIwd7yPfJXZnqZ3DtCWZCQaMC/vjIDnEvRa4kCoIe2ph6tJ6aNLXVi6kl+tc0lxiVAOQVw== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + +"@pixi/basis@^6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/basis/-/basis-6.0.0-rc.tgz#b7fc4078127f481bb38f77ea70465d605b153a0f" + integrity sha512-hRTOtQIa3TaQb8uQUmIROkKcdR9V1+094DaMM1cQbcgUhM8PAG0d8YAyf27UeNVZ8RlrtJLm+PNnpJju5ROznw== + dependencies: + "@pixi/compressed-textures" "6.0.0-rc" + "@pixi/constants" "6.0.0-rc" + "@pixi/core" "6.0.0-rc" + "@pixi/loaders" "6.0.0-rc" + "@pixi/runner" "6.0.0-rc" + +"@pixi/compressed-textures@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/compressed-textures/-/compressed-textures-6.0.0-rc.tgz#f9f54dec4e8e2ad6c697b1b0feada8a0174c17fe" + integrity sha512-v7MYb0wD9i2Awh8ZvVtiTXfbW2Ec3eD8MGnk26TWlsDm2LMuuu8+odbO7o4qL9le6JnyJumC8QtMIUgy36FbnA== + dependencies: + "@pixi/constants" "6.0.0-rc" + "@pixi/core" "6.0.0-rc" + "@pixi/loaders" "6.0.0-rc" + +"@pixi/constants@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/constants/-/constants-6.0.0-rc.tgz#e631afdd3bff6d5948ba78c7b430a872e27f7e7e" + integrity sha512-3k4Q8ENLnSbPusqfWdhZIniBmRJ2MVDUhFY9xCIK5wYrxcG62y1sMVcK1ecSmrRV60glh7BJTT+k7TJBX/gVVA== + +"@pixi/core@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/core/-/core-6.0.0-rc.tgz#46312b17bb79ae06525ce410979e0143b53172d4" + integrity sha512-aLjerTc649p0f4c2h5sJMMjyTOMZRqSLfa3PooKdSIqaHpqQ9aIv7rXfw1Msm4fykCSEXwGRXjrFiWNBKdYN5Q== + dependencies: + "@pixi/constants" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/runner" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + "@pixi/ticker" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/display@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/display/-/display-6.0.0-rc.tgz#4a78d8304477db3cf29205c7d66a9dc7e3d24bc8" + integrity sha512-yetJE+eUCIGdO70MCrg/wt0CNBUCL6YyywjV1p2TVmzDNihytdIlHb1F3iroZZIrbgwxaJWjXuPonTKz7anLpg== + dependencies: + "@pixi/math" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/extract@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/extract/-/extract-6.0.0-rc.tgz#89138f5dbe993f67da6ca5f20fdfb5e83b17f5de" + integrity sha512-P7684qqJmFHwO4ZVcRXLpRY0skPNDj1KspDS50IlNeQZaPfSy1Dg9BPdayHvpy7SsQbSjgB7J/o8Fw3U+FwIOA== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/filter-alpha@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/filter-alpha/-/filter-alpha-6.0.0-rc.tgz#0e0679132a8afa7a6e121082359638fd439664dd" + integrity sha512-WwmqGmYaZoUqmzxOzgWQtsOVLvNa25nNMrh7hiQQkL3hxKf+B2ckP648RIqMssa6KWKY8owQONwpTlafuH3dHA== + dependencies: + "@pixi/core" "6.0.0-rc" + +"@pixi/filter-blur@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/filter-blur/-/filter-blur-6.0.0-rc.tgz#af4e5506dbbb644430902a8012f6ec085a97aaaf" + integrity sha512-PdLtShg+Vu9uorUW+MnKLQCHGw9B4t5drPkS+xFyBBI/m02vMSrHAquNaVUX7+rL4oBctBeU8azi5b7KrzXOZA== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + +"@pixi/filter-color-matrix@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/filter-color-matrix/-/filter-color-matrix-6.0.0-rc.tgz#6d6af2f902def4c0334dd29da58a9e6e63a7d217" + integrity sha512-MC4LIhWThPua0753c2YeqZhAV+Nf8tUUCeBw6PSxB2IF54mf+q5bMexxvfVWBIo/FujOJxeOt/AXR+5BFkTZjw== + dependencies: + "@pixi/core" "6.0.0-rc" + +"@pixi/filter-displacement@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/filter-displacement/-/filter-displacement-6.0.0-rc.tgz#0a4451708d1165f52a5f16f6565cbe56bea524c0" + integrity sha512-Y7dHhTeN0CkbgpZ5jmkuXjLZn2CMlsqA+Z175HroQdXlqLbR9qz7oDh2lqeELZ+eFhI7SiH3Xg2SA6JUJa/LQg== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + +"@pixi/filter-fxaa@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/filter-fxaa/-/filter-fxaa-6.0.0-rc.tgz#433ec862ae660c4955b63a146a29b6b8f11246ca" + integrity sha512-QBo7n/nddL8e8FyCo2evxYbUW142v3LxUZKX7HQv0iHKJpfNCMQwYLpjmMsDRnqzWO1PsQWABhxQRnex4ZEABQ== + dependencies: + "@pixi/core" "6.0.0-rc" + +"@pixi/filter-noise@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/filter-noise/-/filter-noise-6.0.0-rc.tgz#d3a57c4082227eada595f172f99ca4a4fd1da527" + integrity sha512-7FrwUObMjaMQj35q44U9Y+AiB+mjYxyOEJ4s+11qFTlit+z4Ep8b8ooRi43/nJL1MSYDO19idhbEYs6oth3fvw== + dependencies: + "@pixi/core" "6.0.0-rc" + +"@pixi/graphics@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/graphics/-/graphics-6.0.0-rc.tgz#3bad066cd47f21aacd396d7e6e7e20b1a81818d2" + integrity sha512-5rFCfGLIGstSSDVbM8GaoLk20g/CCwL2+ziaP7M7DWDQvAH61jVqYJTavVzV7IqkDEwVmMiAPN2fdWrVrinCdg== + dependencies: + "@pixi/constants" "6.0.0-rc" + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/sprite" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/interaction@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/interaction/-/interaction-6.0.0-rc.tgz#abe4d94d0e7e2e826c0764bb2274980d8b71deb4" + integrity sha512-3W2r9RLNSZK5yyEp4ZEIArjZ2ZIggT4SPOYaGxtjO8cxe/j5BsFREENZUsQTyH8+cnZvqtorIh8LfhVwkRUZ4A== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/ticker" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/loaders@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/loaders/-/loaders-6.0.0-rc.tgz#d5bc3ed0922e65faf26973a6584f78ca824f47ec" + integrity sha512-qbcipAn2yEtNiLaHlPfLLvVpdhbctnykwR6ksNYAAXfgPz4yEj5Dppx4pVozOHrrxGb6m1kMW4+xCrNpDr7yEA== + dependencies: + "@pixi/constants" "6.0.0-rc" + "@pixi/core" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + resource-loader "^3.0.1" + +"@pixi/math@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/math/-/math-6.0.0-rc.tgz#6c29cfedb87309730d8a5afe18bd4d9a1135f5e2" + integrity sha512-krcpCTpvReoIPGfvQ0poVmqy17OLvzhEXBx06zH5HJDHGTISoD6nEZoR5sgAAwNDAuFL10Ec5iYIgwxPwj4WdA== + +"@pixi/mesh-extras@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/mesh-extras/-/mesh-extras-6.0.0-rc.tgz#3fffb4ba102d33e3442c10d2e078da6923f6238c" + integrity sha512-QQt4rYmIhaO1iwZYPi3ae4QRZHiwi9d5rcBsIOWtRvNUIkEN3zp84CpT9sLoWmaniWh6EazrQwdeUXEsA18UzA== + dependencies: + "@pixi/constants" "6.0.0-rc" + "@pixi/core" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/mesh" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/mesh@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/mesh/-/mesh-6.0.0-rc.tgz#64623104356035608d6a7abdd235d27cd66dda05" + integrity sha512-0RD2ZAMthmHwuA12vZVyLgePmvztjZnMcEMGWCPg/kXnA8DzlX4yMYYlLCV/LPkkN6PbbYW2+1ubpkm8v946Ew== + dependencies: + "@pixi/constants" "6.0.0-rc" + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/mixin-cache-as-bitmap@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-6.0.0-rc.tgz#c754e3874e92ab2371057ea9b19ed808b0a24d6c" + integrity sha512-jDHgvcPNB+5oBlUM6oRopQXfUtHzJxq7xKSkqpTE7LQ8sWAim8O3tsCJCvUoRK8z6yyP/57TQKLJqhENDSjOpw== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + "@pixi/sprite" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/mixin-get-child-by-name@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-6.0.0-rc.tgz#0a9f294b028af37dd9270db10ceda54cf22833e9" + integrity sha512-IRNcUfvnbbZyOGD9p31j1Y/W3mjG4zfPiRGKzP01swovHB9BD9yFAp3t8K/G27tZ1zrbyfOCrsLZ/CeYVigLWg== + dependencies: + "@pixi/display" "6.0.0-rc" + +"@pixi/mixin-get-global-position@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/mixin-get-global-position/-/mixin-get-global-position-6.0.0-rc.tgz#86f4ccc509cd1bad05dd211446dc3ec577be5a94" + integrity sha512-xkRmH8qY/33h7+Qu0REFmVEiyabL2kMozarnv4763w6mM3eveaPAcA7sRzg7tZ0Tuqu+TpU3liuRt8icOCdt8w== + dependencies: + "@pixi/display" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + +"@pixi/particles@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/particles/-/particles-6.0.0-rc.tgz#a1b900122bc991f710db1f1225897967cfb585ac" + integrity sha512-CaY+y/eihZPCf4mPg8UALfwr0Kpmwtf6YVODDCBqgvCJcx97VsLYvueHd7B9sDPEo2bfNc2emlmWjsy+yYShZw== + dependencies: + "@pixi/constants" "6.0.0-rc" + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/polyfill@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/polyfill/-/polyfill-6.0.0-rc.tgz#ef96bafed2e7933c08aa820f9294675ce9b07999" + integrity sha512-i+hSqyS4WkOBfpgofXby5I2qXmn1FHF31ecasEdyqL3w5JTOKAFPBzLek3msikGfoyDSFiAlIUd9roqJGOKUYA== + dependencies: + object-assign "^4.1.1" + promise-polyfill "^8.2.0" + +"@pixi/prepare@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/prepare/-/prepare-6.0.0-rc.tgz#cc15f2186f9b275615dac42d675f51a2ad1621fb" + integrity sha512-yvM2cOGOY6/8WB516tV2TXunMGnKcH2gqWoIdrcByN+eK/dVhUzfUXGU0Zpbza3BZTPUpXpZmC9w46OBfWfyYg== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/graphics" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + "@pixi/text" "6.0.0-rc" + "@pixi/ticker" "6.0.0-rc" + +"@pixi/runner@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/runner/-/runner-6.0.0-rc.tgz#f10a07fcff5d8c84a33f51924c119fcfd959c5bf" + integrity sha512-oYLI0H0jY5py7fMBa6VcG6vr4OJ4vcKL6zy0dtYdpEt27PeMax5vboB5utWJTzFHhZEd4JjckU8P/KPhzESOZQ== + +"@pixi/settings@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/settings/-/settings-6.0.0-rc.tgz#3b4433a5d52db3f9650a5a91d5c26cf8ea07d469" + integrity sha512-H2KOLSB+W8qpoiNWQ2u4urFev1du/Rc7twDRAEhKML8nn5lnMAf04N2DpyIiUgcv+aL7go7AMvln/CdNmVb5cQ== + dependencies: + ismobilejs "^1.1.0" + +"@pixi/sprite-animated@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/sprite-animated/-/sprite-animated-6.0.0-rc.tgz#d21b4b18dcf716547ef16d896cade168bf1cc695" + integrity sha512-sVgM7lYn6pPDB7S4XGRfzBO+GeMsmczJtUxUkjg4hGvL3aBaAq+WfZKGIsOPz/VueASEht16+LdFbcpMQil0Zg== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/sprite" "6.0.0-rc" + "@pixi/ticker" "6.0.0-rc" + +"@pixi/sprite-tiling@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/sprite-tiling/-/sprite-tiling-6.0.0-rc.tgz#e1e7ef14b98af669d311253c1fd265d97abd49f3" + integrity sha512-rlxXLwUlvPTabfKC32sCQ+xSOl1dqKNsy5GXF0FtKb5MotIWa1N70dQzdMix8Fcp3mUMuqstgyPu8Umd2DKbDw== + dependencies: + "@pixi/constants" "6.0.0-rc" + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/sprite" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/sprite@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/sprite/-/sprite-6.0.0-rc.tgz#42b1b6073ca8c52f8b3d1acb20609d020b9c30c8" + integrity sha512-+pC+5/+5p4TqOg1W+qAXep5X4zKT2vsM8eqiWCEIP4YTJG9jxYtKUqCBICmq/6irBuesaCcz6hPg4qz24a8B3A== + dependencies: + "@pixi/constants" "6.0.0-rc" + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/spritesheet@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/spritesheet/-/spritesheet-6.0.0-rc.tgz#89ad9e19c85b5fd9163a208d9dc298c0bed54275" + integrity sha512-GaqbYsJda940QRorWsVgSNar/P0yQ/HtLwdQMIUZJknOA/9EG9maN0/Fbfr9BWORId59xr5mTB0BB9pM2FbItA== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/loaders" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/text-bitmap@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/text-bitmap/-/text-bitmap-6.0.0-rc.tgz#d77c33f1137050921be61cad86798207cf17777f" + integrity sha512-gARTclSk34VNvOehg9RXcRSqq5gCRND/ly2ehIaCeDMJXZvl9tmgsKr4rx3/DyHYt9yg+W9ti1La/ovv7Et6ew== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/loaders" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/mesh" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + "@pixi/text" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/text@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/text/-/text-6.0.0-rc.tgz#9da493b6dfb48726630ca6819e83f97aa46cf957" + integrity sha512-AwUJLkXkoN6ncHx1nyU8yV4TLqj4Xr7z+gEDXJ75Fbn4noo01om5rCKmtEkUoqiqwtzmX6zHeMc+KOp1fBIAOQ== + dependencies: + "@pixi/core" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + "@pixi/sprite" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + +"@pixi/ticker@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/ticker/-/ticker-6.0.0-rc.tgz#4b7d5b60fcf1f92a3965da5338f7a2fc27c6fa4c" + integrity sha512-t1Yc8TYpGFgMZC0D7y1APnEYgNiVHbppXa4hftDRGbQ3tJzNhJRG3dMP4dbdr9w+/uPogIT3o/ezGVSRtHlM+A== + dependencies: + "@pixi/settings" "6.0.0-rc" + +"@pixi/utils@6.0.0-rc": + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/@pixi/utils/-/utils-6.0.0-rc.tgz#13fac1f1d4c3c0da22580da6bdc7fbebca3b9280" + integrity sha512-QPagDgToe3nA0k7GLF86KL74G5iKFU0ggi5QtLY34Y36CdA5GteTdlgs3WqUECnOnOw6sUlFXxb4VYTaFKZ8Fw== + dependencies: + "@pixi/constants" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + "@types/earcut" "^2.1.0" + "@types/node" "^12.0.0" + earcut "^2.2.2" + eventemitter3 "^3.1.0" + url "^0.11.0" + "@popperjs/core@2.4.4": version "2.4.4" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.4.4.tgz#11d5db19bd178936ec89cd84519c4de439574398" @@ -2961,18 +3532,6 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@sqltools/formatter@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@sqltools/formatter/-/formatter-1.2.2.tgz#9390a8127c0dcba61ebd7fdcc748655e191bdd68" - integrity sha512-/5O7Fq6Vnv8L6ucmPjaWbVG1XkP4FO+w5glqfkIsq3Xw4oyNAdJddbnYodNDAfjVUvo/rrSCTom4kAND7T1o5Q== - -"@styled-system/core@5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/core/-/core-5.1.2.tgz#b8b7b86455d5a0514f071c4fa8e434b987f6a772" - integrity sha512-XclBDdNIy7OPOsN4HBsawG2eiWfCcuFt6gxKn1x4QfMIgeO6TOlA2pZZ5GWZtIhCUqEPTgIBta6JXsGyCkLBYw== - dependencies: - object-assign "^4.1.1" - "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" @@ -3076,27 +3635,27 @@ "@svgr/plugin-svgo" "^5.4.0" loader-utils "^2.0.0" -"@testing-library/dom@^7.17.1": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.26.0.tgz#da4d052dc426a4ccc916303369c6e7552126f680" - integrity sha512-fyKFrBbS1IigaE3FV21LyeC7kSGF84lqTlSYdKmGaHuK2eYQ/bXVPM5vAa2wx/AU1iPD6oQHsxy2QQ17q9AMCg== +"@testing-library/dom@^7.28.1": + version "7.29.2" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.29.2.tgz#6cba65d961d8b36d621a98caa8537444075fb42e" + integrity sha512-CBMELfyY1jKdtLcSRmEnZWRzRkCRVSNPTzhzrn8wY8OnzUo7Pe/W+HgLzt4TDnWIPYeusHBodf9wUjJF48kPmA== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.10.3" + "@babel/runtime" "^7.12.5" "@types/aria-query" "^4.2.0" aria-query "^4.2.2" chalk "^4.1.0" - dom-accessibility-api "^0.5.1" + dom-accessibility-api "^0.5.4" lz-string "^1.4.4" - pretty-format "^26.4.2" + pretty-format "^26.6.2" -"@testing-library/react@10.4.1": - version "10.4.1" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-10.4.1.tgz#d38dee4abab172c06f6cf8894c51190e6c503f61" - integrity sha512-QX31fRDGLnOdBYoQ95VEOYgRahaPfsI+toOaYhlvuGNFQrcagZv/KLWCIctRGB0h1PTsQt3JpLBbbLGM63yy5Q== +"@testing-library/react@11.2.2": + version "11.2.2" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-11.2.2.tgz#099c6c195140ff069211143cb31c0f8337bdb7b7" + integrity sha512-jaxm0hwUjv+hzC+UFEywic7buDC9JQ1q3cDsrWVSDAPmLotfA6E6kUHlYm/zOeGCac6g48DR36tFHxl7Zb+N5A== dependencies: - "@babel/runtime" "^7.10.3" - "@testing-library/dom" "^7.17.1" + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^7.28.1" "@tootallnate/once@1": version "1.1.2" @@ -3155,6 +3714,11 @@ dependencies: "@types/node" "*" +"@types/earcut@^2.1.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@types/earcut/-/earcut-2.1.1.tgz#573a0af609f17005c751f6f4ffec49cfe358ea51" + integrity sha512-w8oigUCDjElRHRRrMvn/spybSMyX8MTkKA5Dv+tS1IE/TgmNZPqUYtvYBXGY8cieSE66gm+szeK+bnbxC2xHTQ== + "@types/estree@*": version "0.0.45" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" @@ -3214,13 +3778,13 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.0.8": - version "26.0.8" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.8.tgz#f5c5559cf25911ce227f7ce30f1f160f24966369" - integrity sha512-eo3VX9jGASSuv680D4VQ89UmuLZneNxv2MCZjfwlInav05zXVJTzfc//lavdV0GPwSxsXJTy2jALscB7Acqg0g== +"@types/jest@26.0.20": + version "26.0.20" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307" + integrity sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA== dependencies: - jest-diff "^25.2.1" - pretty-format "^25.2.1" + jest-diff "^26.0.0" + pretty-format "^26.0.0" "@types/jest@26.x": version "26.0.14" @@ -3279,6 +3843,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.14.tgz#f7fd5f3cc8521301119f63910f0fb965c7d761ae" integrity sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ== +"@types/node@^12.0.0": + version "12.19.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.12.tgz#04793c2afa4ce833a9972e4c476432e30f9df47b" + integrity sha512-UwfL2uIU9arX/+/PRcIkT08/iBadGN2z6ExOROA2Dh5mAuWTBj6iJbQX4nekiV5H8cTrEG569LeX+HRco9Cbxw== + "@types/node@^12.12.47": version "12.12.68" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.68.tgz#dd5acf4a52a458ff1d9ef4fd66406fba0afbbb33" @@ -3324,10 +3893,10 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== -"@types/puppeteer@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-3.0.2.tgz#20085220593b560c7332b6d46aecaf81ae263540" - integrity sha512-JRuHPSbHZBadOxxFwpyZPeRlpPTTeMbQneMdpFd8LXdyNfFSiX950CGewdm69g/ipzEAXAmMyFF1WOWJOL/nKw== +"@types/puppeteer@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-5.4.2.tgz#80f3a1f54dedbbf750779716de81401549062072" + integrity sha512-yjbHoKjZFOGqA6bIEI2dfBE5UPqU0YGWzP+ipDVP1iGzmlhksVKTBVZfT3Aj3wnvmcJ2PQ9zcncwOwyavmafBw== dependencies: "@types/node" "*" @@ -3336,10 +3905,10 @@ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== -"@types/react-dom@16.9.8": - version "16.9.8" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.8.tgz#fe4c1e11dfc67155733dfa6aa65108b4971cb423" - integrity sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA== +"@types/react-dom@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.0.tgz#b3b691eb956c4b3401777ee67b900cb28415d95a" + integrity sha512-lUqY7OlkF/RbNtD5nIq7ot8NquXrdFrjSOR6+w9a9RFQevGi1oZO1dcJbXMeONAPKtZ2UrZOEJ5UOCVsxbLk/g== dependencies: "@types/react" "*" @@ -3351,10 +3920,10 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@16.9.53": - version "16.9.53" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.53.tgz#40cd4f8b8d6b9528aedd1fff8fcffe7a112a3d23" - integrity sha512-4nW60Sd4L7+WMXH1D6jCdVftuW7j4Za6zdp6tJ33Rqv0nk1ZAmQKML9ZLD4H0dehA3FZxXR/GM8gXplf82oNGw== +"@types/react@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.0.tgz#5af3eb7fad2807092f0046a1302b7823e27919b8" + integrity sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw== dependencies: "@types/prop-types" "*" csstype "^3.0.2" @@ -3366,14 +3935,19 @@ dependencies: "@types/node" "*" -"@types/sharp@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.26.0.tgz#2fa8419dbdaca8dd38f73888b27b207f188a8669" - integrity sha512-oJrR8eiwpL7qykn2IeFRduXM4za7z+7yOUEbKVtuDQ/F6htDLHYO6IbzhaJQHV5n6O3adIh4tJvtgPyLyyydqg== +"@types/sharp@0.27.1": + version "0.27.1" + resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.27.1.tgz#26212ceb191b3de654a898a06577869afc200c57" + integrity sha512-RbYmyPjDUzi3lI9Qm68I+82I+DNOe/jW5w+EC1FvpT/f2TYXDG6mmPZQQohy98ufq+u6OB6pQkqpcNMDxzVclg== dependencies: "@types/node" "*" -"@types/sizzle@2.3.2": +"@types/sinonjs__fake-timers@^6.0.1": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz#3a84cf5ec3249439015e14049bd3161419bf9eae" + integrity sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg== + +"@types/sizzle@^2.3.2": version "2.3.2" resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== @@ -3412,10 +3986,10 @@ "@types/source-list-map" "*" source-map "^0.6.1" -"@types/ws@7.2.7": - version "7.2.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.2.7.tgz#362ad1a1d62721bdb725e72c8cccf357078cf5a3" - integrity sha512-UUFC/xxqFLP17hTva8/lVT0SybLUrfSD9c+iapKb0fEiC8uoDbA+xuZ3pAN603eW+bY8ebSMLm9jXdIPnD0ZgA== +"@types/ws@7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.0.tgz#499690ea08736e05a8186113dac37769ab251a0e" + integrity sha512-Y29uQ3Uy+58bZrFLhX36hcI3Np37nqWE7ky5tjiDoy1GDZnIwVxS0CgF+s+1bXMzjKBFy+fqaRfb708iNzdinw== dependencies: "@types/node" "*" @@ -3438,28 +4012,28 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.3.0.tgz#1a23d904bf8ea248d09dc3761af530d90f39c8fa" - integrity sha512-RqEcaHuEKnn3oPFislZ6TNzsBLqpZjN93G69SS+laav/I8w/iGMuMq97P0D2/2/kW4SCebHggqhbcCfbDaaX+g== +"@typescript-eslint/eslint-plugin@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.12.0.tgz#00d1b23b40b58031e6d7c04a5bc6c1a30a2e834a" + integrity sha512-wHKj6q8s70sO5i39H2g1gtpCXCvjVszzj6FFygneNFyIAxRvNSVz9GML7XpqrB9t7hNutXw+MHnLN/Ih6uyB8Q== dependencies: - "@typescript-eslint/experimental-utils" "4.3.0" - "@typescript-eslint/scope-manager" "4.3.0" + "@typescript-eslint/experimental-utils" "4.12.0" + "@typescript-eslint/scope-manager" "4.12.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.3.0.tgz#3f3c6c508e01b8050d51b016e7f7da0e3aefcb87" - integrity sha512-cmmIK8shn3mxmhpKfzMMywqiEheyfXLV/+yPDnOTvQX/ztngx7Lg/OD26J8gTZfkLKUmaEBxO2jYP3keV7h2OQ== +"@typescript-eslint/experimental-utils@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.12.0.tgz#372838e76db76c9a56959217b768a19f7129546b" + integrity sha512-MpXZXUAvHt99c9ScXijx7i061o5HEjXltO+sbYfZAAHxv3XankQkPaNi5myy0Yh0Tyea3Hdq1pi7Vsh0GJb0fA== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.3.0" - "@typescript-eslint/types" "4.3.0" - "@typescript-eslint/typescript-estree" "4.3.0" + "@typescript-eslint/scope-manager" "4.12.0" + "@typescript-eslint/types" "4.12.0" + "@typescript-eslint/typescript-estree" "4.12.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" @@ -3475,23 +4049,23 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.3.0.tgz#684fc0be6551a2bfcb253991eec3c786a8c063a3" - integrity sha512-JyfRnd72qRuUwItDZ00JNowsSlpQGeKfl9jxwO0FHK1qQ7FbYdoy5S7P+5wh1ISkT2QyAvr2pc9dAemDxzt75g== +"@typescript-eslint/parser@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.12.0.tgz#e1cf30436e4f916c31fcc962158917bd9e9d460a" + integrity sha512-9XxVADAo9vlfjfoxnjboBTxYOiNY93/QuvcPgsiKvHxW6tOZx1W4TvkIQ2jB3k5M0pbFP5FlXihLK49TjZXhuQ== dependencies: - "@typescript-eslint/scope-manager" "4.3.0" - "@typescript-eslint/types" "4.3.0" - "@typescript-eslint/typescript-estree" "4.3.0" + "@typescript-eslint/scope-manager" "4.12.0" + "@typescript-eslint/types" "4.12.0" + "@typescript-eslint/typescript-estree" "4.12.0" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.3.0.tgz#c743227e087545968080d2362cfb1273842cb6a7" - integrity sha512-cTeyP5SCNE8QBRfc+Lgh4Xpzje46kNUhXYfc3pQWmJif92sjrFuHT9hH4rtOkDTo/si9Klw53yIr+djqGZS1ig== +"@typescript-eslint/scope-manager@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.12.0.tgz#beeb8beca895a07b10c593185a5612f1085ef279" + integrity sha512-QVf9oCSVLte/8jvOsxmgBdOaoe2J0wtEmBr13Yz0rkBNkl5D8bfnf6G4Vhox9qqMIoG7QQoVwd2eG9DM/ge4Qg== dependencies: - "@typescript-eslint/types" "4.3.0" - "@typescript-eslint/visitor-keys" "4.3.0" + "@typescript-eslint/types" "4.12.0" + "@typescript-eslint/visitor-keys" "4.12.0" "@typescript-eslint/scope-manager@4.4.1": version "4.4.1" @@ -3501,23 +4075,23 @@ "@typescript-eslint/types" "4.4.1" "@typescript-eslint/visitor-keys" "4.4.1" -"@typescript-eslint/types@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.3.0.tgz#1f0b2d5e140543e2614f06d48fb3ae95193c6ddf" - integrity sha512-Cx9TpRvlRjOppGsU6Y6KcJnUDOelja2NNCX6AZwtVHRzaJkdytJWMuYiqi8mS35MRNA3cJSwDzXePfmhU6TANw== +"@typescript-eslint/types@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.12.0.tgz#fb891fe7ccc9ea8b2bbd2780e36da45d0dc055e5" + integrity sha512-N2RhGeheVLGtyy+CxRmxdsniB7sMSCfsnbh8K/+RUIXYYq3Ub5+sukRCjVE80QerrUBvuEvs4fDhz5AW/pcL6g== "@typescript-eslint/types@4.4.1": version "4.4.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.4.1.tgz#c507b35cf523bc7ba00aae5f75ee9b810cdabbc1" integrity sha512-KNDfH2bCyax5db+KKIZT4rfA8rEk5N0EJ8P0T5AJjo5xrV26UAzaiqoJCxeaibqc0c/IvZxp7v2g3difn2Pn3w== -"@typescript-eslint/typescript-estree@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.3.0.tgz#0edc1068e6b2e4c7fdc54d61e329fce76241cee8" - integrity sha512-ZAI7xjkl+oFdLV/COEz2tAbQbR3XfgqHEGy0rlUXzfGQic6EBCR4s2+WS3cmTPG69aaZckEucBoTxW9PhzHxxw== +"@typescript-eslint/typescript-estree@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.12.0.tgz#3963418c850f564bdab3882ae23795d115d6d32e" + integrity sha512-gZkFcmmp/CnzqD2RKMich2/FjBTsYopjiwJCroxqHZIY11IIoN0l5lKqcgoAPKHt33H2mAkSfvzj8i44Jm7F4w== dependencies: - "@typescript-eslint/types" "4.3.0" - "@typescript-eslint/visitor-keys" "4.3.0" + "@typescript-eslint/types" "4.12.0" + "@typescript-eslint/visitor-keys" "4.12.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -3539,12 +4113,12 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.3.0.tgz#0e5ab0a09552903edeae205982e8521e17635ae0" - integrity sha512-xZxkuR7XLM6RhvLkgv9yYlTcBHnTULzfnw4i6+z2TGBLy9yljAypQaZl9c3zFvy7PNI7fYWyvKYtohyF8au3cw== +"@typescript-eslint/visitor-keys@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.12.0.tgz#a470a79be6958075fa91c725371a83baf428a67a" + integrity sha512-hVpsLARbDh4B9TKYz5cLbcdMIOAoBYgFPCSP9FFS/liSF+b33gVNq8JHY3QGhHNVz85hObvL7BEYLlgx553WCw== dependencies: - "@typescript-eslint/types" "4.3.0" + "@typescript-eslint/types" "4.12.0" eslint-visitor-keys "^2.0.0" "@typescript-eslint/visitor-keys@4.4.1": @@ -3889,7 +4463,7 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" -acorn-jsx@^5.2.0: +acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== @@ -3966,17 +4540,7 @@ ajv@6.10.2: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@6.12.4: - version "6.12.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" - integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@6.12.6, ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ajv@6.12.6, ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3986,13 +4550,15 @@ ajv@6.12.6, ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@ json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ally.js@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/ally.js/-/ally.js-1.4.1.tgz#9fb7e6ba58efac4ee9131cb29aa9ee3b540bcf1e" - integrity sha1-n7fmuljvrE7pExyymqnuO1QLzx4= +ajv@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.0.3.tgz#13ae747eff125cafb230ac504b2406cf371eece2" + integrity sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ== dependencies: - css.escape "^1.5.0" - platform "1.3.3" + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" alphanum-sort@^1.0.0: version "1.0.2" @@ -4087,7 +4653,7 @@ any-observable@^0.3.0: resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== -any-promise@^1.0.0: +any-promise@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= @@ -4108,20 +4674,15 @@ anymatch@^3.0.3, anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -app-root-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad" - integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw== - aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -arch@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.1.tgz#8f5c2731aa35a30929221bb0640eed65175ec84e" - integrity sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg== +arch@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== are-we-there-yet@~1.1.2: version "1.1.5" @@ -4188,6 +4749,11 @@ array-flatten@^2.1.0: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== +array-flatten@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-3.0.0.tgz#6428ca2ee52c7b823192ec600fa3ed2f157cd541" + integrity sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA== + array-includes@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" @@ -4197,6 +4763,17 @@ array-includes@^3.1.1: es-abstract "^1.17.0" is-string "^1.0.5" +array-includes@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8" + integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + get-intrinsic "^1.0.1" + is-string "^1.0.5" + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -4291,10 +4868,10 @@ ast-types@0.13.2: resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48" integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA== -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== async-each@^1.0.1: version "1.0.3" @@ -4318,7 +4895,7 @@ async@^2.5.0, async@^2.6.2: dependencies: lodash "^4.17.14" -async@^3.1.0: +async@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== @@ -4328,6 +4905,11 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -4361,6 +4943,11 @@ axe-core@^3.5.4: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.5.5.tgz#84315073b53fa3c0c51676c588d59da09a192227" integrity sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q== +axe-core@^4.0.2: + version "4.1.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.1.tgz#70a7855888e287f7add66002211a423937063eaf" + integrity sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ== + axios@0.19.2: version "0.19.2" resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" @@ -4368,7 +4955,7 @@ axios@0.19.2: dependencies: follow-redirects "1.5.10" -axobject-query@^2.1.2: +axobject-query@^2.1.2, axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== @@ -4382,30 +4969,16 @@ babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-jest@26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.2.2.tgz#70f618f2d7016ed71b232241199308985462f812" - integrity sha512-JmLuePHgA+DSOdOL8lPxCgD2LhPPm+rdw1vnxR73PpIrnmKCS2/aBhtkAcxQWuUcW2hBrH8MJ3LKXE7aWpNZyA== +babel-jest@26.6.3, babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== dependencies: - "@jest/transform" "^26.2.2" - "@jest/types" "^26.2.0" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" "@types/babel__core" "^7.1.7" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.2.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-jest@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.5.2.tgz#164f367a35946c6cf54eaccde8762dec50422250" - integrity sha512-U3KvymF3SczA3vOL/cgiUFOznfMET+XDIXiWnoJV45siAp2pLMG8i2+/MGZlAC3f/F6Q40LR4M4qDrWZ9wkK8A== - dependencies: - "@jest/transform" "^26.5.2" - "@jest/types" "^26.5.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.5.0" + babel-preset-jest "^26.6.2" chalk "^4.0.0" graceful-fs "^4.2.4" slash "^3.0.0" @@ -4447,10 +5020,10 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^26.5.0: - version "26.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.5.0.tgz#3916b3a28129c29528de91e5784a44680db46385" - integrity sha512-ck17uZFD3CDfuwCLATWZxkkuGGFhMij8quP8CNhwj8ek1mqFgbFzRJ30xwC04LLscj/aKsVFfRST+b5PT7rSuw== +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -4489,10 +5062,10 @@ babel-plugin-transform-react-remove-prop-types@0.4.24: resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== -babel-preset-current-node-syntax@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" - integrity sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w== +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -4505,14 +5078,20 @@ babel-preset-current-node-syntax@^0.1.3: "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^26.2.0, babel-preset-jest@^26.5.0: - version "26.5.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.5.0.tgz#f1b166045cd21437d1188d29f7fba470d5bdb0e7" - integrity sha512-F2vTluljhqkiGSJGBg/jOruA8vIIIL11YrxRcO7nviNTMbbofPSHwnm8mgP7d/wS7wRSexRoI6X1A6T74d4LQA== +babel-preset-jest@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== dependencies: - babel-plugin-jest-hoist "^26.5.0" - babel-preset-current-node-syntax "^0.1.3" + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +babylon@^7.0.0-beta.39: + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80" + integrity sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ== bail@^1.0.0: version "1.0.5" @@ -4600,12 +5179,17 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" +blob-util@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" + integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== + bluebird@3.7.1: version "3.7.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== -bluebird@3.7.2, bluebird@^3.5.5: +bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -4796,6 +5380,17 @@ browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.12.0, browserslist@^4 escalade "^3.1.0" node-releases "^1.1.61" +browserslist@^4.14.5, browserslist@^4.16.0: + version "4.16.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.1.tgz#bf757a2da376b3447b800a16f0f1c96358138766" + integrity sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA== + dependencies: + caniuse-lite "^1.0.30001173" + colorette "^1.2.1" + electron-to-chromium "^1.3.634" + escalade "^3.1.1" + node-releases "^1.1.69" + browserslist@^4.14.6: version "4.16.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.0.tgz#410277627500be3cb28a1bfe037586fbedf9488b" @@ -4831,7 +5426,7 @@ buffer-equal-constant-time@1.0.1: resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= -buffer-from@1.x, buffer-from@^1.0.0, buffer-from@^1.1.1: +buffer-from@1.x, buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== @@ -5007,11 +5602,19 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -cachedir@2.3.0: +cachedir@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== +call-bind@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" + integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.0" + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -5071,6 +5674,11 @@ caniuse-lite@^1.0.30001154, caniuse-lite@^1.0.30001165: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz#0088bfecc6a14694969e391cc29d7eb6362ca6a7" integrity sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA== +caniuse-lite@^1.0.30001173: + version "1.0.30001173" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz#3c47bbe3cd6d7a9eda7f50ac016d158005569f56" + integrity sha512-R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -5113,7 +5721,7 @@ chalk@4.1.0, chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.0.0, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= @@ -5157,12 +5765,12 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -check-more-types@2.24.0: +check-more-types@^2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= -chokidar@3.4.3, "chokidar@>=2.0.0 <4.0.0", chokidar@^3.3.0, chokidar@^3.4.1: +chokidar@3.4.3, "chokidar@>=2.0.0 <4.0.0", chokidar@^3.3.0: version "3.4.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== @@ -5196,6 +5804,21 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" +chokidar@^3.4.1: + version "3.5.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.0.tgz#458a4816a415e9d3b3caa4faec2b96a6935a9e65" + integrity sha512-JgQM9JS92ZbFR4P90EvmzNpSGhpPBGBSj10PILeDyYFwp4h2/D9OM03wsJ4zW1fEp4ka2DGrnUeD7FuvQ2aZ2Q== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" + chownr@^1.1.1, chownr@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -5231,6 +5854,11 @@ circular-dependency-plugin@5.2.0: resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz#e09dbc2dd3e2928442403e2d45b41cea06bc0a93" integrity sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw== +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -5284,23 +5912,21 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-highlight@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.4.tgz#098cb642cf17f42adc1c1145e07f960ec4d7522b" - integrity sha512-s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ== - dependencies: - chalk "^3.0.0" - highlight.js "^9.6.0" - mz "^2.4.0" - parse5 "^5.1.1" - parse5-htmlparser2-tree-adapter "^5.1.1" - yargs "^15.0.0" - cli-spinners@^2.4.0: version "2.5.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047" integrity sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ== +cli-table3@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.0.tgz#b7b1bc65ca8e7b5cef9124e13dc2b21e2ce4faee" + integrity sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ== + dependencies: + object-assign "^4.1.0" + string-width "^4.2.0" + optionalDependencies: + colors "^1.1.2" + cli-truncate@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" @@ -5332,15 +5958,6 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" -cliui@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.3.tgz#ef180f26c8d9bff3927ee52428bfec2090427981" - integrity sha512-Gj3QHTkVMPKqwP3f7B4KPkBZRMR9r4rfi5bXFpg1a+Svvj8l7q5CnkBkVQzfxT5DFSsGk2+PascOgL0JYkL2kw== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - clone-deep@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" @@ -5435,7 +6052,7 @@ color-string@^1.5.4: color-name "^1.0.0" simple-swizzle "^0.2.2" -color@^3.0.0, color@^3.1.2: +color@^3.0.0, color@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== @@ -5448,7 +6065,7 @@ colorette@^1.1.0, colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== -colors@^1.4.0: +colors@^1.1.2, colors@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== @@ -5460,17 +6077,17 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.0.tgz#545983a0603fe425bc672d66c9e3c89c42121a83" - integrity sha512-NIQrwvv9V39FHgGFm36+U9SMQzbiHvU79k+iADraJTpmrFFfx7Ds0IvDoAdZsDrknlkRk14OYoWXb57uTh7/sw== - commander@^2.12.1, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -common-tags@1.8.0: +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== @@ -5522,7 +6139,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@1.6.2, concat-stream@^1.5.0: +concat-stream@^1.5.0, concat-stream@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -5674,6 +6291,14 @@ core-js-compat@^3.6.2: browserslist "^4.8.5" semver "7.0.0" +core-js-compat@^3.8.0: + version "3.8.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.2.tgz#3717f51f6c3d2ebba8cbf27619b57160029d1d4c" + integrity sha512-LO8uL9lOIyRRrQmZxHZFl1RV+ZbcsAkFWTktn5SmH40WgLtSNYN4m4W2v9ONT147PxBY/XrRhrWq8TlvObyUjQ== + dependencies: + browserslist "^4.16.0" + semver "7.0.0" + core-js-pure@^3.0.0: version "3.6.5" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" @@ -5761,13 +6386,6 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-fetch@3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.5.tgz#2739d2981892e7ab488a7ad03b92df2816e03f4c" - integrity sha512-FFLcLtraisj5eteosnX1gf01qYDCOc4fDy0+euOt8Kn9YBY2NtXL/pCoYPavw24NIQkQqm5ZOLsGD5Zzj0gyew== - dependencies: - node-fetch "2.6.0" - cross-fetch@3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.6.tgz#3a4040bc8941e653e0e9cf17f29ebcd177d3365c" @@ -5939,7 +6557,7 @@ css-what@^3.2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== -css.escape@^1.5.0: +css.escape@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= @@ -5995,14 +6613,6 @@ cssnano-preset-default@^4.0.7: postcss-svgo "^4.0.2" postcss-unique-selectors "^4.0.1" -cssnano-preset-simple@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-1.2.0.tgz#afcf13eb076e8ebd91c4f311cd449781c14c7371" - integrity sha512-zojGlY+KasFeQT/SnD/WqYXHcKddz2XHRDtIwxrWpGqGHp5IyLWsWFS3UW7pOf3AWvfkpYSRdxOSlYuJPz8j8g== - dependencies: - caniuse-lite "^1.0.30001093" - postcss "^7.0.32" - cssnano-preset-simple@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-1.2.1.tgz#8976013114b1fc4718253d30f21aaed1780fb80e" @@ -6011,14 +6621,6 @@ cssnano-preset-simple@1.2.1: caniuse-lite "^1.0.30001093" postcss "^7.0.32" -cssnano-simple@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-1.2.0.tgz#b8cc5f52c2a52e6513b4636d0da165ec9d48d327" - integrity sha512-pton9cZ70/wOCWMAbEGHO1ACsW1KggTB6Ikj7k71uOEsz6SfByH++86+WAmXjRSc9q/g9gxkpFP9bDX9vRotdA== - dependencies: - cssnano-preset-simple "1.2.0" - postcss "^7.0.32" - cssnano-simple@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-1.2.1.tgz#6de5d9dd75774bc8f31767573410a952c7dd8a12" @@ -6093,46 +6695,49 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= -cypress@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-4.1.0.tgz#295f115d2e8a08fff2760ab49d94d876f5877aee" - integrity sha512-FFV8pS9iuriSX4M9rna6awJUhiqozZD1D5z5BprCUJoho1ctbcgpkEUIUnqxli2OwjQqVz07egO+iqoGL+tw7g== +cypress@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-6.2.1.tgz#27d5fbcf008c698c390fdb0c03441804176d06c4" + integrity sha512-OYkSgzA4J4Q7eMjZvNf5qWpBLR4RXrkqjL3UZ1UzGGLAskO0nFTi/RomNTG6TKvL3Zp4tw4zFY1gp5MtmkCZrA== dependencies: - "@cypress/listr-verbose-renderer" "0.4.1" - "@cypress/xvfb" "1.2.4" - "@types/sizzle" "2.3.2" - arch "2.1.1" - bluebird "3.7.2" - cachedir "2.3.0" - chalk "2.4.2" - check-more-types "2.24.0" - commander "4.1.0" - common-tags "1.8.0" - debug "4.1.1" - eventemitter2 "4.1.2" - execa "1.0.0" - executable "4.1.1" - extract-zip "1.6.7" - fs-extra "8.1.0" - getos "3.1.4" - is-ci "2.0.0" - is-installed-globally "0.1.0" - lazy-ass "1.6.0" - listr "0.14.3" - lodash "4.17.15" - log-symbols "3.0.0" - minimist "1.2.0" - moment "2.24.0" - ospath "1.2.2" - pretty-bytes "5.3.0" - ramda "0.26.1" - request "2.88.0" - request-progress "3.0.0" - supports-color "7.1.0" - tmp "0.1.0" - untildify "4.0.0" - url "0.11.0" - yauzl "2.10.0" + "@cypress/listr-verbose-renderer" "^0.4.1" + "@cypress/request" "^2.88.5" + "@cypress/xvfb" "^1.2.4" + "@types/sinonjs__fake-timers" "^6.0.1" + "@types/sizzle" "^2.3.2" + arch "^2.1.2" + blob-util "2.0.2" + bluebird "^3.7.2" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + cli-table3 "~0.6.0" + commander "^5.1.0" + common-tags "^1.8.0" + debug "^4.1.1" + eventemitter2 "^6.4.2" + execa "^4.0.2" + executable "^4.1.1" + extract-zip "^1.7.0" + fs-extra "^9.0.1" + getos "^3.2.1" + is-ci "^2.0.0" + is-installed-globally "^0.3.2" + lazy-ass "^1.6.0" + listr "^0.14.3" + lodash "^4.17.19" + log-symbols "^4.0.0" + minimist "^1.2.5" + moment "^2.27.0" + ospath "^1.2.2" + pretty-bytes "^5.4.1" + ramda "~0.26.1" + request-progress "^3.0.0" + supports-color "^7.2.0" + tmp "~0.2.1" + untildify "^4.0.0" + url "^0.11.0" + yauzl "^2.10.0" d@1, d@^1.0.1: version "1.0.1" @@ -6154,12 +6759,10 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-uri-to-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.0.tgz#8a3088a5efd3f53c3682343313c6895d498eb8d7" - integrity sha512-MJ6mFTZ+nPQO+39ua/ltwNePXrfdF3Ww0wP1Od7EePySXN1cP9XNqRQOG3FxTfipp8jx898LUCgBCEP11Qw/ZQ== - dependencies: - buffer-from "^1.1.1" +data-uri-to-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== data-urls@^2.0.0: version "2.0.0" @@ -6333,6 +6936,11 @@ del@^4.1.1: pify "^4.0.1" rimraf "^2.6.3" +delaunator@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-4.0.1.tgz#3d779687f57919a7a418f8ab947d3bddb6846957" + integrity sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -6386,10 +6994,10 @@ detect-node@^2.0.4: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== -devtools-protocol@0.0.799653: - version "0.0.799653" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.799653.tgz#86fc95ce5bf4fdf4b77a58047ba9d2301078f119" - integrity sha512-t1CcaZbvm8pOlikqrsIM9GOa7Ipp07+4h/q9u0JXBWjPCjHdBl9KkddX87Vv9vBHoBGtwV79sYQNGnQM6iS5gg== +devtools-protocol@0.0.818844: + version "0.0.818844" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.818844.tgz#d1947278ec85b53e4c8ca598f607a28fa785ba9e" + integrity sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg== dezalgo@^1.0.0: version "1.0.3" @@ -6404,10 +7012,10 @@ diff-sequences@^25.2.6: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== -diff-sequences@^26.5.0: - version "26.5.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.5.0.tgz#ef766cf09d43ed40406611f11c6d8d9dd8b2fefd" - integrity sha512-ZXx86srb/iYy6jG71k++wBN9P9J05UNQ5hQHQd9MtMPvcqXPx/vKU69jfHV637D00Q2gSgPk2D+jSx3l1lDW/Q== +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== diff@^4.0.1: version "4.0.2" @@ -6477,12 +7085,12 @@ document-register-element@1.14.10: resolved "https://registry.yarnpkg.com/document-register-element/-/document-register-element-1.14.10.tgz#a7bd025e6b73bd827fec2d8e90aba755e99387f5" integrity sha512-w5UA37hEIrs+9pruo2yR5UD13c4UHDlkqqjt4qurnp7QsBI9b1IOi8WXUim+aCqKBsENX3Z/cso7XMOuwJH1Yw== -dom-accessibility-api@^0.5.1: +dom-accessibility-api@^0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz#b06d059cdd4a4ad9a79275f9d414a5c126241166" integrity sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ== -dom-serializer@0, dom-serializer@^0.2.1: +dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== @@ -6490,16 +7098,7 @@ dom-serializer@0, dom-serializer@^0.2.1: domelementtype "^2.0.1" entities "^2.0.0" -dom-serializer@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.0.1.tgz#79695eb49af3cd8abc8d93a73da382deb1ca0795" - integrity sha512-1Aj1Qy3YLbdslkI75QEOfdp9TkQ3o8LRISAzxOibjBs/xWwr1WxZFOQphFkZuepHFGo+kB8e5FVJSS0faAJ4Rw== - dependencies: - domelementtype "^2.0.1" - domhandler "^3.0.0" - entities "^2.0.0" - -dom-serializer@^1.0.1: +dom-serializer@1.1.0, dom-serializer@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.1.0.tgz#5f7c828f1bfc44887dc2a315ab5c45691d544b58" integrity sha512-ox7bvGXt2n+uLWtCRLybYx60IrOlWL/aCebWJk1T0d4m3y2tzf4U3ij9wBMUb6YJZpz06HCCYuyCDveE2xXmzQ== @@ -6530,28 +7129,21 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" -domhandler@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.0.0.tgz#51cd13efca31da95bbb0c5bee3a48300e333b3e9" - integrity sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw== - dependencies: - domelementtype "^2.0.1" - -domhandler@^3.0.0, domhandler@^3.3.0: +domhandler@3.3.0, domhandler@^3.0.0, domhandler@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.3.0.tgz#6db7ea46e4617eb15cf875df68b2b8524ce0037a" integrity sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA== dependencies: domelementtype "^2.0.1" -domutils@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.1.0.tgz#7ade3201af43703fde154952e3a868eb4b635f16" - integrity sha512-CD9M0Dm1iaHfQ1R/TI+z3/JWp/pgub0j4jIQKH89ARR4ATAV2nbaOQS5XxU9maJP5jHaPdDDQSEHuE2UmpUTKg== +domutils@2.4.2, domutils@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.4.2.tgz#7ee5be261944e1ad487d9aa0616720010123922b" + integrity sha512-NKbgaM8ZJOecTZsIzW5gSuplsX2IWW2mIK7xVr8hTQF2v1CJWTmLZ1HOCh5sH+IzVPAGE5IucooOkvwBRAdowA== dependencies: - dom-serializer "^0.2.1" + dom-serializer "^1.0.1" domelementtype "^2.0.1" - domhandler "^3.0.0" + domhandler "^3.3.0" domutils@^1.7.0: version "1.7.0" @@ -6561,15 +7153,6 @@ domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.0.0, domutils@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.4.2.tgz#7ee5be261944e1ad487d9aa0616720010123922b" - integrity sha512-NKbgaM8ZJOecTZsIzW5gSuplsX2IWW2mIK7xVr8hTQF2v1CJWTmLZ1HOCh5sH+IzVPAGE5IucooOkvwBRAdowA== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.0.1" - domhandler "^3.3.0" - dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -6582,11 +7165,16 @@ dotenv@6.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w== -dotenv@^8.2.0: +dotenv@8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== +dottie@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dottie/-/dottie-2.0.2.tgz#cc91c0726ce3a054ebf11c55fbc92a7f266dd154" + integrity sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg== + duplexer2@^0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" @@ -6604,7 +7192,7 @@ duplexer@^0.1.1: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: +duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== @@ -6624,6 +7212,11 @@ duplexify@^4.0.0, duplexify@^4.1.1: readable-stream "^3.1.1" stream-shift "^1.0.0" +earcut@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.2.tgz#41b0bc35f63e0fe80da7cddff28511e7e2e80d11" + integrity sha512-eZoZPPJcUHnfRZ0PjLvx2qBordSiO8ofC3vt+qACLM95u+4DovnbYNpQtJh0DNsWj8RnxrQytD4WA8gj5cRIaQ== + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -6671,6 +7264,11 @@ electron-to-chromium@^1.3.585, electron-to-chromium@^1.3.621: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.630.tgz#102e930466e53ab7fde6009c2d50b8a4574b543e" integrity sha512-HSTsvqOrR3kWsoekKu0EOQXR/YOncKs3HAys9lysvIS2ec/mlfV1ZoLHSx00semK+PscVJwqcvBN4ayGPs++fA== +electron-to-chromium@^1.3.634: + version "1.3.634" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.634.tgz#82ea400f520f739c4f6ff00c1f7524827a917d25" + integrity sha512-QPrWNYeE/A0xRvl/QP3E0nkaEvYUvH3gM04ZWYtIa6QlSpEetRlRI1xvQ7hiMIySHHEV+mwDSX8Kj4YZY6ZQAw== + elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -6774,13 +7372,20 @@ err-code@^1.0.0: resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= -errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: +errno@^0.1.1, errno@^0.1.3: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== dependencies: prr "~1.0.1" +errno@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -6895,14 +7500,12 @@ escodegen@^1.14.1: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.0.0.tgz#f429a53bde9fc7660e6353910fd996d6284d3c25" - integrity sha512-vDrcCFE3+2ixNT5H83g28bO/uYAwibJxerXPj+E7op4qzBCsAV36QfvdAyVOoNxKAH2Os/e01T/2x++V0LPukA== - dependencies: - get-stdin "^6.0.0" +eslint-config-prettier@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz#5402eb559aa94b894effd6bddfa0b1ca051c858f" + integrity sha512-9sm5/PxaFG7qNJvJzTROMM1Bk1ozXVTKI0buKOyb0Bsr1hrwi0H/TzxF/COtf1uxikIK8SwhX7K6zg78jAzbeA== -eslint-import-resolver-node@^0.3.3, eslint-import-resolver-node@^0.3.4: +eslint-import-resolver-node@^0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== @@ -6918,33 +7521,14 @@ eslint-module-utils@^2.6.0: debug "^2.6.9" pkg-dir "^2.0.0" -eslint-plugin-cypress@2.10.3: - version "2.10.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.10.3.tgz#82eba7e014954149d590402eecd0d4e147cc7f14" - integrity sha512-CvFeoCquShfO8gHNIKA1VpUTz78WtknMebLemBd1lRbcmJNjwpqCqpQYUG/XVja8GjdX/e2TJXYa+EUBxehtUg== +eslint-plugin-cypress@2.11.2: + version "2.11.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.11.2.tgz#a8f3fe7ec840f55e4cea37671f93293e6c3e76a0" + integrity sha512-1SergF1sGbVhsf7MYfOLiBhdOg6wqyeV9pXUAIDIffYTGMN3dTBQS9nFAzhLsHhO+Bn0GaVM1Ecm71XUidQ7VA== dependencies: globals "^11.12.0" -eslint-plugin-import@2.21.2: - version "2.21.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.21.2.tgz#8fef77475cc5510801bedc95f84b932f7f334a7c" - integrity sha512-FEmxeGI6yaz+SnEB6YgNHlQK1Bs2DKLM+YF+vuTk5H8J9CLbJLtlPvRFgZZ2+sXiKAlN5dpdlrWOjK8ZoZJpQA== - dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.3" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-import@^2.20.1: +eslint-plugin-import@2.22.1, eslint-plugin-import@^2.20.1: version "2.22.1" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== @@ -6963,7 +7547,24 @@ eslint-plugin-import@^2.20.1: resolve "^1.17.0" tsconfig-paths "^3.9.0" -eslint-plugin-jsx-a11y@6.3.1, eslint-plugin-jsx-a11y@^6.2.3: +eslint-plugin-jsx-a11y@6.4.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" + integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== + dependencies: + "@babel/runtime" "^7.11.2" + aria-query "^4.2.2" + array-includes "^3.1.1" + ast-types-flow "^0.0.7" + axe-core "^4.0.2" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.6" + emoji-regex "^9.0.0" + has "^1.0.3" + jsx-ast-utils "^3.1.0" + language-tags "^1.0.5" + +eslint-plugin-jsx-a11y@^6.2.3: version "6.3.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz#99ef7e97f567cc6a5b8dd5ab95a94a67058a2660" integrity sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g== @@ -6980,32 +7581,32 @@ eslint-plugin-jsx-a11y@6.3.1, eslint-plugin-jsx-a11y@^6.2.3: jsx-ast-utils "^2.4.1" language-tags "^1.0.5" -eslint-plugin-react-hooks@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.0.4.tgz#aed33b4254a41b045818cacb047b81e6df27fa58" - integrity sha512-equAdEIsUETLFNCmmCkiCGq6rkSK5MoJhXFPFYeUebcjKgBmWWcgVOqZyQC8Bv1BwVCnTq9tBxgJFgAJTWoJtA== +eslint-plugin-react-hooks@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" + integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== eslint-plugin-react-hooks@^2.4.0: version "2.5.1" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" integrity sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g== -eslint-plugin-react@7.20.0: - version "7.20.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.0.tgz#f98712f0a5e57dfd3e5542ef0604b8739cd47be3" - integrity sha512-rqe1abd0vxMjmbPngo4NaYxTcR3Y4Hrmc/jg4T+sYz63yqlmJRknpEQfmWY+eDWPuMmix6iUIK+mv0zExjeLgA== +eslint-plugin-react@7.22.0: + version "7.22.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz#3d1c542d1d3169c45421c1215d9470e341707269" + integrity sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA== dependencies: array-includes "^3.1.1" + array.prototype.flatmap "^1.2.3" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.2.3" - object.entries "^1.1.1" + jsx-ast-utils "^2.4.1 || ^3.0.0" + object.entries "^1.1.2" object.fromentries "^2.0.2" object.values "^1.1.1" prop-types "^15.7.2" - resolve "^1.15.1" + resolve "^1.18.1" string.prototype.matchall "^4.0.2" - xregexp "^4.3.0" eslint-plugin-react@^7.18.3: version "7.21.4" @@ -7057,13 +7658,13 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.10.0: - version "7.10.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.10.0.tgz#494edb3e4750fb791133ca379e786a8f648c72b9" - integrity sha512-BDVffmqWl7JJXqCjAK6lWtcQThZB/aP1HXSH1JKwGwv0LQEdvpR7qzNrUT487RM39B5goWuboFad5ovMBmD8yA== +eslint@7.17.0: + version "7.17.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.17.0.tgz#4ccda5bf12572ad3bf760e6f195886f50569adb0" + integrity sha512-zJk08MiBgwuGoxes5sSQhOtibZ75pz0J35XTRlZOk9xMffhpA9BTbQZxoXZzOl5zMbleShbGwtw+1kGferfFwQ== dependencies: "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.1.3" + "@eslint/eslintrc" "^0.2.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -7072,11 +7673,11 @@ eslint@7.10.0: enquirer "^2.3.5" eslint-scope "^5.1.1" eslint-utils "^2.1.0" - eslint-visitor-keys "^1.3.0" - espree "^7.3.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" esquery "^1.2.0" esutils "^2.0.2" - file-entry-cache "^5.0.1" + file-entry-cache "^6.0.0" functional-red-black-tree "^1.0.1" glob-parent "^5.0.0" globals "^12.1.0" @@ -7096,7 +7697,7 @@ eslint@7.10.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^5.2.3" + table "^6.0.4" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -7109,6 +7710,15 @@ espree@^7.3.0: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" +espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -7163,10 +7773,15 @@ event-target-shim@^5.0.0: resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== -eventemitter2@4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-4.1.2.tgz#0e1a8477af821a6ef3995b311bf74c23a5247f15" - integrity sha1-DhqEd6+CGm7zmVsxG/dMI6UkfxU= +eventemitter2@^6.4.2: + version "6.4.3" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.3.tgz#35c563619b13f3681e7eb05cbdaf50f56ba58820" + integrity sha512-t0A2msp6BzOf+QAcI6z9XMktLj52OjGQg+8SJH6v5+3uxNpWYRR3wQmfA+6xtMU9kOC59qk9licus5dYcrYkMQ== + +eventemitter3@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" + integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== eventemitter3@^4.0.0, eventemitter3@^4.0.4: version "4.0.7" @@ -7198,7 +7813,7 @@ exec-sh@^0.3.2: resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== -execa@1.0.0, execa@^1.0.0: +execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== @@ -7226,7 +7841,22 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -executable@4.1.1: +execa@^4.0.2: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +executable@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== @@ -7261,16 +7891,16 @@ expand-template@^2.0.3: resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== -expect@^26.5.3: - version "26.5.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.5.3.tgz#89d9795036f7358b0a9a5243238eb8086482d741" - integrity sha512-kkpOhGRWGOr+TEFUnYAjfGvv35bfP+OlPtqPIJpOCR9DVtv8QV+p8zG0Edqafh80fsjeE+7RBcVUq1xApnYglw== +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== dependencies: - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" ansi-styles "^4.0.0" jest-get-type "^26.3.0" - jest-matcher-utils "^26.5.2" - jest-message-util "^26.5.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" jest-regex-util "^26.0.0" express@^4.17.1: @@ -7359,15 +7989,15 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extract-zip@1.6.7: - version "1.6.7" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" - integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k= +extract-zip@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" + integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== dependencies: - concat-stream "1.6.2" - debug "2.6.9" - mkdirp "0.5.1" - yauzl "2.4.1" + concat-stream "^1.6.2" + debug "^2.6.9" + mkdirp "^0.5.4" + yauzl "^2.10.0" extract-zip@^2.0.0: version "2.0.1" @@ -7422,7 +8052,7 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fast-text-encoding@^1.0.0: +fast-text-encoding@^1.0.0, fast-text-encoding@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz#ec02ac8e01ab8a319af182dae2681213cfe9ce53" integrity sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig== @@ -7460,13 +8090,6 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= - dependencies: - pend "~1.2.0" - fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -7479,11 +8102,6 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== -figlet@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.5.0.tgz#2db4d00a584e5155a96080632db919213c3e003c" - integrity sha512-ZQJM4aifMpz6H19AW1VqvZ7l4pOE9p7i/3LyxgO2kp+PO/VcDYNqIHEMtkccqIhTXMKci4kjueJr/iCQEaT/Ww== - figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" @@ -7499,12 +8117,12 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== +file-entry-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" + integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== dependencies: - flat-cache "^2.0.1" + flat-cache "^3.0.4" file-loader@4.2.0: version "4.2.0" @@ -7615,24 +8233,23 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" + flatted "^3.1.0" + rimraf "^3.0.2" flat@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +flatted@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" + integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== flush-write-stream@^1.0.0: version "1.1.1" @@ -7716,10 +8333,10 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -framer-motion@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-3.1.1.tgz#a8a779501213b7ce02cc35beb27621d73cc2f1e7" - integrity sha512-Gm1QSb0xUxuhcPar5FIs5Ws+STrhLZ6XZf2Io8dVwFofe1OzwkL9asGFVu7z3y6WqC4Hvnxm7wsW5SBHlxZDYw== +framer-motion@3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-3.1.4.tgz#05b6c6c9028e8e7b1d396fcf4701d339d152a632" + integrity sha512-dVxlWwmqGwI/5k57XsjBJMOyk5jvgk/hW/VGvHsgZrETc39cmjYFYRwWXkrdqqCDobhbmFaQcZwXCy8N5yDqIw== dependencies: framesync "^5.0.0" hey-listen "^1.0.8" @@ -7770,6 +8387,16 @@ fs-extra@8.1.0, fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -7805,6 +8432,11 @@ fsevents@^2.1.2, fsevents@~2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +fsevents@~2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" + integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -7840,6 +8472,17 @@ gaxios@^3.0.0: is-stream "^2.0.0" node-fetch "^2.3.0" +gaxios@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-4.1.0.tgz#e8ad466db5a4383c70b9d63bfd14dfaa87eb0099" + integrity sha512-vb0to8xzGnA2qcgywAjtshOKKVDf2eQhJoiL6fHhgW5tVN7wNk7egnYIO9zotfn3lQ3De1VPdf7V5/BWfCtCmg== + dependencies: + abort-controller "^3.0.0" + extend "^3.0.2" + https-proxy-agent "^5.0.0" + is-stream "^2.0.0" + node-fetch "^2.3.0" + gcp-metadata@^4.1.0, gcp-metadata@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-4.2.0.tgz#3b424355ccdc240ee07c5791e2fd6a60a283d89a" @@ -7873,11 +8516,20 @@ gensync@^1.0.0-beta.1: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== -get-caller-file@^2.0.1, get-caller-file@^2.0.5: +get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.0, get-intrinsic@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" + integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-nonce@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" @@ -7888,11 +8540,6 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -7907,17 +8554,22 @@ get-stream@^5.0.0, get-stream@^5.1.0: dependencies: pump "^3.0.0" +get-stream@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" + integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= -getos@3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/getos/-/getos-3.1.4.tgz#29cdf240ed10a70c049add7b6f8cb08c81876faf" - integrity sha512-UORPzguEB/7UG5hqiZai8f0vQ7hzynMQyJLxStoQ8dPGAcmgsfXOPA4iE/fGtweHYkK+z4zc9V0g+CIFRf5HYw== +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== dependencies: - async "^3.1.0" + async "^3.2.0" getpass@^0.1.1: version "0.1.7" @@ -7987,12 +8639,12 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -global-dirs@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= +global-dirs@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" + integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== dependencies: - ini "^1.3.4" + ini "1.3.7" globals@^11.1.0, globals@^11.12.0: version "11.12.0" @@ -8073,20 +8725,36 @@ google-auth-library@^6.1.2: jws "^4.0.0" lru-cache "^6.0.0" -google-gax@^2.2.0, google-gax@^2.7.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-2.9.0.tgz#84edef8715d82c0f91a6e5485b8f2803d2690f00" - integrity sha512-MFMwA7Fb8PEwjnYwfGXjZMidCNyMl3gSnvS/+kS8TQioJZQDpzK+W3dmwyNyig/U13+kbABqDnbkkAXJ5NiUkw== +google-auth-library@^6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-6.1.3.tgz#39d868140b70d0c4b32c6f6d8f4ccc1400d84dca" + integrity sha512-m9mwvY3GWbr7ZYEbl61isWmk+fvTmOt0YNUfPOUY2VH8K5pZlAIWJjxEi0PqR3OjMretyiQLI6GURMrPSwHQ2g== dependencies: - "@grpc/grpc-js" "~1.1.1" + arrify "^2.0.0" + base64-js "^1.3.0" + ecdsa-sig-formatter "^1.0.11" + fast-text-encoding "^1.0.0" + gaxios "^4.0.0" + gcp-metadata "^4.2.0" + gtoken "^5.0.4" + jws "^4.0.0" + lru-cache "^6.0.0" + +google-gax@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/google-gax/-/google-gax-2.10.0.tgz#7918e5194fe3c5f4330cccb3a3b66e368ac70d8f" + integrity sha512-K+1JK5ofNl5k30LsI8UQb/DeLMEbhL/SWirCx0L9pnMcApSfAjRAO7yajXT5X1vicxDBnNSwKs+cu4elxpYraw== + dependencies: + "@grpc/grpc-js" "~1.2.0" "@grpc/proto-loader" "^0.5.1" "@types/long" "^4.0.0" abort-controller "^3.0.0" duplexify "^4.0.0" - google-auth-library "^6.0.0" + fast-text-encoding "^1.0.3" + google-auth-library "^6.1.3" is-stream-ended "^0.1.4" node-fetch "^2.6.1" - protobufjs "^6.9.0" + protobufjs "^6.10.2" retry-request "^4.0.0" google-p12-pem@^3.0.3: @@ -8134,7 +8802,7 @@ har-schema@^2.0.0: resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= -har-validator@~5.1.0, har-validator@~5.1.3: +har-validator@~5.1.3: version "5.1.5" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== @@ -8244,6 +8912,11 @@ he@1.2.0, he@^1.1.1: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +heap@0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.5.tgz#713b65590ebcc40fcbeeaf55e851694092b39af1" + integrity sha1-cTtlWQ68xA/L7q9V6FFpQJKzmvE= + hex-color-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" @@ -8254,11 +8927,6 @@ hey-listen@^1.0.8: resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== -highlight.js@^9.6.0: - version "9.18.3" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.3.tgz#a1a0a2028d5e3149e2380f8a865ee8516703d634" - integrity sha512-zBZAmhSupHIl5sITeMqIJnYCDfAEc3Gdkqj65wC1lpI468MMQeeQkhcIAvk+RylAkxrCcI9xy9piHiXeQ1BdzQ== - hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -8350,14 +9018,14 @@ html-tokenize@^2.0.0: readable-stream "~1.0.27-1" through2 "~0.4.1" -htmlparser2@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78" - integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q== +htmlparser2@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-5.0.1.tgz#7daa6fc3e35d6107ac95a4fc08781f091664f6e7" + integrity sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ== dependencies: domelementtype "^2.0.1" - domhandler "^3.0.0" - domutils "^2.0.0" + domhandler "^3.3.0" + domutils "^2.4.2" entities "^2.0.0" htmlparser2@^5.0: @@ -8653,6 +9321,11 @@ infer-owner@^1.0.3, infer-owner@^1.0.4: resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== +inflection@1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416" + integrity sha1-ogCTVlbW9fa8TcdQLhrstwMihBY= + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -8676,7 +9349,12 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.4, ini@~1.3.0: +ini@1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" + integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== + +ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== @@ -8820,7 +9498,7 @@ is-callable@^1.1.4, is-callable@^1.2.2: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== -is-ci@2.0.0, is-ci@^2.0.0: +is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== @@ -8956,13 +9634,13 @@ is-hexadecimal@^1.0.0: resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== -is-installed-globally@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= +is-installed-globally@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" + integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" + global-dirs "^2.0.1" + is-path-inside "^3.0.1" is-interactive@^1.0.0: version "1.0.0" @@ -9020,13 +9698,6 @@ is-path-in-cwd@^2.0.0: dependencies: is-path-inside "^2.1.0" -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - is-path-inside@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" @@ -9034,6 +9705,11 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" +is-path-inside@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" + integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== + is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -9161,6 +9837,11 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= +ismobilejs@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ismobilejs/-/ismobilejs-1.1.1.tgz#c56ca0ae8e52b24ca0f22ba5ef3215a2ddbbaa0e" + integrity sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw== + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -9229,57 +9910,57 @@ jake@^10.6.1: filelist "^1.0.1" minimatch "^3.0.4" -jest-changed-files@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.5.2.tgz#330232c6a5c09a7f040a5870e8f0a9c6abcdbed5" - integrity sha512-qSmssmiIdvM5BWVtyK/nqVpN3spR5YyvkvPqz1x3BR1bwIxsWmU/MGwLoCrPNLbkG2ASAKfvmJpOduEApBPh2w== +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== dependencies: - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" execa "^4.0.0" throat "^5.0.0" -jest-cli@^26.2.2: - version "26.5.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.5.3.tgz#f936b98f247b76b7bc89c7af50af82c88e356a80" - integrity sha512-HkbSvtugpSXBf2660v9FrNVUgxvPkssN8CRGj9gPM8PLhnaa6zziFiCEKQAkQS4uRzseww45o0TR+l6KeRYV9A== +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== dependencies: - "@jest/core" "^26.5.3" - "@jest/test-result" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^26.5.3" - jest-util "^26.5.2" - jest-validate "^26.5.3" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" prompts "^2.0.1" yargs "^15.4.1" -jest-config@^26.5.3: - version "26.5.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.5.3.tgz#baf51c9be078c2c755c8f8a51ec0f06c762c1d3f" - integrity sha512-NVhZiIuN0GQM6b6as4CI5FSCyXKxdrx5ACMCcv/7Pf+TeCajJhJc+6dwgdAVPyerUFB9pRBIz3bE7clSrRge/w== +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.5.3" - "@jest/types" "^26.5.2" - babel-jest "^26.5.2" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" chalk "^4.0.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" - jest-environment-jsdom "^26.5.2" - jest-environment-node "^26.5.2" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" jest-get-type "^26.3.0" - jest-jasmine2 "^26.5.3" + jest-jasmine2 "^26.6.3" jest-regex-util "^26.0.0" - jest-resolve "^26.5.2" - jest-util "^26.5.2" - jest-validate "^26.5.3" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" micromatch "^4.0.2" - pretty-format "^26.5.2" + pretty-format "^26.6.2" jest-diff@^25.2.1: version "25.5.0" @@ -9291,15 +9972,15 @@ jest-diff@^25.2.1: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-diff@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.5.2.tgz#8e26cb32dc598e8b8a1b9deff55316f8313c8053" - integrity sha512-HCSWDUGwsov5oTlGzrRM+UPJI/Dpqi9jzeV0fdRNi3Ch5bnoXhnyJMmVg2juv9081zLIy3HGPI5mcuGgXM2xRA== +jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== dependencies: chalk "^4.0.0" - diff-sequences "^26.5.0" + diff-sequences "^26.6.2" jest-get-type "^26.3.0" - pretty-format "^26.5.2" + pretty-format "^26.6.2" jest-docblock@^26.0.0: version "26.0.0" @@ -9308,41 +9989,41 @@ jest-docblock@^26.0.0: dependencies: detect-newline "^3.0.0" -jest-each@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.5.2.tgz#35e68d6906a7f826d3ca5803cfe91d17a5a34c31" - integrity sha512-w7D9FNe0m2D3yZ0Drj9CLkyF/mGhmBSULMQTypzAKR746xXnjUrK8GUJdlLTWUF6dd0ks3MtvGP7/xNFr9Aphg== +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== dependencies: - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" chalk "^4.0.0" jest-get-type "^26.3.0" - jest-util "^26.5.2" - pretty-format "^26.5.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" -jest-environment-jsdom@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.5.2.tgz#5feab05b828fd3e4b96bee5e0493464ddd2bb4bc" - integrity sha512-fWZPx0bluJaTQ36+PmRpvUtUlUFlGGBNyGX1SN3dLUHHMcQ4WseNEzcGGKOw4U5towXgxI4qDoI3vwR18H0RTw== +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== dependencies: - "@jest/environment" "^26.5.2" - "@jest/fake-timers" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" - jest-mock "^26.5.2" - jest-util "^26.5.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" jsdom "^16.4.0" -jest-environment-node@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.5.2.tgz#275a0f01b5e47447056f1541a15ed4da14acca03" - integrity sha512-YHjnDsf/GKFCYMGF1V+6HF7jhY1fcLfLNBDjhAOvFGvt6d8vXvNdJGVM7uTZ2VO/TuIyEFhPGaXMX5j3h7fsrA== +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== dependencies: - "@jest/environment" "^26.5.2" - "@jest/fake-timers" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" - jest-mock "^26.5.2" - jest-util "^26.5.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" jest-get-type@^25.2.6: version "25.2.6" @@ -9354,89 +10035,90 @@ jest-get-type@^26.3.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-haste-map@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.5.2.tgz#a15008abfc502c18aa56e4919ed8c96304ceb23d" - integrity sha512-lJIAVJN3gtO3k4xy+7i2Xjtwh8CfPcH08WYjZpe9xzveDaqGw9fVNCpkYu6M525wKFVkLmyi7ku+DxCAP1lyMA== +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== dependencies: - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" "@types/graceful-fs" "^4.1.2" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.4" jest-regex-util "^26.0.0" - jest-serializer "^26.5.0" - jest-util "^26.5.2" - jest-worker "^26.5.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" micromatch "^4.0.2" sane "^4.0.3" walker "^1.0.7" optionalDependencies: fsevents "^2.1.2" -jest-jasmine2@^26.5.3: - version "26.5.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.5.3.tgz#baad2114ce32d16aff25aeb877d18bb4e332dc4c" - integrity sha512-nFlZOpnGlNc7y/+UkkeHnvbOM+rLz4wB1AimgI9QhtnqSZte0wYjbAm8hf7TCwXlXgDwZxAXo6z0a2Wzn9FoOg== +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.5.2" - "@jest/source-map" "^26.5.0" - "@jest/test-result" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^26.5.3" + expect "^26.6.2" is-generator-fn "^2.0.0" - jest-each "^26.5.2" - jest-matcher-utils "^26.5.2" - jest-message-util "^26.5.2" - jest-runtime "^26.5.3" - jest-snapshot "^26.5.3" - jest-util "^26.5.2" - pretty-format "^26.5.2" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" throat "^5.0.0" -jest-leak-detector@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.5.2.tgz#83fcf9a4a6ef157549552cb4f32ca1d6221eea69" - integrity sha512-h7ia3dLzBFItmYERaLPEtEKxy3YlcbcRSjj0XRNJgBEyODuu+3DM2o62kvIFvs3PsaYoIIv+e+nLRI61Dj1CNw== +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== dependencies: jest-get-type "^26.3.0" - pretty-format "^26.5.2" + pretty-format "^26.6.2" -jest-matcher-utils@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.5.2.tgz#6aa2c76ce8b9c33e66f8856ff3a52bab59e6c85a" - integrity sha512-W9GO9KBIC4gIArsNqDUKsLnhivaqf8MSs6ujO/JDcPIQrmY+aasewweXVET8KdrJ6ADQaUne5UzysvF/RR7JYA== +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== dependencies: chalk "^4.0.0" - jest-diff "^26.5.2" + jest-diff "^26.6.2" jest-get-type "^26.3.0" - pretty-format "^26.5.2" + pretty-format "^26.6.2" -jest-message-util@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.5.2.tgz#6c4c4c46dcfbabb47cd1ba2f6351559729bc11bb" - integrity sha512-Ocp9UYZ5Jl15C5PNsoDiGEk14A4NG0zZKknpWdZGoMzJuGAkVt10e97tnEVMYpk7LnQHZOfuK2j/izLBMcuCZw== +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.4" micromatch "^4.0.2" + pretty-format "^26.6.2" slash "^3.0.0" stack-utils "^2.0.2" -jest-mock@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.5.2.tgz#c9302e8ef807f2bfc749ee52e65ad11166a1b6a1" - integrity sha512-9SiU4b5PtO51v0MtJwVRqeGEroH66Bnwtq4ARdNP7jNXbpT7+ByeWNAk4NeT/uHfNSVDXEXgQo1XRuwEqS6Rdw== +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== dependencies: - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" "@types/node" "*" jest-pnp-resolver@^1.2.2: @@ -9449,28 +10131,14 @@ jest-regex-util@^26.0.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== -jest-resolve-dependencies@^26.5.3: - version "26.5.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.5.3.tgz#11483f91e534bdcd257ab21e8622799e59701aba" - integrity sha512-+KMDeke/BFK+mIQ2IYSyBz010h7zQaVt4Xie6cLqUGChorx66vVeQVv4ErNoMwInnyYHi1Ud73tDS01UbXbfLQ== +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== dependencies: - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" jest-regex-util "^26.0.0" - jest-snapshot "^26.5.3" - -jest-resolve@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.5.2.tgz#0d719144f61944a428657b755a0e5c6af4fc8602" - integrity sha512-XsPxojXGRA0CoDD7Vis59ucz2p3cQFU5C+19tz3tLEAlhYKkK77IL0cjYjikY9wXnOaBeEdm1rOgSJjbZWpcZg== - dependencies: - "@jest/types" "^26.5.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.5.2" - read-pkg-up "^7.0.1" - resolve "^1.17.0" - slash "^3.0.0" + jest-snapshot "^26.6.2" jest-resolve@^26.6.2: version "26.6.2" @@ -9486,95 +10154,96 @@ jest-resolve@^26.6.2: resolve "^1.18.1" slash "^3.0.0" -jest-runner@^26.5.3: - version "26.5.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.5.3.tgz#800787459ea59c68e7505952933e33981dc3db38" - integrity sha512-qproP0Pq7IIule+263W57k2+8kWCszVJTC9TJWGUz0xJBr+gNiniGXlG8rotd0XxwonD5UiJloYoSO5vbUr5FQ== +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== dependencies: - "@jest/console" "^26.5.2" - "@jest/environment" "^26.5.2" - "@jest/test-result" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" chalk "^4.0.0" emittery "^0.7.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-config "^26.5.3" + jest-config "^26.6.3" jest-docblock "^26.0.0" - jest-haste-map "^26.5.2" - jest-leak-detector "^26.5.2" - jest-message-util "^26.5.2" - jest-resolve "^26.5.2" - jest-runtime "^26.5.3" - jest-util "^26.5.2" - jest-worker "^26.5.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" source-map-support "^0.5.6" throat "^5.0.0" -jest-runtime@^26.5.3: - version "26.5.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.5.3.tgz#5882ae91fd88304310f069549e6bf82f3f198bea" - integrity sha512-IDjalmn2s/Tc4GvUwhPHZ0iaXCdMRq5p6taW9P8RpU+FpG01O3+H8z+p3rDCQ9mbyyyviDgxy/LHPLzrIOKBkQ== +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== dependencies: - "@jest/console" "^26.5.2" - "@jest/environment" "^26.5.2" - "@jest/fake-timers" "^26.5.2" - "@jest/globals" "^26.5.3" - "@jest/source-map" "^26.5.0" - "@jest/test-result" "^26.5.2" - "@jest/transform" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" "@types/yargs" "^15.0.0" chalk "^4.0.0" + cjs-module-lexer "^0.6.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-config "^26.5.3" - jest-haste-map "^26.5.2" - jest-message-util "^26.5.2" - jest-mock "^26.5.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" jest-regex-util "^26.0.0" - jest-resolve "^26.5.2" - jest-snapshot "^26.5.3" - jest-util "^26.5.2" - jest-validate "^26.5.3" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" slash "^3.0.0" strip-bom "^4.0.0" yargs "^15.4.1" -jest-serializer@^26.5.0: - version "26.5.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.5.0.tgz#f5425cc4c5f6b4b355f854b5f0f23ec6b962bc13" - integrity sha512-+h3Gf5CDRlSLdgTv7y0vPIAoLgX/SI7T4v6hy+TEXMgYbv+ztzbg5PSN6mUXAT/hXYHvZRWm+MaObVfqkhCGxA== +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== dependencies: "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^26.5.3: - version "26.5.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.5.3.tgz#f6b4b4b845f85d4b0dadd7cf119c55d0c1688601" - integrity sha512-ZgAk0Wm0JJ75WS4lGaeRfa0zIgpL0KD595+XmtwlIEMe8j4FaYHyZhP1LNOO+8fXq7HJ3hll54+sFV9X4+CGVw== +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" "@types/babel__traverse" "^7.0.4" "@types/prettier" "^2.0.0" chalk "^4.0.0" - expect "^26.5.3" + expect "^26.6.2" graceful-fs "^4.2.4" - jest-diff "^26.5.2" + jest-diff "^26.6.2" jest-get-type "^26.3.0" - jest-haste-map "^26.5.2" - jest-matcher-utils "^26.5.2" - jest-message-util "^26.5.2" - jest-resolve "^26.5.2" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" natural-compare "^1.4.0" - pretty-format "^26.5.2" + pretty-format "^26.6.2" semver "^7.3.2" -jest-util@^26.1.0, jest-util@^26.5.2: +jest-util@^26.1.0: version "26.5.2" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.5.2.tgz#8403f75677902cc52a1b2140f568e91f8ed4f4d7" integrity sha512-WTL675bK+GSSAYgS8z9FWdCT2nccO1yTIplNLPlP0OD8tUk/H5IrWKMMRudIQQ0qp8bb4k+1Qa8CxGKq9qnYdg== @@ -9598,29 +10267,29 @@ jest-util@^26.6.2: is-ci "^2.0.0" micromatch "^4.0.2" -jest-validate@^26.5.3: - version "26.5.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.5.3.tgz#eefd5a5c87059550548c5ad8d6589746c66929e3" - integrity sha512-LX07qKeAtY+lsU0o3IvfDdN5KH9OulEGOMN1sFo6PnEf5/qjS1LZIwNk9blcBeW94pQUI9dLN9FlDYDWI5tyaA== +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== dependencies: - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" camelcase "^6.0.0" chalk "^4.0.0" jest-get-type "^26.3.0" leven "^3.1.0" - pretty-format "^26.5.2" + pretty-format "^26.6.2" -jest-watcher@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.5.2.tgz#2957f4461007e0769d74b537379ecf6b7c696916" - integrity sha512-i3m1NtWzF+FXfJ3ljLBB/WQEp4uaNhX7QcQUWMokcifFTUQBDFyUMEwk0JkJ1kopHbx7Een3KX0Q7+9koGM/Pw== +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== dependencies: - "@jest/test-result" "^26.5.2" - "@jest/types" "^26.5.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^26.5.2" + jest-util "^26.6.2" string-length "^4.0.1" jest-worker@24.9.0: @@ -9647,23 +10316,23 @@ jest-worker@^25.4.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^26.5.0: - version "26.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.5.0.tgz#87deee86dbbc5f98d9919e0dadf2c40e3152fa30" - integrity sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug== +jest-worker@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== dependencies: "@types/node" "*" merge-stream "^2.0.0" supports-color "^7.0.0" -jest@26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.2.2.tgz#a022303887b145147204c5f66e6a5c832333c7e7" - integrity sha512-EkJNyHiAG1+A8pqSz7cXttoVa34hOEzN/MrnJhYnfp5VHxflVcf2pu3oJSrhiy6LfIutLdWo+n6q63tjcoIeig== +jest@26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== dependencies: - "@jest/core" "^26.2.2" + "@jest/core" "^26.6.3" import-local "^3.0.2" - jest-cli "^26.2.2" + jest-cli "^26.6.3" "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -9675,7 +10344,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.13.1, js-yaml@^3.14.0, js-yaml@^3.9.0: +js-yaml@^3.13.1, js-yaml@^3.9.0: version "3.14.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== @@ -9752,6 +10421,11 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -9793,6 +10467,15 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -9808,7 +10491,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.2.3, jsx-ast-utils@^2.4.1: +jsx-ast-utils@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e" integrity sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w== @@ -9824,6 +10507,14 @@ jsx-ast-utils@^2.2.3, jsx-ast-utils@^2.4.1: array-includes "^3.1.1" object.assign "^4.1.1" +jsx-ast-utils@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" + integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== + dependencies: + array-includes "^3.1.2" + object.assign "^4.1.2" + jwa@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc" @@ -9848,6 +10539,11 @@ karma-source-map-support@1.4.0: dependencies: source-map-support "^0.5.5" +keyboardjs@^2.5.1: + version "2.6.4" + resolved "https://registry.yarnpkg.com/keyboardjs/-/keyboardjs-2.6.4.tgz#28dccd9787c8f37e7c017df2f87294ca21143436" + integrity sha512-xDiNwiwH3KUqap++RFJiLAXzbvRB5Yw08xliuceOgLhM1o7g1puKKR9vWy6wp9H/Bi4VP0+SQMpiWXMWWmR6rA== + killable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" @@ -9906,7 +10602,7 @@ language-tags@^1.0.5: dependencies: language-subtag-registry "~0.3.2" -lazy-ass@1.6.0: +lazy-ass@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= @@ -10023,7 +10719,7 @@ listr-verbose-renderer@^0.5.0: date-fns "^1.27.2" figures "^2.0.0" -listr@0.14.3: +listr@^0.14.3: version "0.14.3" resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== @@ -10153,23 +10849,11 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.5: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -log-symbols@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - dependencies: - chalk "^2.4.2" - log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" @@ -10198,6 +10882,11 @@ loglevel@^1.6.8: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== +long@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" + integrity sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s= + long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" @@ -10301,6 +10990,11 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +maxrects-packer@^2.6.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/maxrects-packer/-/maxrects-packer-2.7.1.tgz#08a8dba3a46f9dd86de0b897a9e705a5c5c8e96e" + integrity sha512-RtnNTaV6xznnA9YISSE2i8x7sgTosMDJSZOwouyHtSP+uITNXyV7YCsincIZPg/+jKiS22/zjCQ6iT4iX68UcA== + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -10502,6 +11196,11 @@ mini-css-extract-plugin@0.8.0: schema-utils "^1.0.0" webpack-sources "^1.1.0" +mini-signals@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mini-signals/-/mini-signals-1.2.0.tgz#45b08013c5fae51a24aa1a935cd317c9ed721d74" + integrity sha1-RbCAE8X65RokqhqTXNMXye1yHXQ= + mini-svg-data-uri@^1.1.3: version "1.2.3" resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.2.3.tgz#e16baa92ad55ddaa1c2c135759129f41910bc39f" @@ -10524,16 +11223,6 @@ minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@~1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -10638,14 +11327,7 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -mkdirp@0.5.x, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: +mkdirp@0.5.x, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -10657,10 +11339,17 @@ mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -moment@2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" - integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== +moment-timezone@^0.5.31: + version "0.5.32" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.32.tgz#db7677cc3cc680fd30303ebd90b0da1ca0dfecc2" + integrity sha512-Z8QNyuQHQAmWucp8Knmgei8YNo28aLjJq6Ma+jy1ZSpSk5nyfRT8xgUbSQvD2+2UajISfenndwvFuH3NGS+nvA== + dependencies: + moment ">= 2.9.0" + +"moment@>= 2.9.0", moment@^2.26.0, moment@^2.27.0: + version "2.29.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" + integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== move-concurrently@^1.0.1: version "1.0.1" @@ -10720,15 +11409,6 @@ mute-stream@0.0.8: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -mz@^2.4.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - nan@^2.12.1: version "2.14.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" @@ -10793,18 +11473,19 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= -next@10.0.3: - version "10.0.3" - resolved "https://registry.yarnpkg.com/next/-/next-10.0.3.tgz#2bf9a1625dcd0afc8c31be19fc5516af68d99e80" - integrity sha512-QYCfjZgowjaLUFvyV8959SmkUZU/edFgHeiXNtWDv7kffo/oTm891p0KZAkk5cMIHcsDX3g3UuQdw/zmui783g== +next@10.0.5: + version "10.0.5" + resolved "https://registry.yarnpkg.com/next/-/next-10.0.5.tgz#8071e0aa1883266c91943aa7c6b73deadb064793" + integrity sha512-yr7ap2TLugf0aMHz+3JoKFP9CCkFE+k6jCfdUymORhptjLYZbD3YGlTcUC1CRl+b5Phlbl7m/WUIPde0VcguiA== dependencies: - "@ampproject/toolbox-optimizer" "2.7.0-alpha.1" + "@ampproject/toolbox-optimizer" "2.7.1-alpha.0" "@babel/runtime" "7.12.5" "@hapi/accept" "5.0.1" - "@next/env" "10.0.3" - "@next/polyfill-module" "10.0.3" - "@next/react-dev-overlay" "10.0.3" - "@next/react-refresh-utils" "10.0.3" + "@next/env" "10.0.5" + "@next/polyfill-module" "10.0.5" + "@next/react-dev-overlay" "10.0.5" + "@next/react-refresh-utils" "10.0.5" + "@opentelemetry/api" "0.14.0" ast-types "0.13.2" babel-plugin-transform-define "2.0.0" babel-plugin-transform-react-remove-prop-types "0.4.24" @@ -10823,6 +11504,7 @@ next@10.0.3: native-url "0.3.4" node-fetch "2.6.1" node-html-parser "1.4.9" + p-limit "3.1.0" path-browserify "1.0.1" pnp-webpack-plugin "1.6.4" postcss "8.1.7" @@ -10843,7 +11525,7 @@ next@10.0.3: webpack "4.44.1" webpack-sources "1.4.3" optionalDependencies: - sharp "0.26.2" + sharp "0.26.3" nice-try@^1.0.4: version "1.0.5" @@ -10862,10 +11544,10 @@ node-addon-api@^3.0.2: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.0.2.tgz#04bc7b83fd845ba785bb6eae25bc857e1ef75681" integrity sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg== -node-fetch@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== +node-addon-api@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239" + integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw== node-fetch@2.6.1, node-fetch@^2.3.0, node-fetch@^2.6.1: version "2.6.1" @@ -10961,6 +11643,11 @@ node-releases@^1.1.65, node-releases@^1.1.67: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== +node-releases@^1.1.69: + version "1.1.69" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.69.tgz#3149dbde53b781610cd8b486d62d86e26c3725f6" + integrity sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA== + node-watch@0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/node-watch/-/node-watch-0.7.0.tgz#033c0c04239d9348f3402b6b6f9c1e689a7edbe1" @@ -11211,7 +11898,17 @@ object.assign@^4.1.0, object.assign@^4.1.1: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.1, object.entries@^1.1.2: +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.entries@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA== @@ -11341,20 +12038,6 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -ora@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.0.0.tgz#4f0b34f2994877b49b452a707245ab1e9f6afccb" - integrity sha512-s26qdWqke2kjN/wC4dy+IQPBIMWBJlSU/0JZhk30ZDBLelW25rv66yutUWARMigpGPzcXHb+Nac5pNhN/WsARw== - dependencies: - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.4.0" - is-interactive "^1.0.0" - log-symbols "^4.0.0" - mute-stream "0.0.8" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - ora@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/ora/-/ora-5.1.0.tgz#b188cf8cd2d4d9b13fd25383bc3e5cba352c94f8" @@ -11386,7 +12069,7 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -ospath@1.2.2: +ospath@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs= @@ -11406,6 +12089,13 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-limit@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -11529,7 +12219,7 @@ pacote@^11.1.10: ssri "^8.0.0" tar "^6.0.1" -pako@1.0.11, pako@~1.0.5: +pako@1.0.11, pako@^1.0.11, pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== @@ -11550,11 +12240,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parent-require@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parent-require/-/parent-require-1.0.0.tgz#746a167638083a860b0eef6732cb27ed46c32977" - integrity sha1-dGoWdjgIOoYLDu9nMssn7UbDKXc= - parse-asn1@^5.0.0, parse-asn1@^5.1.5: version "5.1.6" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" @@ -11603,19 +12288,17 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse5-htmlparser2-tree-adapter@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz#e8c743d4e92194d5293ecde2b08be31e67461cbc" - integrity sha512-CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw== - dependencies: - parse5 "^5.1.1" +parse-uri@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/parse-uri/-/parse-uri-1.0.3.tgz#f3c24a74907a4e357c1741e96ca9faadecfd6db5" + integrity sha512-upMnGxNcm+45So85HoguwZTVZI9u11i36DdxJfGF2HYWS2eh3TIx7+/tTi7qrEq15qzGkVhsKjesau+kCk48pA== parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== -parse5@5.1.1, parse5@^5.1.1: +parse5@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== @@ -11660,7 +12343,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1, path-is-inside@^1.0.2: +path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= @@ -11704,6 +12387,13 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pathfinding@^0.4.18: + version "0.4.18" + resolved "https://registry.yarnpkg.com/pathfinding/-/pathfinding-0.4.18.tgz#a9990f6fa22b7ef196e5651b049165403a045fe8" + integrity sha1-qZkPb6IrfvGW5WUbBJFlQDoEX+g= + dependencies: + heap "0.2.5" + pbkdf2@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" @@ -11735,15 +12425,15 @@ pg-int8@1.0.1: resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== -pg-pool@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.2.1.tgz#5f4afc0f58063659aeefa952d36af49fa28b30e0" - integrity sha512-BQDPWUeKenVrMMDN9opfns/kZo4lxmSWhIqo+cSAF7+lfi9ZclQbr9vfnlNaPr8wYF3UYjm5X0yPAhbcgqNOdA== +pg-pool@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.2.2.tgz#a560e433443ed4ad946b84d774b3f22452694dff" + integrity sha512-ORJoFxAlmmros8igi608iVEbQNNZlp89diFVx6yV5v+ehmpMY9sK6QgpmgoXbmkNaBAx8cOOZh9g80kJv1ooyA== -pg-protocol@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.3.0.tgz#3c8fb7ca34dbbfcc42776ce34ac5f537d6e34770" - integrity sha512-64/bYByMrhWULUaCd+6/72c9PMWhiVFs3EVxl9Ct6a3v/U8+rKgqP2w+kKg/BIGgMJyB+Bk/eNivT32Al+Jghw== +pg-protocol@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.4.0.tgz#43a71a92f6fe3ac559952555aa3335c8cb4908be" + integrity sha512-El+aXWcwG/8wuFICMQjM5ZSAm6OWiJicFdNYo+VY3QP+8vI4SvLIWVe51PppTzMhikUJR+PsyIFKqfdXPz/yxA== pg-types@^2.1.0: version "2.2.0" @@ -11756,16 +12446,16 @@ pg-types@^2.1.0: postgres-date "~1.0.4" postgres-interval "^1.1.0" -pg@8.4.1: - version "8.4.1" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.4.1.tgz#06cfb6208ae787a869b2f0022da11b90d13d933e" - integrity sha512-NRsH0aGMXmX1z8Dd0iaPCxWUw4ffu+lIAmGm+sTCwuDDWkpEgRCAHZYDwqaNhC5hG5DRMOjSUFasMWhvcmLN1A== +pg@8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.5.1.tgz#34dcb15f6db4a29c702bf5031ef2e1e25a06a120" + integrity sha512-9wm3yX9lCfjvA98ybCyw2pADUivyNWT/yIP4ZcDVpMN0og70BUWYEGXPCTAQdGTAqnytfRADb7NERrY1qxhIqw== dependencies: buffer-writer "2.0.0" packet-reader "1.0.0" pg-connection-string "^2.4.0" - pg-pool "^3.2.1" - pg-protocol "^1.3.0" + pg-pool "^3.2.2" + pg-protocol "^1.4.0" pg-types "^2.1.0" pgpass "1.x" @@ -11776,10 +12466,10 @@ pgpass@1.x: dependencies: split2 "^3.1.1" -phin@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/phin/-/phin-3.5.0.tgz#f223aa26b22bb682b3eaf150ccb66c06998037b0" - integrity sha512-BEJYqD07B5uBFPAzNpLuLh0LzHr4MDLe0Vc6gBYi+PSIL57VbiE/UvkCc86x24pKQn2X2Keg7HTJEDr8BrBCCg== +phin@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/phin/-/phin-3.5.1.tgz#41ce07aa7eb23b1f7ded89fc00a464addddac972" + integrity sha512-jgFO28IaiWAl0xk+zmqVx7neKVokWKU8YTQC5QlB45SZnEE53LH2saqJIcyIV557VX3Gk+TdR4rwWTc3P83DSA== dependencies: centra "^2.4.2" @@ -11832,6 +12522,47 @@ pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" +pixi.js@^6.0.0-rc: + version "6.0.0-rc" + resolved "https://registry.yarnpkg.com/pixi.js/-/pixi.js-6.0.0-rc.tgz#e9adb60484e55c564207e7a22dddf5e4edab02b9" + integrity sha512-zWfEtkNWg7X1zwaK+Es+bvmhTlDLnJOZUD5yPlP4NZVrYPv3sAJyjSyFem0t5ZbXmPHGunduZkF8GSQZ++n4wQ== + dependencies: + "@pixi/accessibility" "6.0.0-rc" + "@pixi/app" "6.0.0-rc" + "@pixi/compressed-textures" "6.0.0-rc" + "@pixi/constants" "6.0.0-rc" + "@pixi/core" "6.0.0-rc" + "@pixi/display" "6.0.0-rc" + "@pixi/extract" "6.0.0-rc" + "@pixi/filter-alpha" "6.0.0-rc" + "@pixi/filter-blur" "6.0.0-rc" + "@pixi/filter-color-matrix" "6.0.0-rc" + "@pixi/filter-displacement" "6.0.0-rc" + "@pixi/filter-fxaa" "6.0.0-rc" + "@pixi/filter-noise" "6.0.0-rc" + "@pixi/graphics" "6.0.0-rc" + "@pixi/interaction" "6.0.0-rc" + "@pixi/loaders" "6.0.0-rc" + "@pixi/math" "6.0.0-rc" + "@pixi/mesh" "6.0.0-rc" + "@pixi/mesh-extras" "6.0.0-rc" + "@pixi/mixin-cache-as-bitmap" "6.0.0-rc" + "@pixi/mixin-get-child-by-name" "6.0.0-rc" + "@pixi/mixin-get-global-position" "6.0.0-rc" + "@pixi/particles" "6.0.0-rc" + "@pixi/polyfill" "6.0.0-rc" + "@pixi/prepare" "6.0.0-rc" + "@pixi/runner" "6.0.0-rc" + "@pixi/settings" "6.0.0-rc" + "@pixi/sprite" "6.0.0-rc" + "@pixi/sprite-animated" "6.0.0-rc" + "@pixi/sprite-tiling" "6.0.0-rc" + "@pixi/spritesheet" "6.0.0-rc" + "@pixi/text" "6.0.0-rc" + "@pixi/text-bitmap" "6.0.0-rc" + "@pixi/ticker" "6.0.0-rc" + "@pixi/utils" "6.0.0-rc" + pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" @@ -11853,10 +12584,10 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -platform@1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.3.tgz#646c77011899870b6a0903e75e997e8e51da7461" - integrity sha1-ZGx3ARiZhwtqCQPnXpl+jlHadGE= +platform@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" + integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== pnp-webpack-plugin@1.6.4: version "1.6.4" @@ -12361,10 +13092,10 @@ postgres-interval@^1.1.0: dependencies: xtend "^4.0.0" -prebuild-install@^5.3.5: - version "5.3.6" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.6.tgz#7c225568d864c71d89d07f8796042733a3f54291" - integrity sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg== +prebuild-install@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.0.0.tgz#669022bcde57c710a869e39c5ca6bf9cd207f316" + integrity sha512-h2ZJ1PXHKWZpp1caLw0oX9sagVpL2YTk+ZwInQbQ3QqNd4J03O6MpFNmMTJlkfgPENWqe5kP0WjQLqz5OjLfsw== dependencies: detect-libc "^1.0.3" expand-template "^2.0.3" @@ -12397,15 +13128,15 @@ prepend-http@^1.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= -prettier@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" - integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== +prettier@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== -pretty-bytes@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" - integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== +pretty-bytes@^5.4.1: + version "5.5.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.5.0.tgz#0cecda50a74a941589498011cf23275aa82b339e" + integrity sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA== pretty-format@^25.2.1, pretty-format@^25.5.0: version "25.5.0" @@ -12417,15 +13148,15 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" -pretty-format@^26.4.2, pretty-format@^26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.5.2.tgz#5d896acfdaa09210683d34b6dc0e6e21423cd3e1" - integrity sha512-VizyV669eqESlkOikKJI8Ryxl/kPpbdLwNdPs2GrbQs18MpySB5S0Yo0N7zkg2xTRiFq4CFw8ct5Vg4a0xP0og== +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== dependencies: - "@jest/types" "^26.5.2" + "@jest/types" "^26.6.2" ansi-regex "^5.0.0" ansi-styles "^4.0.0" - react-is "^16.12.0" + react-is "^17.0.1" process-nextick-args@~2.0.0: version "2.0.1" @@ -12447,6 +13178,11 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +promise-polyfill@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.2.0.tgz#367394726da7561457aba2133c9ceefbd6267da0" + integrity sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g== + promise-retry@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" @@ -12477,7 +13213,26 @@ prop-types@15.7.2, prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" -protobufjs@^6.8.6, protobufjs@^6.9.0: +protobufjs@^6.10.2: + version "6.10.2" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.10.2.tgz#b9cb6bd8ec8f87514592ba3fdfd28e93f33a469b" + integrity sha512-27yj+04uF6ya9l+qfpH187aqEzfCF4+Uit0I9ZBQVqK09hk/SQzKa2MUqUpXaVa7LOFRg1TSSr3lVxGOk6c0SQ== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" "^13.7.0" + long "^4.0.0" + +protobufjs@^6.8.6: version "6.10.1" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.10.1.tgz#e6a484dd8f04b29629e9053344e3970cccf13cd2" integrity sha512-pb8kTchL+1Ceg4lFd5XUpK8PdWacbvV5SK2ULH2ebrYtl4GjJmS24m6CKME67jzV53tbJxHlnNOSqQHbTsR9JQ== @@ -12514,7 +13269,7 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -psl@^1.1.24, psl@^1.1.28: +psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== @@ -12570,7 +13325,7 @@ punycode@1.3.2: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.2.4: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= @@ -12580,15 +13335,16 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.3.1.tgz#324e190d89f25ac33dba539f57b82a18553f8646" - integrity sha512-YTM1RaBeYrj6n7IlRXRYLqJHF+GM7tasbvrNFx6w1S16G76NrPq7oYFKLDO+BQsXNtS8kW2GxWCXjIMPvfDyaQ== +puppeteer@5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.5.0.tgz#331a7edd212ca06b4a556156435f58cbae08af00" + integrity sha512-OM8ZvTXAhfgFA7wBIIGlPQzvyEETzDjeRa4mZRCRHxYL+GNH5WAuYUQdja3rpWZvkX/JKqmuVgbsxDNsDFjMEg== dependencies: debug "^4.1.0" - devtools-protocol "0.0.799653" + devtools-protocol "0.0.818844" extract-zip "^2.0.0" https-proxy-agent "^4.0.0" + node-fetch "^2.6.1" pkg-dir "^4.2.0" progress "^2.0.1" proxy-from-env "^1.0.0" @@ -12640,16 +13396,16 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== -ramda@0.26.1: - version "0.26.1" - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06" - integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ== - ramda@^0.27.1: version "0.27.1" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== +ramda@~0.26.1: + version "0.26.1" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06" + integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -12715,15 +13471,14 @@ react-clientside-effect@^1.2.2: dependencies: "@babel/runtime" "^7.0.0" -react-dom@16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" - integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== +react-dom@17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6" + integrity sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" + scheduler "^0.20.1" react-fast-compare@3.2.0: version "3.2.0" @@ -12752,15 +13507,20 @@ react-is@16.13.1, react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-i resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== + react-map-interaction@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/react-map-interaction/-/react-map-interaction-2.0.0.tgz#093b3843741669b1b306e8cc5ce6725eada24bbc" integrity sha512-9KeyPHd95INODNUsx77/345vxOfN1WOtcjWXdxT92Sw+Y1GldVfmb4HnzNVtWoJg3T0Q1Yt3Sthq9IPN9OYy5w== -react-markdown@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-5.0.1.tgz#ad0bc952f76fa04a08a91a31f66c47311ad78736" - integrity sha512-+Fu+UeIfuwhCvaIPNJfG12b9LZlBxwbj3wHt3pE+znmG/lisDIYcTjLvLE5uwkv1RB7na7uaWrGFNmpSSVBwgg== +react-markdown@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-5.0.3.tgz#41040ea7a9324b564b328fb81dd6c04f2a5373ac" + integrity sha512-jDWOc1AvWn0WahpjW6NK64mtx6cwjM4iSsLHJPNBqoAgGOVoIdJMqaKX4++plhOtdd4JksdqzlDibgPx6B/M2w== dependencies: "@types/mdast" "^3.0.3" "@types/unist" "^2.0.3" @@ -12806,14 +13566,13 @@ react-style-singleton@^2.1.0: invariant "^2.2.4" tslib "^1.0.0" -react@16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" - integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== +react@17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127" + integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.2" read-cache@^1.0.0: version "1.0.0" @@ -12933,11 +13692,6 @@ readdirp@~3.5.0: dependencies: picomatch "^2.2.1" -reflect-metadata@^0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" - integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== - regenerate-unicode-properties@^8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" @@ -13044,7 +13798,7 @@ replace-ext@1.0.0: resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= -request-progress@3.0.0: +request-progress@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" integrity sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4= @@ -13067,32 +13821,6 @@ request-promise-native@^1.0.8: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@2.88.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" @@ -13124,7 +13852,7 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-from-string@^2.0.1: +require-from-string@^2.0.1, require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== @@ -13189,7 +13917,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.17.0, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.16.1, resolve@^1.17.0, resolve@^1.3.2: +resolve@1.17.0, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.16.1, resolve@^1.17.0, resolve@^1.3.2: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -13204,6 +13932,14 @@ resolve@^1.18.1: is-core-module "^2.1.0" path-parse "^1.0.6" +resource-loader@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/resource-loader/-/resource-loader-3.0.1.tgz#33355bb5421e2994f59454bbc7f6dbff8df06d47" + integrity sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA== + dependencies: + mini-signals "^1.2.0" + parse-uri "^1.0.0" + restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -13233,6 +13969,13 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +retry-as-promised@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-3.2.0.tgz#769f63d536bec4783549db0777cb56dadd9d8543" + integrity sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg== + dependencies: + any-promise "^1.3.0" + retry-request@^4.0.0, retry-request@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-4.1.3.tgz#d5f74daf261372cff58d08b0a1979b4d7cab0fde" @@ -13278,13 +14021,6 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -13411,13 +14147,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@6.6.2: - version "6.6.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2" - integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg== - dependencies: - tslib "^1.9.0" - rxjs@6.6.3, rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.4: version "6.6.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" @@ -13501,7 +14230,7 @@ sax@0.5.x: resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1" integrity sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE= -sax@>=0.6.0, sax@~1.2.4: +sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -13513,10 +14242,10 @@ saxes@^5.0.0: dependencies: xmlchars "^2.2.0" -scheduler@^0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" - integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== +scheduler@^0.20.1: + version "0.20.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c" + integrity sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -13585,6 +14314,13 @@ semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +semver@^7.3.4: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -13604,6 +14340,30 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" +sequelize-pool@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-6.1.0.tgz#caaa0c1e324d3c2c3a399fed2c7998970925d668" + integrity sha512-4YwEw3ZgK/tY/so+GfnSgXkdwIJJ1I32uZJztIEgZeAO6HMgj64OzySbWLgxj+tXhZCJnzRfkY9gINw8Ft8ZMg== + +sequelize@6.3.5: + version "6.3.5" + resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-6.3.5.tgz#80e3db7ac8b76d98c45ca93334197eb6e2335158" + integrity sha512-MiwiPkYSA8NWttRKAXdU9h0TxP6HAc1fl7qZmMO/VQqQOND83G4nZLXd0kWILtAoT9cxtZgFqeb/MPYgEeXwsw== + dependencies: + debug "^4.1.1" + dottie "^2.0.0" + inflection "1.12.0" + lodash "^4.17.15" + moment "^2.26.0" + moment-timezone "^0.5.31" + retry-as-promised "^3.2.0" + semver "^7.3.2" + sequelize-pool "^6.0.0" + toposort-class "^1.0.1" + uuid "^8.1.0" + validator "^10.11.0" + wkx "^0.5.0" + serialize-javascript@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" @@ -13671,7 +14431,7 @@ setprototypeof@1.1.1: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== -sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: +sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== @@ -13696,19 +14456,36 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" -sharp@0.26.2: - version "0.26.2" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.26.2.tgz#3d5777d246ae32890afe82a783c1cbb98456a88c" - integrity sha512-bGBPCxRAvdK9bX5HokqEYma4j/Q5+w8Nrmb2/sfgQCLEUx/HblcpmOfp59obL3+knIKnOhyKmDb4tEOhvFlp6Q== +sharp@0.26.3: + version "0.26.3" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.26.3.tgz#9de8577a986b22538e6e12ced1f7e8a53f9728de" + integrity sha512-NdEJ9S6AMr8Px0zgtFo1TJjMK/ROMU92MkDtYn2BBrDjIx3YfH9TUyGdzPC+I/L619GeYQc690Vbaxc5FPCCWg== dependencies: - color "^3.1.2" + array-flatten "^3.0.0" + color "^3.1.3" detect-libc "^1.0.3" node-addon-api "^3.0.2" npmlog "^4.1.2" - prebuild-install "^5.3.5" + prebuild-install "^6.0.0" semver "^7.3.2" simple-get "^4.0.0" - tar-fs "^2.1.0" + tar-fs "^2.1.1" + tunnel-agent "^0.6.0" + +sharp@0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.27.0.tgz#523fba913ba674985dcc688a6a5237384079d80f" + integrity sha512-II+YBCW3JuVWQZdpTEA2IBjJcYXPuoKo3AUqYuW+FK9Um93v2gPE2ihICCsN5nHTUoP8WCjqA83c096e8n//Rw== + dependencies: + array-flatten "^3.0.0" + color "^3.1.3" + detect-libc "^1.0.3" + node-addon-api "^3.1.0" + npmlog "^4.1.2" + prebuild-install "^6.0.0" + semver "^7.3.4" + simple-get "^4.0.0" + tar-fs "^2.1.1" tunnel-agent "^0.6.0" shebang-command@^1.2.0: @@ -13803,14 +14580,14 @@ slice-ansi@0.0.4: resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" smart-buffer@^4.1.0: version "4.1.0" @@ -13929,7 +14706,7 @@ source-map-support@0.5.16: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.5.17, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12: +source-map-support@^0.5.17, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -13954,7 +14731,7 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@0.7.3, source-map@^0.7.3: +source-map@0.7.3, source-map@^0.7.3, source-map@~0.7.2: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== @@ -14438,13 +15215,6 @@ stylus@0.54.5: sax "0.5.x" source-map "0.1.x" -supports-color@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - dependencies: - has-flag "^4.0.0" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -14471,7 +15241,7 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.0.0, supports-color@^7.1.0, supports-color@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -14520,22 +15290,22 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== +table@^6.0.4: + version "6.0.7" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" + integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" + ajv "^7.0.2" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar-fs@^2.0.0, tar-fs@^2.1.0: +tar-fs@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.0.tgz#d1cdd121ab465ee0eb9ccde2d35049d3f3daf0d5" integrity sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg== @@ -14545,6 +15315,16 @@ tar-fs@^2.0.0, tar-fs@^2.1.0: pump "^3.0.0" tar-stream "^2.0.0" +tar-fs@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + tar-stream@^2.0.0: version "2.1.4" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa" @@ -14556,6 +15336,17 @@ tar-stream@^2.0.0: inherits "^2.0.3" readable-stream "^3.1.1" +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + tar@^6.0.1, tar@^6.0.2: version "6.0.5" resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" @@ -14631,14 +15422,14 @@ terser@4.3.8: source-map "~0.6.1" source-map-support "~0.5.12" -terser@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.1.0.tgz#1f4ab81c8619654fdded51f3157b001e1747281d" - integrity sha512-pwC1Jbzahz1ZPU87NQ8B3g5pKbhyJSiHih4gLH6WZiPU8mmS1IlGbB0A2Nuvkj/LCNsgIKctg6GkYwWCeTvXZQ== +terser@5.5.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" + integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== dependencies: commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" + source-map "~0.7.2" + source-map-support "~0.5.19" terser@^4.1.2, terser@^4.6.12, terser@^4.8.0: version "4.8.0" @@ -14663,20 +15454,6 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - throat@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" @@ -14714,9 +15491,9 @@ thunky@^1.0.2: integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" @@ -14742,12 +15519,12 @@ tmp@0.0.33, tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" - integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== +tmp@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== dependencies: - rimraf "^2.6.3" + rimraf "^3.0.0" tmpl@1.0.x: version "1.0.4" @@ -14806,6 +15583,11 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +toposort-class@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988" + integrity sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg= + tough-cookie@^2.3.3, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -14823,14 +15605,6 @@ tough-cookie@^3.0.1: psl "^1.1.28" punycode "^2.1.1" -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" @@ -14860,10 +15634,10 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== -ts-jest@26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.0.tgz#903c7827f3d3bc33efc2f91be294b164400c32e3" - integrity sha512-ofBzoCqf6Nv/PoWb/ByV3VNKy2KJSikamOBxvR3E6eVdIw10GwAXoyvMWXXjZJK2s6S27ZE8fI+JBTnGaovl6Q== +ts-jest@26.4.4: + version "26.4.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.4.tgz#61f13fb21ab400853c532270e52cc0ed7e502c49" + integrity sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg== dependencies: "@types/jest" "26.x" bs-logger "0.x" @@ -15058,28 +15832,6 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typeorm@0.2.28: - version "0.2.28" - resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.2.28.tgz#828df288d01ca75b38e990fa1628a7cd5a29f39f" - integrity sha512-BTtUBGwsFzODvHY+AlWL9pvJ2uEj8qpHwmo03z43RvZkG8BAryQJQ3lZ7HlGvI9IQU8y1IYGWe97HsVr8kXB9g== - dependencies: - "@sqltools/formatter" "1.2.2" - app-root-path "^3.0.0" - buffer "^5.5.0" - chalk "^4.1.0" - cli-highlight "^2.1.4" - debug "^4.1.1" - dotenv "^8.2.0" - glob "^7.1.6" - js-yaml "^3.14.0" - mkdirp "^1.0.4" - reflect-metadata "^0.1.13" - sha.js "^2.4.11" - tslib "^1.13.0" - xml2js "^0.4.23" - yargonaut "^1.1.2" - yargs "^16.0.3" - typescript@4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" @@ -15220,6 +15972,16 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -15238,7 +16000,7 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -untildify@4.0.0: +untildify@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== @@ -15282,7 +16044,7 @@ url-parse@^1.4.3: querystringify "^2.1.1" requires-port "^1.0.0" -url@0.11.0, url@^0.11.0: +url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= @@ -15359,15 +16121,20 @@ uuid@^8.0.0, uuid@^8.3.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== +uuid@^8.1.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + v8-compile-cache@^2.0.3: version "2.1.1" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== -v8-to-istanbul@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-6.0.1.tgz#7ef0e32faa10f841fe4c1b0f8de96ed067c0be1e" - integrity sha512-PzM1WlqquhBvsV+Gco6WSFeg1AGdD53ccMRkFeyHRE/KRZaVacPOmQYP3EeVgDBtKD2BJ8kgynBQ5OtKiHCH+w== +v8-to-istanbul@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" + integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" @@ -15388,6 +16155,11 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" +validator@^10.11.0: + version "10.11.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-10.11.0.tgz#003108ea6e9a9874d31ccc9e5006856ccd76b228" + integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw== + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -15459,10 +16231,29 @@ warning@^4.0.3: dependencies: loose-envify "^1.0.0" -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== +wasm-dce@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wasm-dce/-/wasm-dce-1.0.2.tgz#7e21e566fa17c61e8e257742a377a5bdb8f2e4f5" + integrity sha512-Fq1+nu43ybsjSnBquLrW/cULmKs61qbv9k8ep13QUe0nABBezMoNAA+j6QY66MW0/eoDVDp1rjXDqQ2VKyS/Xg== + dependencies: + "@babel/core" "^7.0.0-beta.39" + "@babel/traverse" "^7.0.0-beta.39" + "@babel/types" "^7.0.0-beta.39" + babylon "^7.0.0-beta.39" + webassembly-interpreter "0.0.30" + +wasm-loader@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/wasm-loader/-/wasm-loader-1.3.0.tgz#a123a6b6c9a9dac60de38449703be3537742e155" + integrity sha512-R4s75XH+o8qM+WaRrAU9S2rbAMDzob18/S3V8R9ZoFpZkPWLAohWWlzWAp1ybeTkOuuku/X1zJtxiV0pBYxZww== + dependencies: + loader-utils "^1.1.0" + wasm-dce "^1.0.0" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== dependencies: chokidar "^2.1.8" @@ -15475,15 +16266,15 @@ watchpack@2.0.0-beta.13: graceful-fs "^4.1.2" watchpack@^1.6.0, watchpack@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" + watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -15499,6 +16290,20 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" +webassembly-floating-point-hex-parser@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/webassembly-floating-point-hex-parser/-/webassembly-floating-point-hex-parser-0.1.2.tgz#85bb01f54e68690c2645ea0cfad26c1110fdf988" + integrity sha512-TUf1H++8U10+stJbFydnvrpG5Sznz5Rilez/oZlV5zI0C/e4cSxd8rALAJ8VpTvjVWxLmL3SVSJUK6Ap9AoiNg== + +webassembly-interpreter@0.0.30: + version "0.0.30" + resolved "https://registry.yarnpkg.com/webassembly-interpreter/-/webassembly-interpreter-0.0.30.tgz#f35aaec0fff2e6fd9ca7277eb1a9059dccedcb7f" + integrity sha512-+Jdy2piEvz9T5j751mOE8+rBO12p+nNW6Fg4kJZ+zP1oUfsm+151sbAbM8AFxWTURmWCGP+r8Lxwfv3pzN1bCQ== + dependencies: + "@babel/code-frame" "^7.0.0-beta.36" + long "^3.2.0" + webassembly-floating-point-hex-parser "0.1.2" + webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -15769,6 +16574,13 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" +wkx@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/wkx/-/wkx-0.5.0.tgz#c6c37019acf40e517cc6b94657a25a3d4aa33e8c" + integrity sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg== + dependencies: + "@types/node" "*" + word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -15821,15 +16633,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -15845,17 +16648,10 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -ws@7.3.1, ws@^7.2.3: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== +ws@7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd" + integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA== ws@^6.2.1: version "6.2.1" @@ -15864,6 +16660,11 @@ ws@^6.2.1: dependencies: async-limiter "~1.0.0" +ws@^7.2.3: + version "7.3.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" + integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== + xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" @@ -15874,31 +16675,11 @@ xml-name-validator@^3.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== -xml2js@^0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" - integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - xmlchars@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xregexp@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" - integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== - dependencies: - "@babel/runtime-corejs3" "^7.8.3" - xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -15916,11 +16697,6 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== -y18n@^5.0.2: - version "5.0.5" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" - integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== - yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -15936,21 +16712,12 @@ yaml@^1.7.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== -yargonaut@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/yargonaut/-/yargonaut-1.1.4.tgz#c64f56432c7465271221f53f5cc517890c3d6e0c" - integrity sha512-rHgFmbgXAAzl+1nngqOcwEljqHGG9uUZoPjsdZEs1w5JW9RXYzrSvH/u70C1JE5qFi0qjsdhnUX/dJRpWqitSA== - dependencies: - chalk "^1.1.1" - figlet "^1.1.1" - parent-require "^1.0.0" - yargs-parser@20.0.0: version "20.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.0.0.tgz#c65a1daaa977ad63cebdd52159147b789a4e19a9" integrity sha512-8eblPHTL7ZWRkyjIZJjnGf+TijiKJSwA24svzLRVvtgoi/RZiKa9fFQTrlx0OKLnyHSdt/enrdadji6WFfESVA== -yargs-parser@20.x, yargs-parser@^20.2.2: +yargs-parser@20.x: version "20.2.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.3.tgz#92419ba867b858c868acf8bae9bf74af0dd0ce26" integrity sha512-emOFRT9WVHw03QSvN5qor9QQT9+sw5vwxfYweivSMHTcAXPefwVae2FjO7JJjj8hCE4CzPOPeFM83VwT29HCww== @@ -15971,7 +16738,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@15.4.1, yargs@^15.0.0, yargs@^15.3.1, yargs@^15.4.1: +yargs@15.4.1, yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== @@ -16004,20 +16771,7 @@ yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" -yargs@^16.0.3: - version "16.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.0.tgz#fc333fe4791660eace5a894b39d42f851cd48f2a" - integrity sha512-upWFJOmDdHN0syLuESuvXDmrRcWd1QafJolHskzaw79uZa7/x53gxQKiR07W59GWY1tFhhU/Th9DrtSfpS782g== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.2" - yargs-parser "^20.2.2" - -yauzl@2.10.0, yauzl@^2.10.0: +yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= @@ -16025,14 +16779,12 @@ yauzl@2.10.0, yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" -yauzl@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" - integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU= - dependencies: - fd-slicer "~1.0.1" - yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==